simply setting is_readable and is_writeable to TRUE does make Gimp
authorHans Breuer <hans@breuer.org>
Sat, 22 Sep 2001 19:40:58 +0000 (19:40 +0000)
committerHans Breuer <hans@src.gnome.org>
Sat, 22 Sep 2001 19:40:58 +0000 (19:40 +0000)
2001-09-22  Hans Breuer  <hans@breuer.org>

* glib/giowin32.c : simply setting is_readable and is_writeable
to TRUE does make Gimp plug-ins work again. Still no API known
to request this info on Win32 (see #57690)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/giowin32.c

index faff35b..7cdcb34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index faff35b..7cdcb34 100644 (file)
@@ -1,9 +1,15 @@
+2001-09-22  Hans Breuer  <hans@breuer.org>
+
+       * glib/giowin32.c : simply setting is_readable and is_writeable
+       to TRUE does make Gimp plug-ins work again. Still no API known
+       to request this info on Win32 (see #57690)
+
 2001-09-21  Hans Breuer  <hans@breuer.org>
 
        * makefile.msc : added rule for glibconfig.h
 
        * glib/giowin32.c (g_io_channel_new_file) : always open
-       in binary mode
+       in binary mode (fix for #57695)
 
        * glib/glib.def : updated externals
 
index 417779c..f00ca4c 100644 (file)
@@ -1337,10 +1337,22 @@ g_io_channel_win32_new_fd (gint fd)
   win32_channel->fd = fd;
 
 
-  channel->is_readable  = !!(st.st_mode & _S_IREAD);
-  channel->is_writeable = !!(st.st_mode & _S_IWRITE);
-  /* XXX: pipes aren't seeakable, are they ? */
-  channel->is_seekable = !(st.st_mode & _S_IFIFO);
+  /* fstat doesn't deliver senseful values, but
+   * fcntl isn't available, so guess ...
+   */
+  if (st.st_mode & _S_IFIFO)
+    {
+      channel->is_readable  = TRUE;
+      channel->is_writeable = TRUE;
+      channel->is_seekable  = FALSE;
+    }
+  else
+    {
+      channel->is_readable  = !!(st.st_mode & _S_IREAD);
+      channel->is_writeable = !!(st.st_mode & _S_IWRITE);
+      /* XXX: pipes aren't seeakable, are they ? */
+      channel->is_seekable = !(st.st_mode & _S_IFIFO);
+    }
 
   return channel;
 }