aboutsummaryrefslogtreecommitdiff
path: root/unix/os/zfmkdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'unix/os/zfmkdr.c')
-rw-r--r--unix/os/zfmkdr.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/unix/os/zfmkdr.c b/unix/os/zfmkdr.c
new file mode 100644
index 00000000..bc2cc424
--- /dev/null
+++ b/unix/os/zfmkdr.c
@@ -0,0 +1,44 @@
+/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+ */
+
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <stdio.h>
+#define import_kernel
+#define import_knames
+#define import_spp
+#include <iraf.h>
+
+/* ZFMKDR -- Create a new directory.
+ */
+int
+ZFMKDR (
+ PKCHAR *newdir,
+ XINT *status
+)
+{
+ char osdir[SZ_PATHNAME];
+ register char *ip, *op;
+
+ extern int _u_fmode();
+
+
+ /* Change pathnames like "a/b/c/" to "a/b/c". Probably not necessary,
+ * but...
+ */
+ for (ip=(char *)newdir, op=osdir; (*op = *ip++) != EOS; op++)
+ ;
+ if (*--op == '/')
+ *op = EOS;
+
+ if (mkdir (osdir, _u_fmode(0777)) == ERR)
+ *status = XERR;
+ else {
+ if (strncmp (osdir, "/tmp", 4) == 0)
+ chmod (osdir, _u_fmode(0777));
+ *status = XOK;
+ }
+
+ return (*status);
+}