int main( int argc, char *argv[] ) { GOptionContext *context; GOptionGroup *main_group; GError *error = NULL; if( VIPS_INIT( argv[0] ) ) vips_error_exit( "unable to start VIPS" ); textdomain( GETTEXT_PACKAGE ); setlocale( LC_ALL, "" ); context = g_option_context_new( _( "- introspect" ) ); main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL ); g_option_group_add_entries( main_group, main_option ); vips_add_option_entries( main_group ); g_option_group_set_translation_domain( main_group, GETTEXT_PACKAGE ); g_option_context_set_main_group( context, main_group ); if( !g_option_context_parse( context, &argc, &argv, &error ) ) { if( error ) { fprintf( stderr, "%s\n", error->message ); g_error_free( error ); } vips_error_exit( "try \"%s --help\"", g_get_prgname() ); } g_option_context_free( context ); #ifdef DEBUG /* For debugging it's handy to have a copy of the input file. */ if( main_option_introspect_dump ) { char **args; char *cmd; args = g_strsplit( main_option_introspect_dump, ",", 2 ); cmd = g_strdup_printf( "cp %s ~/functions.txt", args[0]); printf( "introspect: running '%s'\n", cmd ); system( cmd ); g_free( cmd ); } #endif /*DEBUG*/ if( main_option_introspect_dump && !g_irepository_dump( main_option_introspect_dump, &error ) ) { if( error ) { fprintf( stderr, "%s\n", error->message ); g_error_free( error ); } vips_error_exit( "unable to dump introspection" ); } vips_shutdown(); return( 0 ); }
int main(int argc, char **argv) { const char *prefix = "--introspect-dump="; GError *error = NULL; if (!(argc == 2 && g_str_has_prefix (argv[1], prefix))) { g_printerr ("usage: barapp --introspect-dump=types.txt,out.xml\\n"); return 1; } if (!g_irepository_dump (argv[1] + strlen (prefix), &error)) { g_printerr ("%s\n", error->message); return 1; } return 0; }