aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibc/getlin.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 /unix/boot/spp/rpp/ratlibc/getlin.c
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/boot/spp/rpp/ratlibc/getlin.c')
-rw-r--r--unix/boot/spp/rpp/ratlibc/getlin.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/unix/boot/spp/rpp/ratlibc/getlin.c b/unix/boot/spp/rpp/ratlibc/getlin.c
new file mode 100644
index 00000000..1949f9cd
--- /dev/null
+++ b/unix/boot/spp/rpp/ratlibc/getlin.c
@@ -0,0 +1,32 @@
+/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+ */
+
+#include "ratdef.h"
+
+FINT
+GETLIN(line, fd)
+RCHAR *line;
+FINT *fd;
+{
+ register int c=0;
+ register int count=0;
+ register RCHAR *cs;
+ FILE *fp;
+
+ fp = _fdtofile[*fd];
+ cs = line;
+ while (++count<MAXLINE && (c = getc(fp))>=0) {
+ *cs++ = c;
+ if (c == '\n') {
+ *cs++ = REOS;
+ return (count); /* count includes newline, but does
+ not include the EOS */
+ }
+ }
+
+ if (c<0 && cs==line)
+ return(REOF);
+
+ *cs++ = REOS;
+ return(count);
+}