From 7d11ed4cba1ec811dbfb37c0016b179387ffe86c Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 13 Feb 2007 20:20:10 +0000 Subject: [PATCH] Handle "/dev/stdin" by dup()ing fd 0 so that it works on Win32 and other 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) svn path=/branches/glib-2-12/; revision=5336 --- gobject/ChangeLog | 6 ++++++ gobject/glib-genmarshal.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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) {