summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/icon/files')
-rw-r--r--dev-lang/icon/files/icon-9.5.1-fpoll.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-lang/icon/files/icon-9.5.1-fpoll.patch b/dev-lang/icon/files/icon-9.5.1-fpoll.patch
new file mode 100644
index 00000000000..d2a4d5f33d2
--- /dev/null
+++ b/dev-lang/icon/files/icon-9.5.1-fpoll.patch
@@ -0,0 +1,27 @@
+diff --git a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c
+index 9230e18..33b8121 100644
+--- a/ipl/cfuncs/fpoll.c
++++ b/ipl/cfuncs/fpoll.c
+@@ -60,12 +60,9 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */
+
+ /* check for data already in buffer */
+ /* there's no legal way to do this in C; we cheat */
+-#if defined(__GLIBC__) && defined(_STDIO_USES_IOSTREAM) /* new GCC library */
++#if defined(__GLIBC__) /* New GCC library */
+ if (f->_IO_read_ptr < f->_IO_read_end)
+ RetArg(1);
+-#elif defined(__GLIBC__) /* old GCC library */
+- if (f->__bufp < f->__get_limit)
+- RetArg(1);
+ #elif defined(_FSTDIO) /* new BSD library */
+ if (f->_r > 0)
+ RetArg(1);
+@@ -92,7 +89,7 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */
+
+ if (r > 0)
+ RetArg(1); /* success */
+- else if (r == 0)
++ else if (r == 0)
+ Fail; /* timeout */
+ else
+ ArgError(1, 214); /* I/O error */