aboutsummaryrefslogtreecommitdiff
path: root/sys/libc/ungetc.c
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /sys/libc/ungetc.c
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/libc/ungetc.c')
-rw-r--r--sys/libc/ungetc.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/libc/ungetc.c b/sys/libc/ungetc.c
new file mode 100644
index 00000000..2773f4e1
--- /dev/null
+++ b/sys/libc/ungetc.c
@@ -0,0 +1,29 @@
+/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+*/
+
+#define import_spp
+#define import_libc
+#define import_xnames
+#define import_stdio
+#include <iraf.h>
+
+
+/* UNGETC -- Push a character back into the input stream. Pushback is last
+** in first out, i.e., the last character pushed back is the first one
+** read by GETC. Characters (and strings) may be pushed back until the
+** FIO pushback buffer overflows.
+*/
+int
+ungetc (
+ int ch,
+ FILE *fp
+)
+{
+ XINT x_fd = fileno(fp);
+ XCHAR x_ch = ch;
+
+ iferr (UNGETC (&x_fd, &x_ch))
+ return (EOF);
+ else
+ return (ch);
+}