date and time created 81/02/18 22:10:01 by dlw
authorDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Thu, 19 Feb 1981 14:10:01 +0000 (06:10 -0800)
committerDavid Wasley <dlw@ucbvax.Berkeley.EDU>
Thu, 19 Feb 1981 14:10:01 +0000 (06:10 -0800)
SCCS-vsn: usr.bin/f77/libU77/getenv_.c 1.1

usr/src/usr.bin/f77/libU77/getenv_.c [new file with mode: 0644]

diff --git a/usr/src/usr.bin/f77/libU77/getenv_.c b/usr/src/usr.bin/f77/libU77/getenv_.c
new file mode 100644 (file)
index 0000000..bf73c2a
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+char id_getenv[] = "@(#)getenv_.c      1.1";
+ *
+ * return environment variables
+ *
+ * calling sequence:
+ *     character*20 evar
+ *     call getenv (ENV_NAME, evar)
+ * where:
+ *     ENV_NAME is the name of an environment variable
+ *     evar is a character variable which will receive
+ *             the current value of ENV_NAME,
+ *             or all blanks if ENV_NAME is not defined
+ */
+
+extern char **environ;
+
+getenv_(fname, value, flen, vlen)
+char *value, *fname;
+long int vlen, flen;
+{
+       register char *ep, *fp;
+       register char **env = environ;
+       int i;
+
+       while (ep = *env++) {
+               for (fp=fname, i=0; i <= flen; i++) {
+                       if (i == flen || *fp == ' ') {
+                               if (*ep++ == '=') {
+                                       b_char(ep, value, vlen);
+                                       return(0);
+                               }
+                               else break;
+                       }
+                       else if (*ep++ != *fp++) break;
+               }
+       }
+       b_char(" ", value, vlen);
+       return(0);
+}