* Boston, MA 02111-1307, USA.
*/
-#include <config.h>
+#include "config.h"
#include "gdk-pixbuf-private.h"
-#include <glib/gprintf.h>
+#include <glib/gstdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
usage ();
}
- outfile = fopen (argv[i], "w");
+#ifdef G_OS_WIN32
+ outfilename = g_locale_to_utf8 (argv[i], -1, NULL, NULL, NULL)
+#else
+ outfilename = argv[i];
+#endif
+
+ outfile = g_fopen (outfilename, "w");
if (outfile == NULL)
{
g_fprintf (stderr, "Failed to open output file `%s': %s\n",
- argv[i], strerror (errno));
+ argv[i], strerror (errno));
exit (1);
}
- outfilename = argv[i];
++i;
fputs ("/* This file was automatically generated by the make-inline-pixbuf program.\n"
while (i < argc)
{
- GdkPixbuf *pixbuf;
+ GdkPixbuf *pixbuf = NULL;
GError *error;
-
+ gchar *infilename;
+
g_assert ((i + 1) < argc);
error = NULL;
- pixbuf = gdk_pixbuf_new_from_file (argv[i+1], &error);
+#ifdef G_OS_WIN32
+ infilename = g_locale_to_utf8 (argv[i+1], -1, NULL, NULL, &error);
+#else
+ infilename = argv[i+1];
+#endif
+ if (infilename)
+ pixbuf = gdk_pixbuf_new_from_file (infilename, &error);
if (pixbuf == NULL)
{
g_fprintf (stderr, "%s\n", error->message);
fclose (outfile);
- remove (outfilename);
+ g_remove (outfilename);
exit (1);
}