about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-02-28 04:36:33 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-02-28 04:36:33 +0000
commit8b04f597c489d0805f7d9bfa689076ce98b15e6a (patch)
tree9fece329213123ae5f5550b4580526fc3a830f4e
parent057736f440786917e24e6ff22b05d4dabf86738c (diff)
downloadzsh-8b04f597c489d0805f7d9bfa689076ce98b15e6a.tar.gz
zsh-8b04f597c489d0805f7d9bfa689076ce98b15e6a.tar.xz
zsh-8b04f597c489d0805f7d9bfa689076ce98b15e6a.zip
zsh-workers/9889
-rw-r--r--Src/exec.c4
-rw-r--r--Src/prototypes.h2
-rw-r--r--acconfig.h3
-rw-r--r--configure.in15
4 files changed, 19 insertions, 5 deletions
diff --git a/Src/exec.c b/Src/exec.c
index e4d1be03d..fcf00f28e 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1278,7 +1278,7 @@ untokenize(char *s)
     }
 }
 
-/* Open a file for writing redicection */
+/* Open a file for writing redirection */
 
 /**/
 static int
@@ -2311,8 +2311,8 @@ execcmd(Estate state, int input, int output, int how, int last1)
     if (xtrerr != stderr) {
 	fil = fileno(xtrerr);
 	fclose(xtrerr);
-	zclose(fil);
 	xtrerr = stderr;
+	zclose(fil);
     }
 }
 
diff --git a/Src/prototypes.h b/Src/prototypes.h
index 1754c9b96..3b438ebed 100644
--- a/Src/prototypes.h
+++ b/Src/prototypes.h
@@ -66,7 +66,9 @@ char *mktemp _((char *));
 # ifndef HAVE_IOCTL_PROTO
 int ioctl _((int d, unsigned long request, void *argp));
 # endif
+# ifndef HAVE_MKNOD_PROTO
 int mknod _((const char *pathname, int mode, dev_t device));
+# endif
 int nice _((int increment));
 int select _((int nfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval *timeout));
 #endif
diff --git a/acconfig.h b/acconfig.h
index 453ca1fa4..715d45c28 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -207,6 +207,9 @@
 /* Define to 1 if there is a prototype defined for ioctl() on your system */
 #undef HAVE_IOCTL_PROTO
 
+/* Define to 1 if there is a prototype defined for mknod() on your system */
+#undef HAVE_MKNOD_PROTO
+
 /* Define to 1 if select() is defined in <sys/socket.h>, ie BeOS R4.51*/
 #undef SELECT_IN_SYS_SOCKET_H
 
diff --git a/configure.in b/configure.in
index 9937383f7..502acffc5 100644
--- a/configure.in
+++ b/configure.in
@@ -1086,9 +1086,9 @@ if test $zsh_cv_header_unistd_h_sbrk_proto = yes; then
   AC_DEFINE(HAVE_SBRK_PROTO)
 fi
 
-dnl ------------------------
-dnl ioctl prototypes for OSF
-dnl ------------------------
+dnl ----------------------------------
+dnl ioctl and mknod prototypes for OSF
+dnl ----------------------------------
 
 if test "$ac_cv_prog_cc_stdc" != no; then
   AC_CACHE_CHECK(for ioctl prototype in <sys/ioctl.h>,
@@ -1100,6 +1100,15 @@ if test "$ac_cv_prog_cc_stdc" != no; then
   if test $zsh_cv_header_sys_ioctl_h_ioctl_proto = yes; then
     AC_DEFINE(HAVE_IOCTL_PROTO)
   fi
+  AC_CACHE_CHECK(for mknod prototype in <sys/stat.h>,
+  zsh_cv_header_sys_stat_h_mknod_proto,
+  [AC_TRY_COMPILE([#include <sys/stat.h>
+   int mknod(double x);], [int i;],
+  zsh_cv_header_sys_stat_h_mknod_proto=no,
+  zsh_cv_header_sys_stat_h_mknod_proto=yes)])
+  if test $zsh_cv_header_sys_stat_h_mknod_proto = yes; then
+    AC_DEFINE(HAVE_MKNOD_PROTO)
+  fi
 fi
 
 dnl -------------------