diff --git a/gobject/ChangeLog b/gobject/ChangeLog index c710e3473..3be5ede0e 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,9 @@ +2007-02-13 Tor Lillqvist + + * glib-genmarshal.c (main): Handle "/dev/stdin" by dup()ing fd 0 + so that it works on Win32 and other systems without + /dev/stdin. (#407431) + 2007-01-16 Matthias Clasen * === Released 2.12.9 === diff --git a/gobject/glib-genmarshal.c b/gobject/glib-genmarshal.c index 102be1809..6e61e2f5a 100644 --- a/gobject/glib-genmarshal.c +++ b/gobject/glib-genmarshal.c @@ -652,7 +652,13 @@ main (int argc, for (slist = files; slist; slist = slist->next) { gchar *file = slist->data; - gint fd = open (file, O_RDONLY); + gint fd; + + if (strcmp (file, "/dev/stdin") == 0) + /* Mostly for Win32. This is equivalent to opening /dev/stdin */ + fd = dup (0); + else + fd = open (file, O_RDONLY); if (fd < 0) {