diff --git a/gdump.c b/gdump.c index aab067b6f..c237a81ef 100644 --- a/gdump.c +++ b/gdump.c @@ -431,6 +431,8 @@ dump_error_quark (GQuark quark, const char *symbol, GOutputStream *out) */ #ifndef G_IREPOSITORY_COMPILATION static gboolean +dump_irepository (const char *arg, GError **error) G_GNUC_UNUSED; +static gboolean dump_irepository (const char *arg, GError **error) #else gboolean diff --git a/gi-dump-types.c b/gi-dump-types.c new file mode 100644 index 000000000..eacf8a01d --- /dev/null +++ b/gi-dump-types.c @@ -0,0 +1,34 @@ +#include "gdump.c" +#include + +int +main (int argc, + char **argv) +{ + int i; + GOutputStream *stdout; + GModule *self; + + g_type_init (); + + stdout = g_unix_output_stream_new (1, FALSE); + + self = g_module_open (NULL, 0); + + for (i = 1; i < argc; i++) + { + GError *error = NULL; + GType type; + + type = invoke_get_type (self, argv[i], &error); + if (!type) + { + g_printerr ("%s\n", error->message); + g_clear_error (&error); + } + else + dump_type (type, argv[i], stdout); + } + + return 0; +}