aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibc/open.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/open.c
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/boot/spp/rpp/ratlibc/open.c')
-rw-r--r--unix/boot/spp/rpp/ratlibc/open.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/unix/boot/spp/rpp/ratlibc/open.c b/unix/boot/spp/rpp/ratlibc/open.c
new file mode 100644
index 00000000..fa4558d9
--- /dev/null
+++ b/unix/boot/spp/rpp/ratlibc/open.c
@@ -0,0 +1,30 @@
+/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+ */
+
+#include "ratdef.h"
+
+extern void r4tocstr (register RCHAR *rstr, register char *cstr);
+
+FINT
+OPEN(rname, mode)
+RCHAR *rname;
+register FINT *mode;
+{
+ register FILE *fp;
+ char cname[FILENAMESIZE];
+
+ r4tocstr(rname, cname);
+
+ if (*mode == APPEND)
+ fp = fopen(cname, "a");
+ else if (*mode == READWRITE || *mode == WRITE)
+ fp = fopen(cname, "w");
+ else
+ fp = fopen(cname, "r");
+
+ if (fp == NULL)
+ return(RERR); /* unable to open file */
+
+ _fdtofile[fileno(fp)] = fp;
+ return(fileno(fp));
+}