mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-27 22:46:15 +01:00
[girepository] Fix up error printing
We didn't show the right error message if we failed to find the symbol; fix this by removing error printing from the middle of the dumper, and add it correctly to the toplevel dump entry point.
This commit is contained in:
parent
f552f46f88
commit
9b1bb64e83
12
gdump.c
12
gdump.c
@ -68,6 +68,7 @@ static GType
|
|||||||
invoke_get_type (GModule *self, const char *symbol, GError **error)
|
invoke_get_type (GModule *self, const char *symbol, GError **error)
|
||||||
{
|
{
|
||||||
GetTypeFunc sym;
|
GetTypeFunc sym;
|
||||||
|
GType ret;
|
||||||
|
|
||||||
if (!g_module_symbol (self, symbol, (void**)&sym))
|
if (!g_module_symbol (self, symbol, (void**)&sym))
|
||||||
{
|
{
|
||||||
@ -78,7 +79,15 @@ invoke_get_type (GModule *self, const char *symbol, GError **error)
|
|||||||
return G_TYPE_INVALID;
|
return G_TYPE_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sym ();
|
ret = sym ();
|
||||||
|
if (ret == G_TYPE_INVALID)
|
||||||
|
{
|
||||||
|
g_set_error (error,
|
||||||
|
G_IO_ERROR,
|
||||||
|
G_IO_ERROR_FAILED,
|
||||||
|
"Function '%s' returned G_TYPE_INVALID", symbol);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -429,7 +438,6 @@ g_irepository_dump (const char *arg, GError **error)
|
|||||||
|
|
||||||
if (type == G_TYPE_INVALID)
|
if (type == G_TYPE_INVALID)
|
||||||
{
|
{
|
||||||
g_printerr ("Invalid GType: '%s'\n", line);
|
|
||||||
caught_error = TRUE;
|
caught_error = TRUE;
|
||||||
g_free (line);
|
g_free (line);
|
||||||
break;
|
break;
|
||||||
|
@ -1378,8 +1378,15 @@ g_irepository_introspect_cb (const char *option_name,
|
|||||||
gpointer data,
|
gpointer data,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean ret = g_irepository_dump (value, error);
|
GError *tmp_error = NULL;
|
||||||
exit (ret ? 0 : 1);
|
gboolean ret = g_irepository_dump (value, &tmp_error);
|
||||||
|
if (!ret)
|
||||||
|
{
|
||||||
|
g_error ("Failed to extract GType data: %s",
|
||||||
|
tmp_error->message);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const GOptionEntry introspection_args[] = {
|
static const GOptionEntry introspection_args[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user