From: Ken Hornstein Date: Mon, 9 Jan 2012 20:52:34 +0000 (-0500) Subject: Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/ae6d25b39b09560916481983b30d3b09ccf9390e?hp=a2469f5ecbca3a179251ac9b777b561bc5245d4c Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh --- diff --git a/configure.ac b/configure.ac index 2a56e97c..43a1029d 100644 --- a/configure.ac +++ b/configure.ac @@ -462,7 +462,6 @@ esac AC_SUBST(OURDEFS) AC_HEADER_STDC -AC_HEADER_TIME AC_HEADER_TIOCGWINSZ AC_CHECK_HEADERS(errno.h fcntl.h crypt.h termcap.h \ langinfo.h wchar.h wctype.h iconv.h netdb.h \ @@ -487,29 +486,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1, dnl --------------- dnl CHECK FUNCTIONS dnl --------------- -AC_CHECK_FUNCS(writev lstat tzset getutent nl_langinfo) - -dnl Look for the initgroups() declaration. On AIX 4.[13], Solaris 4.1.3, and -dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in -dnl any system header. -dnl -dnl On Solaris 2.[456], the declaration is in . On HP-UX 9-11 and -dnl (reportedly) FreeBSD 3.[23], it's in . Any other locations we -dnl need to check? -AH_TEMPLATE(INITGROUPS_HEADER, [Define to the header containing the declaration of `initgroups'.]) -AC_EGREP_HEADER(initgroups, grp.h, AC_DEFINE(INITGROUPS_HEADER, ), - AC_EGREP_HEADER(initgroups, unistd.h, - AC_DEFINE(INITGROUPS_HEADER, ))) - -dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in -dnl or elsewhere. Apparently it's not officially supported (though it -dnl seems to work perfectly and IBM apparently uses it in internal code). -dnl Anyhow, if we omit our own snprintf() and vsnprintf() prototypes when we -dnl HAVE_SNPRINTF, we get a billion warnings at compile time. Use the C -dnl preprocessor to preprocess stdio.h and make sure that there's actually a -dnl prototype. -AC_EGREP_HEADER(snprintf, stdio.h, AC_DEFINE(HAVE_SNPRINTF_PROTOTYPE,1, - [Define to 1 if has a prototype for snprintf().])) +AC_CHECK_FUNCS(writev lstat getutent nl_langinfo) dnl Check for multibyte character set support if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = "xyes" \ @@ -766,18 +743,7 @@ dnl ---------------- dnl CHECK STRUCTURES dnl ---------------- -AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, - [#ifdef TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef TM_IN_SYS_TIME -# include -# else -# include -# endif -#endif]) - +AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include ]) AC_CHECK_MEMBERS(struct utmp.ut_type,,,[#include ]) AC_STRUCT_DIRENT_D_TYPE @@ -800,59 +766,6 @@ nmh_cv_path_signal_h=$SIGNAL_H SIGNAL_H=$nmh_cv_path_signal_h AC_SUBST(SIGNAL_H)dnl -dnl ---------------- -dnl OS SPECIFIC DEFINES -dnl ---------------- -AH_TEMPLATE(SYS5, [Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX, SCO5; only used in vmh.c which is not built.]) -AH_TEMPLATE(SVR4, [Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX; only used in vmh.c which is not built.]) -AH_TEMPLATE(BSD44, [Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody; only used in vmh.c which is not built.]) -AH_TEMPLATE(BSD42, [Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody -- does PicoBSD have uname?]) -AH_TEMPLATE(SCO_5_STDIO, [Defined for SCO5.]) - -case "$target_os" in - - solaris2*) - AC_DEFINE(SYS5) - AC_DEFINE(SVR4) - ;; - irix*) - AC_DEFINE(SYS5) - AC_DEFINE(SVR4) - ;; - osf*) - AC_DEFINE(SYS5) - AC_DEFINE(SVR4) - ;; - aix*) - AC_DEFINE(SYS5) - AC_DEFINE(SVR4) - ;; - sunos4*) - AC_DEFINE(BSD42) - ;; - freebsd*) - AC_DEFINE(BSD42) - AC_DEFINE(BSD44) - ;; - netbsd*) - AC_DEFINE(BSD42) - AC_DEFINE(BSD44) - ;; - openbsd*) - AC_DEFINE(BSD42) - AC_DEFINE(BSD44) - ;; - bsd/os*) - AC_DEFINE(BSD42) - AC_DEFINE(BSD44) - ;; - sco5*) - AC_DEFINE(SYS5) - AC_DEFINE(SCO_5_STDIO) - ;; -esac - - dnl ---------------- dnl OUTPUT MAKEFILES dnl ---------------- diff --git a/h/msh.h b/h/msh.h index 201c7ecb..fb80f23d 100644 --- a/h/msh.h +++ b/h/msh.h @@ -75,11 +75,6 @@ extern int interrupted; /* SIGINT detected */ extern int broken_pipe; /* SIGPIPE detected */ extern int told_to_quit; /* SIGQUIT detected */ -#ifdef BSD42 -extern int should_intr; /* signal handler should interrupt call */ -extern jmp_buf sigenv; /* the environment pointer */ -#endif - /* * prototypes */ diff --git a/sbr/discard.c b/sbr/discard.c index dbe309d7..a1efa488 100644 --- a/sbr/discard.c +++ b/sbr/discard.c @@ -11,13 +11,6 @@ #include -#ifdef SCO_5_STDIO -# define _ptr __ptr -# define _cnt __cnt -# define _base __base -# define _filbuf(fp) ((fp)->__cnt = 0, __filbuf(fp)) -#endif - void discard (FILE *io) diff --git a/sbr/dtime.c b/sbr/dtime.c index 2e978d79..5d5375d4 100644 --- a/sbr/dtime.c +++ b/sbr/dtime.c @@ -10,23 +10,9 @@ #include /* for snprintf() */ #include #include +#include -#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && !defined(HAVE_TZSET) -# include -#endif - -#ifdef TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && defined(HAVE_TZSET) +#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) extern int daylight; extern long timezone; extern char *tzname[]; @@ -140,10 +126,6 @@ dlocaltime (time_t *clock) static struct tws tw; struct tm *tm; -#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) && !defined(HAVE_TZSET) - struct timeb tb; -#endif - if (!clock) return NULL; @@ -172,13 +154,8 @@ dlocaltime (time_t *clock) if (tm->tm_isdst) /* if DST is in effect */ tw.tw_zone -= 60; /* reset to normal offset */ #else -# ifdef HAVE_TZSET tzset(); tw.tw_zone = -(timezone / 60); -# else - ftime (&tb); - tw.tw_zone = -tb.timezone; -# endif #endif tw.tw_flags &= ~TW_SDAY; @@ -368,14 +345,8 @@ dtimezone (int offset, int flags) } if (!(flags & TW_ZONE) && mins == 0) { -#if defined(HAVE_TZSET) && defined(HAVE_TZNAME) tzset(); return ((flags & TW_DST) ? tzname[1] : tzname[0]); -#else - for (z = zones; z->std; z++) - if (z->shift == hours) - return (z->dst && (flags & TW_DST) ? z->dst : z->std); -#endif } #ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index f31b9c43..585df643 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -190,14 +190,6 @@ static int (*eom_action)(int) = NULL; # define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC #endif -#ifdef SCO_5_STDIO -# define _ptr __ptr -# define _cnt __cnt -# define _base __base -# define _filbuf(fp) ((fp)->__cnt = 0, __filbuf(fp)) -# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC -#endif - #ifndef DEFINED__FILBUF_TO_SOMETHING_SPECIFIC extern int _filbuf(FILE*); #endif diff --git a/sbr/mts.c b/sbr/mts.c index 37f6e237..71836e4f 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -370,7 +370,6 @@ getuserinfo (void) field, like phone number. Also, if mmailid masquerading is turned on due to "mmailid" appearing on the "masquerade:" line of mts.conf, stop if we hit a '<' (which should precede any ','s). */ -#ifndef BSD42 if (mmailid_masquerading) /* Stop at ',' or '<'. */ for (cp = fullname; *np != '\0' && *np != ',' && *np != '<'; @@ -385,46 +384,6 @@ getuserinfo (void) for (cp = fullname; *np != '\0' && *np != ','; *cp++ = *np++) continue; -#else /* BSD42 */ - /* On BSD(-derived) systems, the system utilities that deal with the GECOS - field (finger, mail, sendmail, etc.) translate any '&' character in it to - the login name, with the first letter capitalized. So, for instance, - fingering a user "bob" with the GECOS field "& Jones" would reveal him to - be "In real life: Bob Jones". Surprisingly, though, the OS doesn't do - the translation for you, so we have to do it manually here. */ - if (mmailid_masquerading) - /* Stop at ',' or '<'. */ - for (cp = fullname; - *np != '\0' && *np != ',' && *np != '<';) { - if (*np == '&') { /* blech! */ - strcpy (cp, pw->pw_name); - *cp = toupper(*cp); - while (*cp) - cp++; - np++; - } else { - *cp++ = *np++; - } - } - else - /* Allow '<' as a legal character of the user's name. This code is - basically a duplicate of the code above the "else" -- we don't - collapse it down to one copy and put the mmailid_masquerading check - inside the loop with "(x ? y : z)" because that's inefficient and the - value'll never change while it's in there. */ - for (cp = fullname; - *np != '\0' && *np != ',';) { - if (*np == '&') { /* blech! */ - strcpy (cp, pw->pw_name); - *cp = toupper(*cp); - while (*cp) - cp++; - np++; - } else { - *cp++ = *np++; - } - } -#endif /* BSD42 */ *cp = '\0'; if (mmailid_masquerading) { diff --git a/uip/mhcachesbr.c b/uip/mhcachesbr.c index 79d6bdad..807cf600 100644 --- a/uip/mhcachesbr.c +++ b/uip/mhcachesbr.c @@ -312,11 +312,7 @@ find_cache_aux (int writing, char *directory, char *id, static int partno, pid; static time_t clock = 0; -#ifdef BSD42 - usemap = strchr (id, '/') ? 1 : 0; -#else usemap = 1; -#endif if (debugsw) fprintf (stderr, "find_cache_aux %s usemap=%d\n", directory, usemap); diff --git a/uip/msh.c b/uip/msh.c index 07110fd8..3a5cc976 100644 --- a/uip/msh.c +++ b/uip/msh.c @@ -150,11 +150,6 @@ int interrupted; /* SIGINT detected */ int broken_pipe; /* SIGPIPE detected */ int told_to_quit; /* SIGQUIT detected */ -#ifdef BSD42 -int should_intr; /* signal handler should interrupt call */ -jmp_buf sigenv; /* the environment pointer */ -#endif - /* * prototypes */ @@ -336,9 +331,6 @@ main (int argc, char **argv) ioctl (pfd, FIOCLEX, NULL); #endif /* FIOCLEX */ -#ifdef BSD42 - should_intr = 0; -#endif /* BSD42 */ istat = SIGNAL2 (SIGINT, intrser); qstat = SIGNAL2 (SIGQUIT, quitser); @@ -1054,11 +1046,9 @@ display_info (int scansw) if (sp == NULL) { if ((sd = dup (fileno (stdout))) == NOTOK) padios ("standard output", "unable to dup"); -#ifndef BSD42 /* XXX */ #ifdef FIOCLEX ioctl (sd, FIOCLEX, NULL); #endif /* FIOCLEX */ -#endif /* not BSD42 */ if ((sp = fdopen (sd, "w")) == NULL) padios ("standard output", "unable to fdopen"); } @@ -1216,33 +1206,11 @@ getargs (char *prompt, struct swit *sw, struct Cmd *cmdp) told_to_quit = 0; for (;;) { interrupted = 0; -#ifdef BSD42 - switch (setjmp (sigenv)) { - case OK: - should_intr = 1; - break; - - default: - should_intr = 0; - if (interrupted && !told_to_quit) { - putchar ('\n'); - continue; - } - if (ppid > 0) -#ifdef SIGEMT - kill (ppid, SIGEMT); -#else - kill (ppid, SIGTERM); -#endif - return EOF; - } -#endif /* BSD42 */ if (interactive) { printf ("%s", prompt); fflush (stdout); } for (cp = buffer; (i = getchar ()) != '\n';) { -#ifndef BSD42 if (interrupted && !told_to_quit) { buffer[0] = '\0'; putchar ('\n'); @@ -1257,10 +1225,6 @@ getargs (char *prompt, struct swit *sw, struct Cmd *cmdp) #endif return EOF; } -#else /* BSD42 */ - if (i == EOF) - longjmp (sigenv, DONE); -#endif /* BSD42 */ if (cp < &buffer[sizeof buffer - 2]) *cp++ = i; } @@ -1288,9 +1252,6 @@ getargs (char *prompt, struct swit *sw, struct Cmd *cmdp) cmdp->args[0]); continue; default: -#ifdef BSD42 - should_intr = 0; -#endif /* BSD42 */ return i; } } @@ -1623,11 +1584,6 @@ intrser (int i) { discard (stdout); interrupted++; - -#ifdef BSD42 - if (should_intr) - longjmp (sigenv, NOTOK); -#endif } @@ -1638,11 +1594,6 @@ pipeser (int i) fprintf (stderr, "broken pipe\n"); told_to_quit++; interrupted++; - -#ifdef BSD42 - if (should_intr) - longjmp (sigenv, NOTOK); -#endif } @@ -1651,11 +1602,6 @@ quitser (int i) { told_to_quit++; interrupted++; - -#ifdef BSD42 - if (should_intr) - longjmp (sigenv, NOTOK); -#endif } diff --git a/uip/mshcmds.c b/uip/mshcmds.c index 3bd4db35..64957e8e 100644 --- a/uip/mshcmds.c +++ b/uip/mshcmds.c @@ -2406,19 +2406,7 @@ ask (int msgnum) fflush (stdout); buf[0] = 0; -#ifndef BSD42 read (fileno (stdout), buf, sizeof buf); -#else /* BSD42 */ - switch (setjmp (sigenv)) { - case OK: - should_intr = 1; - read (fileno (stdout), buf, sizeof buf);/* fall... */ - - default: - should_intr = 0; - break; - } -#endif /* BSD42 */ if (strchr(buf, '\n') == NULL) putchar ('\n'); diff --git a/uip/scansbr.c b/uip/scansbr.c index 0d12c344..ae347e85 100644 --- a/uip/scansbr.c +++ b/uip/scansbr.c @@ -19,13 +19,6 @@ # define _cnt _w /* Wretch */ #endif -#ifdef SCO_5_STDIO -# define _ptr __ptr -# define _cnt __cnt -# define _base __base -# define _filbuf(fp) ((fp)->__cnt = 0, __filbuf(fp)) -#endif - #define MAXSCANL 256 /* longest possible scan line */ /* diff --git a/uip/slocal.c b/uip/slocal.c index 54960f31..13d05116 100644 --- a/uip/slocal.c +++ b/uip/slocal.c @@ -34,16 +34,6 @@ #include #include -#ifdef INITGROUPS_HEADER -#include INITGROUPS_HEADER -#else -/* On AIX 4.1, initgroups() is defined and even documented (giving the parameter - types as char* and int), but doesn't have a prototype in any of the system - header files. AIX 4.3, SunOS 4.1.3, and ULTRIX 4.2A have the same - problem. */ -extern int initgroups(char*, int); -#endif - /* This define is needed for Berkeley db v2 and above to * make the header file expose the 'historical' ndbm APIs. * We define it unconditionally because this is simple and