int main (int argc, char *argv[]) { GdkPixbuf *pixbuf; GError *error = NULL; gchar *infilename; /* parse args and do fast exits */ parse_args (&argc, &argv); if (!build_list) { if (argc != 2) { print_blurb (stderr, TRUE); return 1; } #ifdef G_OS_WIN32 infilename = g_locale_to_utf8 (argv[1], -1, NULL, NULL, NULL); #else infilename = argv[1]; #endif pixbuf = gdk_pixbuf_new_from_file (infilename, &error); if (!pixbuf) { g_fprintf (stderr, "failed to load \"%s\": %s\n", argv[1], error->message); g_error_free (error); return 1; } print_csource (stdout, pixbuf); g_object_unref (pixbuf); } else /* parse name, file pairs */ { gchar **p = argv + 1; guint j = argc - 1; gboolean toggle = FALSE; while (j--) { #ifdef G_OS_WIN32 infilename = g_locale_to_utf8 (*p, -1, NULL, NULL, NULL); #else infilename = *p; #endif if (!toggle) { image_name = infilename; p++; } else { pixbuf = gdk_pixbuf_new_from_file (infilename, &error); if (!pixbuf) { g_fprintf (stderr, "failed to load \"%s\": %s\n", *p, error->message); g_error_free (error); return 1; } print_csource (stdout, pixbuf); g_object_unref (pixbuf); p++; } toggle = !toggle; } } return 0; }
int main (int argc, char **argv) { gboolean toggle = FALSE; GError *error = NULL; gchar **p; gchar *filename; gchar *data; gsize length; gint n; bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); #ifdef HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); #endif textdomain (GETTEXT_PACKAGE); setlocale (LC_ALL, NULL); /* set program name */ g_set_prgname (g_path_get_basename (argv[0])); /* parse command line arguments */ parse_args (&argc, &argv); if (!gen_buildlist) { if (G_UNLIKELY (argc != 2)) { print_usage (); return EXIT_FAILURE; } #ifdef G_OS_WIN32 filename = g_local_to_utf8 (argv[1], -1, NULL, NULL, NULL); #else filename = argv[1]; #endif if (!g_file_get_contents (filename, &data, &length, &error)) { g_fprintf (stderr, "%s: Failed to load \"%s\": %s\n", g_get_prgname (), filename, error->message); g_error_free (error); return EXIT_FAILURE; } print_csource (stdout, data, length, filename); g_free (data); } else { for (n = argc - 1, p = argv + 1; n-- > 0; ++p, toggle = !toggle) { #ifdef G_OS_WIN32 filename = g_local_to_utf8 (*p, -1, NULL, NULL, NULL); #else filename = *p; #endif if (!toggle) { gen_varname = filename; } else { if (!g_file_get_contents (filename, &data, &length, &error)) { g_fprintf (stderr, "%s: Failed to load \"%s\": %s\n", g_get_prgname (), filename, error->message); g_error_free (error); return EXIT_FAILURE; } print_csource (stdout, data, length, filename); g_free (data); } } } return EXIT_SUCCESS; }