Beispiel #1
0
GError *
oio_error_debug (GQuark gq, int code, const char *fmt, ...)
{
	void *frames[STACK_MAX];
	int nbframes = backtrace(frames, STACK_MAX);

	GString *gs = g_string_new("");
	char **strv = backtrace_symbols (frames, nbframes);
	if (strv) {
		for (int i=1; i<nbframes ;i++) {
			if (gs->len)
				g_string_append (gs, ",");
			char *s, *start = strv[i];
			if (NULL != (s = strchr(start, '(')))
				start = s+1;
			if (NULL != (s = strchr(start, '+')))
				*s = 0;
			if (NULL != (s = strchr(start, ')')))
				*s = 0;
			g_string_append (gs, start);
		}
		free (strv);
	}

	va_list args;
	va_start (args, fmt);
	GError *err = g_error_new_valist (gq, code, fmt, args);
	va_end (args);

	g_prefix_error (&err, "[%s] ", gs->str);
	g_string_free (gs, TRUE);
	return err;
}
Beispiel #2
0
static void parser_error(GError **error, const char *fmt, ...)
{
	va_list args;

	if (!error)
		return;
	va_start(args, fmt);
	*error = g_error_new_valist(g_quark_from_string("subsurface"), DIVE_ERROR_PARSE, fmt, args);
	va_end(args);
}
Beispiel #3
0
static inline void fill_error(GError ** error, const gchar * fmt, ...)
{
    if (error == NULL) {
        return;
    }
    va_list vl;
    va_start(vl, fmt);
    *error = g_error_new_valist(1, 1, fmt, vl);
    va_end(vl);
}
static GError *error(const char *fmt, ...)
{
	va_list args;
	GError *error;

	va_start(args, fmt);
	error = g_error_new_valist(
		g_quark_from_string("subsurface"),
		DIVE_ERROR_PARSE, fmt, args);
	va_end(args);
	return error;
}
Beispiel #5
0
void gfio_report_error(struct gui_entry *ge, const char *format, ...)
{
	va_list args;
	GError *error;

	va_start(args, format);
	error = g_error_new_valist(g_quark_from_string("fio"), 1, format, args);
	va_end(args);

	report_error(ge, error);
	g_error_free(error);
}
Beispiel #6
0
Datei: util.c Projekt: JBurant/mc
void
mc_propagate_error (GError ** dest, int code, const char *format, ...)
{
    if (dest != NULL && *dest == NULL)
    {
        GError *tmp_error;
        va_list args;

        va_start (args, format);
        tmp_error = g_error_new_valist (MC_ERROR, code, format, args);
        va_end (args);

        g_propagate_error (dest, tmp_error);
    }
}
Beispiel #7
0
void
fb_mqtt_error(FbMqtt *mqtt, FbMqttError error, const gchar *format, ...)
{
	GError *err;
	va_list ap;

	g_return_if_fail(FB_IS_MQTT(mqtt));

	va_start(ap, format);
	err = g_error_new_valist(FB_MQTT_ERROR, error, format, ap);
	va_end(ap);

	g_signal_emit_by_name(mqtt, "error", err);
	g_error_free(err);
}
static void
gabble_server_sasl_channel_raise (DBusGMethodInvocation *context,
    TpError code,
    const gchar *message,
    ...)
{
  va_list ap;
  GError *error = NULL;

  va_start (ap, message);
  error = g_error_new_valist (TP_ERRORS, code, message, ap);
  va_end (ap);

  dbus_g_method_return_error (context, error);
  g_error_free (error);
}
Beispiel #9
0
static void mbpi_g_set_error(GMarkupParseContext *context, GError **error,
				GQuark domain, gint code, const gchar *fmt, ...)
{
	va_list ap;
	gint line_number, char_number;

	g_markup_parse_context_get_position(context, &line_number,
						&char_number);
	va_start(ap, fmt);

	*error = g_error_new_valist(domain, code, fmt, ap);

	va_end(ap);

	g_prefix_error(error, "%s:%d ", MBPI_DATABASE, line_number);
}
Beispiel #10
0
void
_gtk_css_parser_error_full (GtkCssParser        *parser,
                            GtkCssProviderError  code,
                            const char          *format,
                            ...)
{
  GError *error;

  va_list args;

  va_start (args, format);
  error = g_error_new_valist (GTK_CSS_PROVIDER_ERROR,
                              code, format, args);
  va_end (args);

  _gtk_css_parser_take_error (parser, error);
}
Beispiel #11
0
/**
 * g_error_new:
 * @domain: error domain
 * @code: error code
 * @format: printf()-style format for error message
 * @...: parameters for message format
 *
 * Creates a new #GError with the given @domain and @code,
 * and a message formatted with @format.
 *
 * Return value: a new #GError
 */
GError*
g_error_new (GQuark       domain,
             gint         code,
             const gchar *format,
             ...)
{
  GError* error;
  va_list args;

  g_return_val_if_fail (format != NULL, NULL);
  g_return_val_if_fail (domain != 0, NULL);

  va_start (args, format);
  error = g_error_new_valist (domain, code, format, args);
  va_end (args);

  return error;
}
Beispiel #12
0
void
g_set_error (GError     **err,
             GQuark       domain,
             gint         code,
             const gchar *format,
             ...)
{
  va_list args;

  if (err == NULL)
    return;

  if (*err != NULL)
    g_warning ("GError set over the top of a previous GError or uninitialized memory.\n"
               "This indicates a bug in someone's code. You must ensure an error is NULL before it's set.");
  
  va_start (args, format);
  *err = g_error_new_valist (domain, code, format, args);
  va_end (args);
}