userv (0.55.2); urgency=low
+ * Added info about WWW page, mailing lists and bug reporting to README.
+
* clean targets except realclean don't remove spec.html, spec.ps,
lexer.[lc], tokens.h, overview.ps. New totalclean target for
removing configure and config.h.in.
-
- --
+
+ * Added <sys/types.h> and <errno.h> to lexer.l.m4.
+ * <sys/wait.h> instead of <wait.h>; %d instead of %ld for WEXITSTATUS
+ in overlord.c; PIPEMAXLEN etc. #defines include cast to int to avoid
+ problems with sizeof and size_t; EPROTO missing workaround.
+ * Note about SIG_IGN and `function declaration isn't a prototype' added
+ to INSTALL file in new PROBLEMS section.
+
+ -- Ian Jackson <ian@davenant.greenend.org.uk> Sun, 5 Oct 1997 17:55:32 +0100
userv (0.55.1); urgency=low
have been called (but syslog will not necessarily have been called).
We assume that strerror is completely reentrant.
+
+PROBLEMS
+
+* `function declaration isn't a prototype'
+
+ One some systems (at least some versions of NetBSD, for example),
+ the SIG_IGN and SIG_DFL macros contain function declarations (as part
+ of a typecast, presumably) which are not prototypes. The warning
+ options that are used by default if the configure script detects that
+ you're using a good GCC then cause the compilation to fail. You must
+ use
+ make CFLAGS=-O2
+ instead of just `make', thus suppressing warnings.
+
+ The bug is actually in your system header files, for not specifying
+ the number and types of arguments to signal handler functions when
+ they cast in the SIG_IGN and SIG_DFL macros.
For usage documentation and discussion see the manual in spec.*
(various formats via Debiandoc-SGML in spec.sgml).
+The WWW page is <URL:http://www.chiark.greenend.org.uk/~ian/userv/>.
+There are two mailing lists: userv-discuss and userv-announce; both
+are managed by majordomo@chiark.greenend.org.uk. Send majordomo the
+word `help' for instructions on how to subscribe and unsubscribe.
+
+Please send bug reports and suggestions to
+userv-maint@chiark.greenend.org.uk, or to the userv-discuss mailing
+list if you are subscribed to it.
+
userv is Copyright (C)1996-7 Ian Jackson <ian@chiark.greenend.org.uk>.
userv is free software; you can redistribute it and/or modify it under
* Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+/* Define if EPROTO exists. */
+#undef HAVE_EPROTO
+
/* Define if function attributes a la GCC 2.5 and higher are available. */
#undef HAVE_GNUC25_ATTRIB
@BOTTOM@
+/* EPROTO */
+#ifndef HAVE_EPROTO
+#define EPROTO 0
+#endif
+
/* GNU C attributes. */
#ifndef FUNCATTR
#ifdef HAVE_GNUC25_ATTRIB
#ifndef PIPEFORMAT
# define PIPEFORMAT "%lx.%lx.%x"
# define PIPEPATTERN "[0-9a-f]*.[0-9a-f]*.*[0-9a-f]"
-# define PIPEFORMATEXTEND (sizeof(unsigned long)*2*2+sizeof(int)*2+3)
-# define PIPEMAXLEN (sizeof(PIPEFORMAT)+PIPEFORMATEXTEND)
+# define PIPEFORMATEXTEND ((int)(sizeof(unsigned long)*2*2+(int)sizeof(int)*2+3))
+# define PIPEMAXLEN ((int)(sizeof(PIPEFORMAT)+PIPEFORMATEXTEND))
#endif
#ifndef PIPEPATHFORMAT
# define PIPEPATHFORMAT VARDIR "/" PIPEFORMAT
-# define PIPEPATHMAXLEN (sizeof(PIPEPATHFORMAT)+PIPEFORMATEXTEND)
+# define PIPEPATHMAXLEN ((int)(sizeof(PIPEPATHFORMAT)+PIPEFORMATEXTEND))
#endif
#define MAX_ALLOW_FD 1024
])
AC_PROG_CC
+AC_PROG_CPP
AC_PROG_INSTALL
+AC_CACHE_CHECK(for EPROTO,userv_cv_hdr_eproto,
+ AC_EGREP_CPP(yes,
+[
+#include <errno.h>
+#ifdef EPROTO
+ yes
+#endif
+],userv_cv_hdr_eproto=yes,userv_cv_hdr_eproto=no))
+if test $userv_cv_hdr_eproto = yes
+then
+ AC_DEFINE(HAVE_EPROTO)
+fi
+
AC_SUBST(OPTIMISE)
if test "${GCC-no}" = yes; then
OPTIMISE=-O2
#include <fnmatch.h>
#include <limits.h>
#include <dirent.h>
+#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
+#include <errno.h>
#include "config.h"
#include "common.h"
* Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <wait.h>
#include <unistd.h>
#include <signal.h>
#include <syslog.h>
#include <stdio.h>
#include <assert.h>
#include <fnmatch.h>
+#include <sys/wait.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
(long)r,status);
} else if (WEXITSTATUS(status)>12) {
if (WEXITSTATUS(status)>24)
- syslog(LOG_ERR,"call pid %ld exited with status %ld >24",
+ syslog(LOG_ERR,"call pid %ld exited with status %d >24",
(long)r,WEXITSTATUS(status));
checkstalepipes();
}
#include <stdio.h>
#include <stdarg.h>
#include <unistd.h>
-#include <wait.h>
#include <assert.h>
#include <signal.h>
#include <string.h>
#include <grp.h>
#include <ctype.h>
#include <limits.h>
+#include <sys/wait.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include <sys/stat.h>