Return to BSD News archive
Newsgroups: comp.bugs.2bsd Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!hobyah.cc.uq.oz.au!bunyip.cc.uq.oz.au!munnari.OZ.AU!news.ecn.uoknor.edu!qns3.qns.com!imci4!newsfeed.internetmci.com!news.kei.com!nntp.coast.net!frankensun.altair.com!wlbr!moe!sms From: sms@moe.2bsd.com (Steven M. Schultz) Subject: sys_errlist[] wastes 2kb of D-space [+fix] (#310 2 of 4) Organization: GTE Government Systems, Westlake Village Message-ID: <Dp4GHq.G69@moe.2bsd.com> Date: Sun, 31 Mar 1996 07:51:26 GMT Lines: 1949 Subject: sys_errlist[] wastes 2kb of D-space [+fix] (#310 2 of 4) Index: lib/libc/gen/errlst.c+many,many_more 2.11BSD Description: The array of system error message strings occupies approximately 2kb of Data space in any program which calls perror(), strerror() or explicitly references sys_errlist[] or sys_nerr. Since sys_errlist is initialized data it also occupies ~4 sectors of disk space in each program's executable disk image. Repeat-By: Observation. Or by compiling these test programs and using size(1): extern char *sys_errlist[]; main() { char *cp; cp = sys_errlist[0]; exit(0); } cc x.c size a.out text data bss dec hex 362 2042 4 2408 968 main() { perror("foo"); exit(0); } cc y.c size a.out text data bss dec hex 3310 2298 4 5668 1624 In both cases the 'data' segment is 100% sys_errlist[]'s contribution. After applying the updates in this kit the second program's size is: text data bss dec hex 1008 60 68 1136 470 Fix: This is #310 (part 2 of 4). This is the first of the three patch files in the update kit. Refer to the instructions in #309. ----------------------------cut here--------------------------- *** /usr/include/string.h.old Mon Jan 15 20:29:08 1996 --- /usr/include/string.h Wed Mar 20 22:10:13 1996 *************** *** 3,9 **** * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)string.h 5.1.2 (2.11BSD) 1996/1/15 */ #include <sys/types.h> --- 3,9 ---- * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)string.h 5.1.3 (2.11BSD) 1996/3/20 */ #include <sys/types.h> *************** *** 13,19 **** #endif extern char *strcat(), *strncat(), *strcpy(), *strncpy(), *index(); ! extern char *rindex(), *strstr(); extern int strcmp(), strncmp(), strcasecmp(), strncasecmp(), strlen(); extern int memcmp(); --- 13,19 ---- #endif extern char *strcat(), *strncat(), *strcpy(), *strncpy(), *index(); ! extern char *rindex(), *strstr(), *syserrlst(); extern int strcmp(), strncmp(), strcasecmp(), strncasecmp(), strlen(); extern int memcmp(); *** /usr/lib/lint/llib-lc.old Tue Mar 26 23:19:20 1996 --- /usr/lib/lint/llib-lc Tue Mar 26 23:32:27 1996 *************** *** 1,4 **** ! /* @(#)llib-lc 1.42 (2.11BSD GTE) 1996/1/27 */ /* LINTLIBRARY */ --- 1,4 ---- ! /* @(#)llib-lc 1.43 (2.11BSD GTE) 1996/3/26 */ /* LINTLIBRARY */ *************** *** 387,392 **** --- 387,393 ---- char * strcpy(a, b) char *a, *b; { return a; } char * strcpyn(a, b, n) char *a, *b; { return a; } int strcspn(s, set) char *s, *set; { return(0); } + char * strerror(err) int err; { return ((char *)0); } int strlen(s) char *s; { return(1); } char * strncat(a, b, n) char *a, *b; { return a;} int strncmp(a, b, n) char *a, *b; { return(1); } *************** *** 393,407 **** char * strncpy(a, b, n) char *a, *b; { return a; } char * strpbrk(s, brk) char *s, *brk; { return s; } char * strrchr(s, c) char *s, c; { return s; } int strspn(s, set) char *s, *set; { return(0); } char * strtok(s, sep) char *s, *sep; { return s; } int stty(f, b) struct sgttyb *b; { return(0); } ! swab( f, t, n) char *f, *t; {;} /* VARARGS2 */ syslog(l, f) char *f; {} - char * sys_errlist[]; char * sys_siglist[]; - int sys_nerr; int system(s) char *s; { return(0); } long tell(f) { return((long)0); } long telldir( p ) DIR *p; { return 1L; } --- 394,409 ---- char * strncpy(a, b, n) char *a, *b; { return a; } char * strpbrk(s, brk) char *s, *brk; { return s; } char * strrchr(s, c) char *s, c; { return s; } + char * strsep(stringp, delim) char **stringp; char *delim; { return(delim); } int strspn(s, set) char *s, *set; { return(0); } char * strtok(s, sep) char *s, *sep; { return s; } int stty(f, b) struct sgttyb *b; { return(0); } ! char * syserrlst(err) int err; { return((char *) 0); } ! char * __errlst(err,path) int err; char *path; { return((char *) 0); } ! int swab( f, t, n) char *f, *t; {;} /* VARARGS2 */ syslog(l, f) char *f; {} char * sys_siglist[]; int system(s) char *s; { return(0); } long tell(f) { return((long)0); } long telldir( p ) DIR *p; { return 1L; } *** /usr/src/bin/csh/sh.exec.c.old Sat Aug 31 00:06:43 1991 --- /usr/src/bin/csh/sh.exec.c Wed Mar 20 22:48:27 1996 *************** *** 5,14 **** */ #if !defined(lint) && defined(DOSCCS) ! static char *sccsid = "@(#)sh.exec.c 5.2 (Berkeley) 6/6/85"; #endif #include "sh.h" #include <sys/dir.h> /* --- 5,15 ---- */ #if !defined(lint) && defined(DOSCCS) ! static char *sccsid = "@(#)sh.exec.c 5.2.1 (2.11BSD) 1996/3/20"; #endif #include "sh.h" + #include <string.h> #include <sys/dir.h> /* *************** *** 195,201 **** { register struct varent *v; register char **vp; - extern char *sys_errlist[]; char *lastsh[2]; execv(f, t); --- 196,201 ---- *************** *** 240,246 **** default: if (exerr == 0) { ! exerr = sys_errlist[errno]; expath = savestr(f); } } --- 240,246 ---- default: if (exerr == 0) { ! exerr = syserrlst(errno); expath = savestr(f); } } *** /usr/src/bin/csh/sh.proc.c.old Sat Aug 31 00:11:22 1991 --- /usr/src/bin/csh/sh.proc.c Wed Mar 20 22:50:07 1996 *************** *** 5,16 **** */ #if !defined(lint) && defined(DOSCCS) ! static char *sccsid = "@(#)sh.proc.c 5.5 (Berkeley) 5/13/86"; #endif #include "sh.h" #include "sh.dir.h" #include "sh.proc.h" #include <sys/wait.h> #include <sys/ioctl.h> --- 5,17 ---- */ #if !defined(lint) && defined(DOSCCS) ! static char *sccsid = "@(#)sh.proc.c 5.5.1 (2.11BSD) 1996/3/20"; #endif #include "sh.h" #include "sh.dir.h" #include "sh.proc.h" + #include <string.h> #include <sys/wait.h> #include <sys/ioctl.h> *************** *** 819,825 **** int pid, err = 0; long omask; char *cp; - extern char *sys_errlist[]; omask = sigmask(SIGCHLD); if (setintr) --- 820,825 ---- *************** *** 846,852 **** } if (killpg(pp->p_jobid, signum) < 0) { printf("%s: ", cp); ! printf("%s\n", sys_errlist[errno]); err++; } if (signum == SIGTERM || signum == SIGHUP) --- 846,852 ---- } if (killpg(pp->p_jobid, signum) < 0) { printf("%s: ", cp); ! printf("%s\n", syserrlst(errno)); err++; } if (signum == SIGTERM || signum == SIGHUP) *************** *** 857,863 **** pid = atoi(cp); if (kill(pid, signum) < 0) { printf("%d: ", pid); ! printf("%s\n", sys_errlist[errno]); err++; goto cont; } --- 857,863 ---- pid = atoi(cp); if (kill(pid, signum) < 0) { printf("%d: ", pid); ! printf("%s\n", syserrlst(errno)); err++; goto cont; } *** /usr/src/bin/kill.c.old Sun Feb 8 14:24:52 1987 --- /usr/src/bin/kill.c Thu Mar 21 19:46:33 1996 *************** *** 1,4 **** ! static char *sccsid = "@(#)kill.c 4.4 (Berkeley) 4/20/86"; /* * kill - send signal to process */ --- 1,4 ---- ! static char *sccsid = "@(#)kill.c 4.4.1 (2.11BSD) 1996/3/21"; /* * kill - send signal to process */ *************** *** 18,24 **** { register signo, pid, res; int errlev; - extern char *sys_errlist[]; extern errno; errlev = 0; --- 18,23 ---- *************** *** 65,71 **** goto usage; res = kill(pid = atoi(*argv), signo); if (res<0) { ! printf("%u: %s\n", pid, sys_errlist[errno]); errlev = 1; } argc--; --- 64,70 ---- goto usage; res = kill(pid = atoi(*argv), signo); if (res<0) { ! printf("%u: %s\n", pid, strerror(errno)); errlev = 1; } argc--; *** /usr/src/bin/rcp.c.old Tue Sep 5 09:10:53 1989 --- /usr/src/bin/rcp.c Thu Mar 21 19:55:04 1996 *************** *** 15,28 **** * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ ! #ifndef lint char copyright[] = "@(#) Copyright (c) 1983 The Regents of the University of California.\n\ All rights reserved.\n"; - #endif /* not lint */ ! #ifndef lint ! static char sccsid[] = "@(#)rcp.c 5.20 (Berkeley) 5/23/89"; #endif /* not lint */ /* --- 15,26 ---- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ ! #if !defined(lint) && defined(DOSCCS) char copyright[] = "@(#) Copyright (c) 1983 The Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)rcp.c 5.20.1 (2.11BSD) 1996/3/21"; #endif /* not lint */ /* *************** *** 54,60 **** #endif extern int errno; - extern char *sys_errlist[]; struct passwd *pwd; int errs, pflag, port, rem, userid; int iamremote, iamrecursive, targetshouldbedirectory; --- 52,57 ---- *************** *** 356,362 **** return; errno = ENOTDIR; } ! error("rcp: %s: %s.\n", cp, sys_errlist[errno]); exit(1); } --- 353,359 ---- return; errno = ENOTDIR; } ! error("rcp: %s: %s.\n", cp, strerror(errno)); exit(1); } *************** *** 429,435 **** for (x = 0; x < argc; x++) { name = argv[x]; if ((f = open(name, O_RDONLY, 0)) < 0) { ! error("rcp: %s: %s\n", name, sys_errlist[errno]); continue; } if (fstat(f, &stb) < 0) --- 426,432 ---- for (x = 0; x < argc; x++) { name = argv[x]; if ((f = open(name, O_RDONLY, 0)) < 0) { ! error("rcp: %s: %s\n", name, strerror(errno)); continue; } if (fstat(f, &stb) < 0) *************** *** 493,499 **** if (readerr == 0) (void)write(rem, "", 1); else ! error("rcp: %s: %s\n", name, sys_errlist[readerr]); (void)response(); } } --- 490,496 ---- if (readerr == 0) (void)write(rem, "", 1); else ! error("rcp: %s: %s\n", name, strerror(readerr)); (void)response(); } } *************** *** 507,513 **** char *last, *vect[1], path[MAXPATHLEN]; if (!(d = opendir(name))) { ! error("rcp: %s: %s\n", name, sys_errlist[errno]); return; } last = rindex(name, '/'); --- 504,510 ---- char *last, *vect[1], path[MAXPATHLEN]; if (!(d = opendir(name))) { ! error("rcp: %s: %s\n", name, strerror(errno)); return; } last = rindex(name, '/'); *************** *** 737,748 **** setimes = 0; if (utimes(np, tv) < 0) error("rcp: can't set times on %s: %s\n", ! np, sys_errlist[errno]); } continue; } if ((ofd = open(np, O_WRONLY|O_CREAT, mode)) < 0) { ! bad: error("rcp: %s: %s\n", np, sys_errlist[errno]); continue; } if (exists && pflag) --- 734,745 ---- setimes = 0; if (utimes(np, tv) < 0) error("rcp: can't set times on %s: %s\n", ! np, strerror(errno)); } continue; } if ((ofd = open(np, O_WRONLY|O_CREAT, mode)) < 0) { ! bad: error("rcp: %s: %s\n", np, strerror(errno)); continue; } if (exists && pflag) *************** *** 764,770 **** j = read(rem, cp, amt); if (j <= 0) { error("rcp: %s\n", ! j ? sys_errlist[errno] : "dropped connection"); exit(1); } --- 761,767 ---- j = read(rem, cp, amt); if (j <= 0) { error("rcp: %s\n", ! j ? strerror(errno) : "dropped connection"); exit(1); } *************** *** 784,790 **** wrerr++; if (ftruncate(ofd, size)) error("rcp: can't truncate %s: %s\n", np, ! sys_errlist[errno]); (void)close(ofd); (void)response(); if (setimes) { --- 781,787 ---- wrerr++; if (ftruncate(ofd, size)) error("rcp: can't truncate %s: %s\n", np, ! strerror(errno)); (void)close(ofd); (void)response(); if (setimes) { *************** *** 791,800 **** setimes = 0; if (utimes(np, tv) < 0) error("rcp: can't set times on %s: %s\n", ! np, sys_errlist[errno]); } if (wrerr) ! error("rcp: %s: %s\n", np, sys_errlist[errno]); else (void)write(rem, "", 1); } --- 788,797 ---- setimes = 0; if (utimes(np, tv) < 0) error("rcp: can't set times on %s: %s\n", ! np, strerror(errno)); } if (wrerr) ! error("rcp: %s: %s\n", np, strerror(errno)); else (void)write(rem, "", 1); } *************** *** 813,819 **** char *malloc(); if (fstat(fd, &stb) < 0) { ! error("rcp: fstat: %s\n", sys_errlist[errno]); return(0); } size = roundup(stb.st_blksize, blksize); --- 810,816 ---- char *malloc(); if (fstat(fd, &stb) < 0) { ! error("rcp: fstat: %s\n", strerror(errno)); return(0); } size = roundup(stb.st_blksize, blksize); *** /usr/src/etc/Makefile.old Tue Jan 23 19:30:37 1996 --- /usr/src/etc/Makefile Thu Mar 28 20:28:53 1996 *************** *** 3,9 **** # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # ! # @(#)Makefile 5.14.5 (2.11BSD GTE) 1996/1/15 # DESTDIR= CFLAGS= -O --- 3,9 ---- # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # ! # @(#)Makefile 5.14.6 (2.11BSD GTE) 1996/3/26 # DESTDIR= CFLAGS= -O *************** *** 63,70 **** install -s ${STD} ${NSTD} ${DESTDIR}/etc -for i in ${OPTIONAL}; do \ (if [ -f $$i ]; then install -s $$i ${DESTDIR}/etc; fi); done ! -for i in ${SETUID}; do \ ! (install -o root -m 4755 -s $$i ${DESTDIR}/etc/$$i); done -for i in ${KMEM}; do \ (install -g kmem -m 2755 -s $$i ${DESTDIR}/etc/$$i); done -for i in ${OPERATOR}; do \ --- 63,71 ---- install -s ${STD} ${NSTD} ${DESTDIR}/etc -for i in ${OPTIONAL}; do \ (if [ -f $$i ]; then install -s $$i ${DESTDIR}/etc; fi); done ! -for i in ${SETUID} x; do \ ! (if [ $$i != "x" ]; then install -o root -m 4755 -s $$i \ ! ${DESTDIR}/etc/$$i; fi); done -for i in ${KMEM}; do \ (install -g kmem -m 2755 -s $$i ${DESTDIR}/etc/$$i); done -for i in ${OPERATOR}; do \ *** /usr/src/etc/ftpd/ftpd.c.old Wed Nov 17 19:30:03 1993 --- /usr/src/etc/ftpd/ftpd.c Fri Mar 22 22:43:24 1996 *************** *** 20,26 **** "@(#) Copyright (c) 1985, 1988 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)ftpd.c 5.28.1 (2.11BSD) 11/17/93"; #endif /* --- 20,26 ---- "@(#) Copyright (c) 1985, 1988 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)ftpd.c 5.28.2 (2.11BSD) 1996/3/22"; #endif /* *************** *** 67,75 **** * NOT to be used on this machine. * Commonly used to disallow uucp. */ - extern int errno; - extern char *sys_errlist[]; - extern int sys_nerr; extern char *crypt(); extern char version[]; extern char *home; /* pointer to home directory for glob */ --- 67,72 ---- *************** *** 707,713 **** reply(425, "Can't create data socket (%s,%d): %s.", inet_ntoa(data_source.sin_addr), ntohs(data_source.sin_port), ! errno < sys_nerr ? sys_errlist[errno] : "unknown error"); return (NULL); } data = fileno(file); --- 704,710 ---- reply(425, "Can't create data socket (%s,%d): %s.", inet_ntoa(data_source.sin_addr), ntohs(data_source.sin_port), ! strerror(errno)); return (NULL); } data = fileno(file); *************** *** 1275,1284 **** int code; char *string; { ! if (errno < sys_nerr) ! reply(code, "%s: %s.", string, sys_errlist[errno]); ! else ! reply(code, "%s: unknown error %d.", string, errno); } static char *onefile[] = { --- 1272,1278 ---- int code; char *string; { ! reply(code, "%s: %s.", string, strerror(errno)); } static char *onefile[] = { *** /usr/src/etc/rlogind/rlogind.c.old Thu Mar 8 14:07:19 1990 --- /usr/src/etc/rlogind/rlogind.c Fri Mar 22 23:10:27 1996 *************** *** 15,29 **** * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ ! #ifndef lint char copyright[] = "@(#) Copyright (c) 1983, 1988 The Regents of the University of California.\n\ All rights reserved.\n"; - #endif /* not lint */ ! #ifndef lint ! static char sccsid[] = "@(#)rlogind.c 5.22.1.7 (Berkeley) 9/11/89"; ! #endif /* not lint */ /* * remote login server: --- 15,27 ---- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ ! #if !defined(lint) && defined(DOSCCS) char copyright[] = "@(#) Copyright (c) 1983, 1988 The Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)rlogind.c 5.22.1.8 (2.11BSD) 1996/3/22"; ! #endif /* * remote login server: *************** *** 74,83 **** #define SUPERUSER(pwd) ((pwd)->pw_uid == 0) - extern int errno; int reapchild(); struct passwd *getpwnam(), *pwd; - char *malloc(); main(argc, argv) int argc; --- 72,79 ---- *************** *** 512,524 **** char *msg; { char buf[BUFSIZ]; - extern int sys_nerr; - extern char *sys_errlist[]; ! if ((unsigned)errno < sys_nerr) ! (void) sprintf(buf, "%s: %s", msg, sys_errlist[errno]); ! else ! (void) sprintf(buf, "%s: Error %d", msg, errno); fatal(f, buf); } --- 508,515 ---- char *msg; { char buf[BUFSIZ]; ! (void) sprintf(buf, "%s: %s", msg, strerror(errno)); fatal(f, buf); } *** /usr/src/etc/rmt.c.old Sun Feb 15 20:51:18 1987 --- /usr/src/etc/rmt.c Fri Mar 22 22:58:44 1996 *************** *** 4,18 **** * specifies the terms and conditions for redistribution. */ ! #ifndef lint char copyright[] = "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; - #endif not lint ! #ifndef lint ! static char sccsid[] = "@(#)rmt.c 5.2 (Berkeley) 1/7/86"; ! #endif not lint /* * rmt --- 4,16 ---- * specifies the terms and conditions for redistribution. */ ! #if !defined(lint) && defined(DOSCCS) char copyright[] = "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)rmt.c 5.2.1 (2.11BSD) 1996/3/22"; ! #endif /* * rmt *************** *** 23,28 **** --- 21,29 ---- #include <sys/socket.h> #include <sys/mtio.h> #include <errno.h> + #include <stdlib.h> + #include <unistd.h> + #include <string.h> int tape = -1; *************** *** 33,46 **** #define SSIZE 64 char device[SSIZE]; char count[SSIZE], mode[SSIZE], pos[SSIZE], op[SSIZE]; - - extern errno; - char *sys_errlist[]; char resp[BUFSIZ]; - char *sprintf(); - long lseek(); - FILE *debug; #define DEBUG(f) if (debug) fprintf(debug, f) #define DEBUG1(f,a) if (debug) fprintf(debug, f, a) --- 34,41 ---- *************** *** 89,95 **** case 'L': getstring(count); getstring(pos); DEBUG2("rmtd: L %s %s\n", count, pos); ! rval = lseek(tape, (long) atoi(count), atoi(pos)); if (rval < 0) goto ioerror; goto respond; --- 84,90 ---- case 'L': getstring(count); getstring(pos); DEBUG2("rmtd: L %s %s\n", count, pos); ! rval = lseek(tape, atol(count), atoi(pos)); if (rval < 0) goto ioerror; goto respond; *************** *** 165,172 **** getstring(bp) char *bp; { ! int i; ! char *cp = bp; for (i = 0; i < SSIZE; i++) { if (read(0, cp+i, 1) != 1) --- 160,167 ---- getstring(bp) char *bp; { ! register int i; ! register char *cp = bp; for (i = 0; i < SSIZE; i++) { if (read(0, cp+i, 1) != 1) *************** *** 182,194 **** char *record; int size; { - extern char *malloc(); if (size <= maxrecsize) return (record); if (record != 0) free(record); ! record = malloc(size); if (record == 0) { DEBUG("rmtd: cannot allocate buffer space\n"); exit(4); --- 177,188 ---- char *record; int size; { if (size <= maxrecsize) return (record); if (record != 0) free(record); ! record = (char *)malloc(size); if (record == 0) { DEBUG("rmtd: cannot allocate buffer space\n"); exit(4); *************** *** 204,210 **** int num; { ! DEBUG2("rmtd: E %d (%s)\n", num, sys_errlist[num]); ! (void) sprintf(resp, "E%d\n%s\n", num, sys_errlist[num]); ! (void) write(1, resp, strlen (resp)); } --- 198,204 ---- int num; { ! DEBUG2("rmtd: E %d (%s)\n", num, strerror(num)); ! (void) sprintf(resp, "E%d\n%s\n", num, strerror(num)); ! (void) write(1, resp, strlen(resp)); } *** /usr/src/etc/routed/defs.h.old Mon Jan 10 21:45:10 1994 --- /usr/src/etc/routed/defs.h Fri Mar 22 22:50:11 1996 *************** *** 3,9 **** * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)defs.h 5.3.1 (2.11BSD GTE) 1/1/94 */ /* --- 3,9 ---- * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)defs.h 5.3.2 (2.11BSD GTE) 1996/3/22 */ /* *************** *** 56,62 **** char **argv0; struct servent *sp; - extern char *sys_errlist[]; extern int errno; char *malloc(); --- 56,61 ---- *** /usr/src/etc/syslogd.c.old Wed Jan 24 22:44:51 1996 --- /usr/src/etc/syslogd.c Fri Mar 22 23:06:26 1996 *************** *** 9,15 **** "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)syslogd.c 5.13.2 (2.11BSD GTE) 1996/1/24"; #endif /* --- 9,15 ---- "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)syslogd.c 5.13.3 (2.11BSD GTE) 1996/3/22"; #endif /* *************** *** 46,52 **** #include <ctype.h> #include <signal.h> #include <sysexits.h> ! #include <strings.h> #include <sys/syslog.h> #include <sys/types.h> --- 46,52 ---- #include <ctype.h> #include <signal.h> #include <sysexits.h> ! #include <string.h> #include <sys/syslog.h> #include <sys/types.h> *************** *** 141,150 **** int MarkInterval = 20; /* interval between marks in minutes */ int MarkSeq = 0; /* mark sequence number */ - extern int errno, sys_nerr; - extern char *sys_errlist[]; - extern char *ctime(), *index(); - main(argc, argv) int argc; char **argv; --- 141,146 ---- *************** *** 755,764 **** if (errno == 0) (void) sprintf(buf, "syslogd: %s", type); - else if ((unsigned) errno > sys_nerr) - (void) sprintf(buf, "syslogd: %s: error %d", type, errno); else ! (void) sprintf(buf, "syslogd: %s: %s", type, sys_errlist[errno]); errno = 0; dprintf("%s\n", buf); logmsg(LOG_SYSLOG|LOG_ERR, buf, LocalHostName, ADDDATE); --- 751,758 ---- if (errno == 0) (void) sprintf(buf, "syslogd: %s", type); else ! (void) sprintf(buf, "syslogd: %s: %s", type, strerror(errno)); errno = 0; dprintf("%s\n", buf); logmsg(LOG_SYSLOG|LOG_ERR, buf, LocalHostName, ADDDATE); *** /usr/src/etc/tcpd/percent_m.c.old Wed Dec 28 08:42:37 1994 --- /usr/src/etc/tcpd/percent_m.c Sat Mar 23 22:04:34 1996 *************** *** 4,11 **** * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. */ ! #ifndef lint ! static char sccsid[] = "@(#) percent_m.c 1.1 94/12/28 17:42:37"; #endif #include <stdio.h> --- 4,11 ---- * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. */ ! #if !defined(lint) && defined(DOSCCS) ! static char sccsid[] = "@(#) percent_m.c 1.1.1 96/3/23 17:42:37"; #endif #include <stdio.h> *************** *** 12,23 **** #include <errno.h> #include <string.h> - extern int errno; - #ifndef SYS_ERRLIST_DEFINED - extern char *sys_errlist[]; - extern int sys_nerr; - #endif - #include "mystdarg.h" char *percent_m(obuf, ibuf) --- 12,17 ---- *************** *** 29,39 **** while (*bp = *cp) if (*cp == '%' && cp[1] == 'm') { ! if (errno < sys_nerr && errno > 0) { ! strcpy(bp, sys_errlist[errno]); ! } else { ! sprintf(bp, "Unknown error %d", errno); ! } bp += strlen(bp); cp += 2; } else { --- 23,29 ---- while (*bp = *cp) if (*cp == '%' && cp[1] == 'm') { ! strcpy(bp, strerror(errno)); bp += strlen(bp); cp += 2; } else { *** /usr/src/etc/tcpd/tli-sequent.c.old Wed Dec 28 08:42:51 1994 --- /usr/src/etc/tcpd/tli-sequent.c Sat Mar 23 22:03:24 1996 *************** *** 7,14 **** * Modified slightly to conform to the new internal interfaces - Wietse */ ! #ifndef lint ! static char sccsid[] = "@(#) tli-sequent.c 1.1 94/12/28 17:42:51"; #endif #ifdef TLI_SEQUENT --- 7,14 ---- * Modified slightly to conform to the new internal interfaces - Wietse */ ! #if !defined(lint) && defined(DOSCCS) ! static char sccsid[] = "@(#) tli-sequent.c 1.1.1 96/3/23 17:42:51"; #endif #ifdef TLI_SEQUENT *************** *** 156,169 **** } else { return (t_errlist[t_errno]); } ! } else { ! if (errno < 0 || errno >= sys_nerr) { ! sprintf(buf, "Unknown UNIX error %d", errno); ! return (buf); ! } else { ! return (sys_errlist[errno]); ! } ! } } /* tli_sink - absorb unreceived datagram */ --- 156,163 ---- } else { return (t_errlist[t_errno]); } ! } else ! return(strerror(errno)); } /* tli_sink - absorb unreceived datagram */ *** /usr/src/etc/tcpd/tli.c.old Tue Jan 3 13:26:04 1995 --- /usr/src/etc/tcpd/tli.c Sat Mar 23 22:02:15 1996 *************** *** 14,21 **** * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. */ ! #ifndef lint ! static char sccsid[] = "@(#) tli.c 1.14 95/01/03 22:26:03"; #endif #ifdef TLI --- 14,21 ---- * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. */ ! #if !defined(lint) && defined(DOSCCS) ! static char sccsid[] = "@(#) tli.c 1.14.1 96/03/23 22:26:03"; #endif #ifdef TLI *************** *** 40,47 **** extern char *nc_sperror(); extern int errno; - extern char *sys_errlist[]; - extern int sys_nerr; extern int t_errno; extern char *t_errlist[]; extern int t_nerr; --- 40,45 ---- *************** *** 304,317 **** } else { return (t_errlist[t_errno]); } ! } else { ! if (errno < 0 || errno >= sys_nerr) { ! sprintf(buf, "Unknown UNIX error %d", errno); ! return (buf); ! } else { ! return (sys_errlist[errno]); ! } ! } } /* tli_sink - absorb unreceived datagram */ --- 302,309 ---- } else { return (t_errlist[t_errno]); } ! } else ! return(strerror(errno)); } /* tli_sink - absorb unreceived datagram */ *** /usr/src/etc/telnetd.c.old Mon Jan 10 21:54:08 1994 --- /usr/src/etc/telnetd.c Fri Mar 22 23:01:16 1996 *************** *** 9,15 **** "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)telnetd.c 5.20.1 (Berkeley) 1/1/94"; #endif /* --- 9,15 ---- "@(#) Copyright (c) 1983 Regents of the University of California.\n\ All rights reserved.\n"; ! static char sccsid[] = "@(#)telnetd.c 5.20.2 (2.11BSD) 1996/3/22"; #endif /* *************** *** 341,349 **** char *msg; { char buf[BUFSIZ]; - extern char *sys_errlist[]; ! (void) sprintf(buf, "%s: %s\r\n", msg, sys_errlist[errno]); fatal(f, buf); } --- 341,348 ---- char *msg; { char buf[BUFSIZ]; ! (void) sprintf(buf, "%s: %s\r\n", msg, strerror(errno)); fatal(f, buf); } *** /usr/src/games/hack/Makefile.old Sun Aug 30 13:33:03 1987 --- /usr/src/games/hack/Makefile Thu Mar 21 21:55:13 1996 *************** *** 1,3 **** --- 1,5 ---- + # #(@) Makefile 1.1 (2.11BSD) 1996/3/21 + # # Hack Overlay Makefile. # on some systems the termcap library is in -ltermcap *************** *** 10,19 **** GAMEUID = daemon CFLAGS = -O ! # We use a special chopped up version of sys_errlist that has much shorter ! # messages than normal to cut down the size hack's data space. ! ! HACKCSRC = errlst.c\ hack.Decl.c\ hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ --- 12,18 ---- GAMEUID = daemon CFLAGS = -O ! HACKCSRC = \ hack.Decl.c\ hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\ hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\ *************** *** 44,50 **** # strings.o must be last in HOBJ since it can change when other files compile. ! HOBJ = errlst.o\ hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ --- 43,49 ---- # strings.o must be last in HOBJ since it can change when other files compile. ! HOBJ = \ hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\ hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\ hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\ *************** *** 70,88 **** # bytes). The wise and cautious programmer would be well advised to use # size(1) heavily ... # ! BASE = errlst.o strings.o hack.monst.o hack.Decl.o\ ! hack.invent.o hack.dog.o hack.pri.o hack.mon.o\ hack.engrave.o rnd.o hack.track.o ! OV1 = hack.shk.o hack.topl.o hack.o hack.end.o hack.trap.o hack.ioctl.o OV2 = hack.do_wear.o hack.main.o hack.eat.o hack.timeout.o hack.vault.o\ hack.wizard.o hack.topl.o hack.tty.o\ hack.do.o hack.search.o alloc.o\ ! hack.cmd.o hack.termcap.o hack.unix.o OV3 = hack.do_name.o hack.fight.o hack.mkobj.o hack.o_init.o hack.mhitu.o\ ! hack.makemon.o hack.worn.o hack.rumors.o hack.objnam.o OV4 = hack.zap.o hack.read.o hack.apply.o hack.potion.o\ hack.options.o hack.pager.o hack.wield.o --- 69,87 ---- # bytes). The wise and cautious programmer would be well advised to use # size(1) heavily ... # ! BASE = strings.o hack.monst.o hack.Decl.o\ ! hack.invent.o hack.dog.o hack.mon.o\ hack.engrave.o rnd.o hack.track.o ! OV1 = hack.shk.o hack.topl.o hack.o hack.end.o hack.trap.o OV2 = hack.do_wear.o hack.main.o hack.eat.o hack.timeout.o hack.vault.o\ hack.wizard.o hack.topl.o hack.tty.o\ hack.do.o hack.search.o alloc.o\ ! hack.cmd.o hack.termcap.o hack.unix.o hack.ioctl.o OV3 = hack.do_name.o hack.fight.o hack.mkobj.o hack.o_init.o hack.mhitu.o\ ! hack.makemon.o hack.worn.o hack.rumors.o hack.objnam.o hack.pri.o OV4 = hack.zap.o hack.read.o hack.apply.o hack.potion.o\ hack.options.o hack.pager.o hack.wield.o *************** *** 92,98 **** hack.rip.o hack.bones.o hack.worm.o hack.steal.o hack.version.o # Crypt *MUST be listed BEFORE $(HOBJ) ! $(GAME): crypt $(HOBJ) Ovmakefile @echo "Loading ..." @ld -i -X -x -o $(GAME) /lib/crt0.o $(BASE)\ -Z $(OV1) -Z $(OV2) -Z $(OV3) -Z $(OV4) -Z $(OV5) -Y\ --- 91,97 ---- hack.rip.o hack.bones.o hack.worm.o hack.steal.o hack.version.o # Crypt *MUST be listed BEFORE $(HOBJ) ! $(GAME): crypt $(HOBJ) @echo "Loading ..." @ld -i -X -x -o $(GAME) /lib/crt0.o $(BASE)\ -Z $(OV1) -Z $(OV2) -Z $(OV3) -Z $(OV4) -Z $(OV5) -Y\ *************** *** 112,122 **** # Crypt is really crufty and slow, but the goal was to get something out the # door ... .c.o: ! cc -E $*.c | crypt | xstr -c - cc -c ${CFLAGS} x.c mv x.o $*.o - errlst.o: errlst.c rnd.o: rnd.c alloc.o: alloc.c --- 111,120 ---- # Crypt is really crufty and slow, but the goal was to get something out the # door ... .c.o: ! cc -E $*.c | ./crypt | xstr -c - cc -c ${CFLAGS} x.c mv x.o $*.o rnd.o: rnd.c alloc.o: alloc.c *************** *** 130,142 **** cc -o crypt crypt.c clean: ! rm -f *.o x.c xs.c strings makedefs: makedefs.c cc -o makedefs makedefs.c hack.onames.h: makedefs def.objects.h ! makedefs > hack.onames.h lint: # lint cannot have -p here because (i) capitals are meaningful: --- 128,140 ---- cc -o crypt crypt.c clean: ! rm -f *.o x.c xs.c strings crypt makedefs makedefs: makedefs.c cc -o makedefs makedefs.c hack.onames.h: makedefs def.objects.h ! ./makedefs > hack.onames.h lint: # lint cannot have -p here because (i) capitals are meaningful: *************** *** 211,227 **** # DO NOT DELETE THIS LINE hack.Decl.o: hack.h def.mkroom.h ! cc -E hack.Decl.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.Decl.o hack.apply.o: hack.h def.edog.h def.mkroom.h hack.bones.o: hack.h ! cc -E hack.bones.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.bones.o hack.o: hack.h hack.cmd.o: hack.h def.func_tab.h ! cc -E hack.cmd.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.cmd.o hack.do.o: hack.h --- 209,225 ---- # DO NOT DELETE THIS LINE hack.Decl.o: hack.h def.mkroom.h ! cc -E hack.Decl.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.Decl.o hack.apply.o: hack.h def.edog.h def.mkroom.h hack.bones.o: hack.h ! cc -E hack.bones.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.bones.o hack.o: hack.h hack.cmd.o: hack.h def.func_tab.h ! cc -E hack.cmd.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.cmd.o hack.do.o: hack.h *************** *** 229,241 **** hack.do_wear.o: hack.h hack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h hack.eat.o: hack.h ! cc -E hack.eat.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.eat.o hack.end.o: hack.h hack.engrave.o: hack.h hack.fight.o: hack.h ! cc -E hack.fight.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.fight.o hack.invent.o: hack.h def.wseg.h --- 227,239 ---- hack.do_wear.o: hack.h hack.dog.o: hack.h hack.mfndpos.h def.edog.h def.mkroom.h hack.eat.o: hack.h ! cc -E hack.eat.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.eat.o hack.end.o: hack.h hack.engrave.o: hack.h hack.fight.o: hack.h ! cc -E hack.fight.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.fight.o hack.invent.o: hack.h def.wseg.h *************** *** 242,248 **** hack.ioctl.o: config.h hack.lev.o: hack.h def.mkroom.h def.wseg.h hack.main.o: hack.h ! cc -E hack.main.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.main.o hack.makemon.o: hack.h --- 240,246 ---- hack.ioctl.o: config.h hack.lev.o: hack.h def.mkroom.h def.wseg.h hack.main.o: hack.h ! cc -E hack.main.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.main.o hack.makemon.o: hack.h *************** *** 250,256 **** hack.mklev.o: hack.h def.mkroom.h hack.mkmaze.o: hack.h def.mkroom.h hack.mkobj.o: hack.h ! cc -E hack.mkobj.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.mkobj.o hack.mkshop.o: hack.h def.mkroom.h def.eshk.h --- 248,254 ---- hack.mklev.o: hack.h def.mkroom.h hack.mkmaze.o: hack.h def.mkroom.h hack.mkobj.o: hack.h ! cc -E hack.mkobj.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.mkobj.o hack.mkshop.o: hack.h def.mkroom.h def.eshk.h *************** *** 264,270 **** hack.pri.o: hack.h def.wseg.h hack.read.o: hack.h hack.rip.o: hack.h ! cc -E hack.rip.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.rip.o hack.rumors.o: config.h --- 262,268 ---- hack.pri.o: hack.h def.wseg.h hack.read.o: hack.h hack.rip.o: hack.h ! cc -E hack.rip.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.rip.o hack.rumors.o: config.h *************** *** 278,284 **** hack.topl.o: hack.h hack.track.o: hack.h hack.trap.o: hack.h def.mkroom.h ! cc -E hack.trap.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.trap.o hack.tty.o: hack.h --- 276,282 ---- hack.topl.o: hack.h hack.track.o: hack.h hack.trap.o: hack.h def.mkroom.h ! cc -E hack.trap.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.trap.o hack.tty.o: hack.h *************** *** 287,293 **** hack.vault.o: hack.h def.mkroom.h hack.wield.o: hack.h hack.wizard.o: hack.h ! cc -E hack.wizard.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.wizard.o hack.worm.o: hack.h def.wseg.h --- 285,291 ---- hack.vault.o: hack.h def.mkroom.h hack.wield.o: hack.h hack.wizard.o: hack.h ! cc -E hack.wizard.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.wizard.o hack.worm.o: hack.h def.wseg.h *************** *** 294,300 **** hack.worn.o: hack.h hack.zap.o: hack.h hack.version.o: date.h ! cc -E hack.version.c | crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.version.o hack.h: config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h --- 292,298 ---- hack.worn.o: hack.h hack.zap.o: hack.h hack.version.o: date.h ! cc -E hack.version.c | ./crypt | sed 's/^# \([0-9]*\)/#line \1/' > x.c cc -c ${CFLAGS} x.c mv x.o hack.version.o hack.h: config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h *** /usr/src/games/mille/save.c.old Sat Jan 11 11:47:37 1986 --- /usr/src/games/mille/save.c Thu Mar 21 20:03:33 1996 *************** *** 1,4 **** --- 1,5 ---- #include "mille.h" + #include <string.h> #include <sys/types.h> #include <sys/stat.h> #ifndef unctrl *************** *** 11,30 **** # endif attron /* ! * @(#)save.c 1.2 (Berkeley) 3/28/83 */ typedef struct stat STAT; ! char *ctime(); - int read(), write(); - /* * This routine saves the current game for use at a later date */ extern int errno; - extern char *sys_errlist[]; save() { --- 12,29 ---- # endif attron /* ! * @(#)save.c 1.3 (2.11BSD) 1996/3/21 */ typedef struct stat STAT; ! extern char *ctime(); ! extern int read(), write(); /* * This routine saves the current game for use at a later date */ extern int errno; save() { *************** *** 78,84 **** return FALSE; if ((outf = creat(buf, 0644)) < 0) { ! error(sys_errlist[errno]); return FALSE; } mvwaddstr(Score, ERR_Y, ERR_X, buf); --- 77,83 ---- return FALSE; if ((outf = creat(buf, 0644)) < 0) { ! error(strerror(errno)); return FALSE; } mvwaddstr(Score, ERR_Y, ERR_X, buf); No differences encountered *** /usr/src/lib/libc/gen/Makefile.old Fri Feb 23 20:45:36 1996 --- /usr/src/lib/libc/gen/Makefile Wed Mar 20 20:40:13 1996 *************** *** 3,9 **** # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # ! # @(#)Makefile 5.7.5 (2.11BSD) 1996/02/23 # # Several routines have been rewritten in assembly language for the VAX and # the PDP. If you are not running on a VAX or PDP, you should use the --- 3,9 ---- # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # ! # @(#)Makefile 5.7.6 (2.11BSD) 1996/03/20 # # Several routines have been rewritten in assembly language for the VAX and # the PDP. If you are not running on a VAX or PDP, you should use the *************** *** 14,20 **** CFLAGS= -O ${DEFS} STDSRC= abort.c alarm.c atoi.c atol.c calloc.c closedir.c crypt.c \ ! ctime.c ctype_.c daemon.c devname.c disklabel.c err.c errlst.c \ execvp.c fakcu.c \ fstab.c gcvt.c getenv.c getgrent.c getgrgid.c getgrnam.c getlogin.c \ getpass.c getpwent.c getloadavg.c getmntinfo.c \ --- 14,20 ---- CFLAGS= -O ${DEFS} STDSRC= abort.c alarm.c atoi.c atol.c calloc.c closedir.c crypt.c \ ! ctime.c ctype_.c daemon.c devname.c disklabel.c err.c \ execvp.c fakcu.c \ fstab.c gcvt.c getenv.c getgrent.c getgrgid.c getgrnam.c getlogin.c \ getpass.c getpwent.c getloadavg.c getmntinfo.c \ *************** *** 25,34 **** setmode.c \ setenv.c seteuid.c setruid.c siglist.c signal.c siginterrupt.c \ sleep.c strcasecmp.c strftime.c swab.c sysctl.c syslog.c system.c \ telldir.c time.c timezone.c ttyname.c ttyslot.c ualarm.c usleep.c \ valloc.c strdup.c strsep.c uname.c wait.c wait3.c waitpid.c STDOBJ= abort.o alarm.o atoi.o atol.o calloc.o closedir.o crypt.o \ ! ctime.o ctype_.o daemon.o devname.o disklabel.o err.o errlst.o \ execvp.o fakcu.o \ fstab.o gcvt.o getenv.o getgrent.o getgrgid.o getgrnam.o getlogin.o \ getpass.o getpwent.o getloadavg.o getmntinfo.o \ --- 25,35 ---- setmode.c \ setenv.c seteuid.c setruid.c siglist.c signal.c siginterrupt.c \ sleep.c strcasecmp.c strftime.c swab.c sysctl.c syslog.c system.c \ + syserrlst.c \ telldir.c time.c timezone.c ttyname.c ttyslot.c ualarm.c usleep.c \ valloc.c strdup.c strsep.c uname.c wait.c wait3.c waitpid.c STDOBJ= abort.o alarm.o atoi.o atol.o calloc.o closedir.o crypt.o \ ! ctime.o ctype_.o daemon.o devname.o disklabel.o err.o \ execvp.o fakcu.o \ fstab.o gcvt.o getenv.o getgrent.o getgrgid.o getgrnam.o getlogin.o \ getpass.o getpwent.o getloadavg.o getmntinfo.o \ *************** *** 39,44 **** --- 40,46 ---- setmode.o \ setenv.o seteuid.o setruid.o siglist.o signal.o siginterrupt.o \ sleep.o strcasecmp.o strftime.o swab.o sysctl.o syslog.o system.o \ + syserrlst.o \ telldir.o time.o timezone.o ttyname.o ttyslot.o ualarm.o usleep.o \ valloc.o strdup.o strsep.o uname.o wait.o wait3.o waitpid.o *************** *** 108,114 **** devname.o: /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/paths.h devname.o: /usr/include/stdio.h err.o: err.c /usr/include/stdio.h /usr/include/varargs.h - errlst.o: errlst.c execvp.o: execvp.c /usr/include/errno.h fakcu.o: fakcu.c fstab.o: fstab.c /usr/include/fstab.h /usr/include/stdio.h /usr/include/ctype.h --- 110,115 ---- *************** *** 161,167 **** devname.o: /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/paths.h devname.o: /usr/include/stdio.h err.o: err.c /usr/include/stdio.h /usr/include/varargs.h - errlst.o: errlst.c execvp.o: execvp.c /usr/include/errno.h fakcu.o: fakcu.c fstab.o: fstab.c /usr/include/fstab.h /usr/include/stdio.h /usr/include/ctype.h --- 162,167 ---- *** /usr/src/lib/libc/string/Makefile.old Mon Jan 15 20:19:16 1996 --- /usr/src/lib/libc/string/Makefile Wed Mar 20 22:07:51 1996 *************** *** 1,5 **** # ! # @(#)Makefile 1.1 (2.11BSD GTE) 1995/1/15 # # This is the Makefile for the 'string' functions. New routines ported from # 4.4BSD's libc/string directory go here but existing libc/gen files are --- 1,5 ---- # ! # @(#)Makefile 1.2 (2.11BSD GTE) 1996/3/20 # # This is the Makefile for the 'string' functions. New routines ported from # 4.4BSD's libc/string directory go here but existing libc/gen files are *************** *** 10,17 **** CFLAGS= -O ${DEFS} CC= cc ! SRCS= strcspn.c strpbrk.c strsep.c strspn.c strstr.c strtok.c ! OBJS= strcspn.o strpbrk.o strsep.o strspn.o strstr.o strtok.o .c.o: ${CC} -p ${CFLAGS} -c $*.c --- 10,17 ---- CFLAGS= -O ${DEFS} CC= cc ! SRCS= strcspn.c strpbrk.c strerror.c strsep.c strspn.c strstr.c strtok.c ! OBJS= strcspn.o strpbrk.o strerror.o strsep.o strspn.o strstr.o strtok.o .c.o: ${CC} -p ${CFLAGS} -c $*.c *** /usr/src/lib/libkern/Makefile.old Sat Feb 3 20:32:04 1996 --- /usr/src/lib/libkern/Makefile Tue Mar 26 21:14:47 1996 *************** *** 1,5 **** # ! # @(#)Makefile 1.1 (2.11BSD GTE) 1996/2/3 # # This is the Makefile for 'libkern.a'. These are the specially compiled # versions of libc.a routines which the kernel and network use. --- 1,5 ---- # ! # @(#)Makefile 1.2 (2.11BSD GTE) 1996/3/26 # # This is the Makefile for 'libkern.a'. These are the specially compiled # versions of libc.a routines which the kernel and network use. *************** *** 44,50 **** depend: ${SRCS} mkdep ${CFLAGS} ${SRCS} ! install: libkern.a install -o root -g bin -m 644 libkern.a ${DESTDIR}/usr/lib/libkern.a ranlib ${DESTDIR}/usr/lib/libkern.a --- 44,50 ---- depend: ${SRCS} mkdep ${CFLAGS} ${SRCS} ! install: FRC libkern.a install -o root -g bin -m 644 libkern.a ${DESTDIR}/usr/lib/libkern.a ranlib ${DESTDIR}/usr/lib/libkern.a *** /usr/src/man/man3/Makefile.old Fri Feb 23 20:40:26 1996 --- /usr/src/man/man3/Makefile Thu Mar 28 21:31:08 1996 *************** *** 14,20 **** # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ! # @(#)Makefile 5.4.9 (2.11BSD) 1996/2/23 # MDIR= /usr/man/cat3 SRCS1= abort.3 abs.3 alarm.3 asinh.3 assert.3 atof.3 bstring.3 byteorder.3 \ --- 14,20 ---- # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ! # @(#)Makefile 5.4.10 (2.11BSD) 1996/3/20 # MDIR= /usr/man/cat3 SRCS1= abort.3 abs.3 alarm.3 asinh.3 assert.3 atof.3 bstring.3 byteorder.3 \ *************** *** 36,41 **** --- 36,42 ---- strcspn.3 strpbrk.3 strsep.3 strspn.3 strtol.3 strtoul.3 strstr.3 \ swab.3 sysctl.3 syslog.3 \ system.3 termcap.3 time.3 times.3 ttyname.3 ualarm.3 uname.3 ungetc.3 \ + syserrlst.3 \ usleep.3 utime.3 valloc.3 varargs.3 OBJS1= abort.0 abs.0 alarm.0 asinh.0 assert.0 atof.0 bstring.0 byteorder.0 \ compat-sys5.0 crypt.0 ctime.0 ctype.0 curses.0 dbm.0 daemon.0 \ *************** *** 56,61 **** --- 57,63 ---- strcspn.0 strpbrk.0 strsep.0 strspn.0 strtol.0 strtoul.0 strstr.0 \ swab.0 sysctl.0 syslog.0 \ system.0 termcap.0 time.0 times.0 ttyname.0 ualarm.0 uname.0 ungetc.0 \ + syserrlst.0 \ usleep.0 utime.0 valloc.0 varargs.0 REMO1= edata.0 etext.0 j1.0 jn.0 ns_addr.0 ns_ntoa.0 y0.0 y1.0 yn.0 acos.0 \ asin.0 atan.0 atan2.0 atoi.0 atol.0 cos.0 dbm_clearerr.0 dbm_close.0 \ *************** *** 74,85 **** REMO2= re_comp.0 re_exec.0 scalb.0 setkey.0 space.0 srand.0 tanh.0 \ timezone.0 toascii.0 tolower.0 toupper.0 ltol3.0 _longjmp.0 \ _setjmp.0 acosh.0 alloca.0 atanh.0 cabs.0 calloc.0 ceil.0 \ ! closelog.0 errlist.0 fabs.0 fdopen.0 free.0 freopen.0 fscanf.0 \ ftell.0 fwrite.0 index.0 initstate.0 longjmp.0 mkstemp.0 openlog.0 \ realloc.0 remque.0 rewind.0 rindex.0 rint.0 setegid.0 seteuid.0 \ setgid.0 setlogmask.0 setrgid.0 setruid.0 setstate.0 srandom.0 \ sscanf.0 strcat.0 strcmp.0 strcpy.0 strlen.0 strncat.0 strncmp.0 \ ! strncpy.0 strcasecmp.0 strncasecmp.0 sys.0 sys_errlist.0 sys_nerr.0 \ sprintf.0 vfprintf.0 vprintf.0 vsprintf.0 alphasort.0 bcmp.0 bcopy.0 \ bzero.0 clearerr.0 feof.0 fflush.0 ffs.0 fileno.0 fprintf.0 gamma.0 \ getdiskbyname.0 isatty.0 moncontrol.0 monstartup.0 setbuffer.0 \ --- 76,88 ---- REMO2= re_comp.0 re_exec.0 scalb.0 setkey.0 space.0 srand.0 tanh.0 \ timezone.0 toascii.0 tolower.0 toupper.0 ltol3.0 _longjmp.0 \ _setjmp.0 acosh.0 alloca.0 atanh.0 cabs.0 calloc.0 ceil.0 \ ! closelog.0 fabs.0 fdopen.0 free.0 freopen.0 fscanf.0 \ ftell.0 fwrite.0 index.0 initstate.0 longjmp.0 mkstemp.0 openlog.0 \ realloc.0 remque.0 rewind.0 rindex.0 rint.0 setegid.0 seteuid.0 \ setgid.0 setlogmask.0 setrgid.0 setruid.0 setstate.0 srandom.0 \ sscanf.0 strcat.0 strcmp.0 strcpy.0 strlen.0 strncat.0 strncmp.0 \ ! strncpy.0 strcasecmp.0 strncasecmp.0 \ ! strerror.0 \ sprintf.0 vfprintf.0 vprintf.0 vsprintf.0 alphasort.0 bcmp.0 bcopy.0 \ bzero.0 clearerr.0 feof.0 fflush.0 ffs.0 fileno.0 fprintf.0 gamma.0 \ getdiskbyname.0 isatty.0 moncontrol.0 monstartup.0 setbuffer.0 \ *************** *** 257,263 **** ln ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/calloc.0 ln ${DESTDIR}${MDIR}/floor.0 ${DESTDIR}${MDIR}/ceil.0 ln ${DESTDIR}${MDIR}/syslog.0 ${DESTDIR}${MDIR}/closelog.0 ! ln ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/errlist.0 ln ${DESTDIR}${MDIR}/floor.0 ${DESTDIR}${MDIR}/fabs.0 ln ${DESTDIR}${MDIR}/fopen.0 ${DESTDIR}${MDIR}/fdopen.0 ln ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/free.0 --- 260,266 ---- ln ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/calloc.0 ln ${DESTDIR}${MDIR}/floor.0 ${DESTDIR}${MDIR}/ceil.0 ln ${DESTDIR}${MDIR}/syslog.0 ${DESTDIR}${MDIR}/closelog.0 ! ln ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/strerror.0 ln ${DESTDIR}${MDIR}/floor.0 ${DESTDIR}${MDIR}/fabs.0 ln ${DESTDIR}${MDIR}/fopen.0 ${DESTDIR}${MDIR}/fdopen.0 ln ${DESTDIR}${MDIR}/malloc.0 ${DESTDIR}${MDIR}/free.0 *************** *** 293,301 **** ln ${DESTDIR}${MDIR}/string.0 ${DESTDIR}${MDIR}/strncpy.0 ln ${DESTDIR}${MDIR}/string.0 ${DESTDIR}${MDIR}/strcasecmp.0 ln ${DESTDIR}${MDIR}/string.0 ${DESTDIR}${MDIR}/strncasecmp.0 - ln ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/sys.0 - ln ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/sys_errlist.0 - ln ${DESTDIR}${MDIR}/perror.0 ${DESTDIR}${MDIR}/sys_nerr.0 ln ${DESTDIR}${MDIR}/printf.0 ${DESTDIR}${MDIR}/sprintf.0 ln ${DESTDIR}${MDIR}/printf.0 ${DESTDIR}${MDIR}/vfprintf.0 ln ${DESTDIR}${MDIR}/printf.0 ${DESTDIR}${MDIR}/vprintf.0 --- 296,301 ---- *** /usr/src/man/man3/perror.3.old Sun Dec 14 15:07:20 1986 --- /usr/src/man/man3/perror.3 Thu Mar 21 22:29:00 1996 *************** *** 2,48 **** .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" ! .\" @(#)perror.3 6.1 (Berkeley) 5/15/85 .\" ! .TH PERROR 3 "May 15, 1985" .UC 4 .SH NAME ! perror, sys_errlist, sys_nerr \- system error messages .SH SYNOPSIS .nf .B perror(s) .B char *s; ! .PP ! .B int sys_nerr; ! .B char *sys_errlist[]; .fi .SH DESCRIPTION ! .I Perror ! produces a short error message on the standard error file ! describing the last error encountered during a call ! to the system from a C program. ! First the argument string ! .I s ! is printed, then a colon, then the message and a new-line. ! Most usefully, the argument string is the name ! of the program which incurred the error. ! The error number is taken from the external variable ! .I errno ! (see ! .IR intro (2)), ! which is set when errors occur but not cleared when ! non-erroneous calls are made. .PP ! To simplify variant formatting of messages, the vector of message strings ! .I sys_errlist ! is provided; .I errno ! can be used as an index in this table to get the ! message string without the newline. ! .I Sys_nerr ! is the number of messages provided for in the table; ! it should be checked because new error codes may be added to the system before ! they are added to the table. .SH "SEE ALSO" intro(2), ! psignal(3) --- 2,80 ---- .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" ! .\" @(#)perror.3 6.1.1 (2.11BSD) 1996/3/21 .\" ! .TH PERROR 3 "March 21, 1996" .UC 4 .SH NAME ! perror, strerror \- system error messages .SH SYNOPSIS .nf .B perror(s) .B char *s; ! .sp ! .B #include <string.h> ! .sp ! .I char * ! .B strerror(errnum) ! .B int errnum; .fi .SH DESCRIPTION ! The ! .B strerror() ! and ! .B perror() ! functions look up the error message string corresponding to an error number. .PP ! The ! .B strerror() ! function accepts an error number argument ! .I errnum ! and returns a pointer to the corresponding message string. ! .PP ! The ! .B perror() ! function ! finds the error message corresponding to the current value of the ! global variable .I errno ! (intro(2)) and writes it, followed by a newline, to the standard error ! file descriptor. If the argument ! .I string ! is non-NULL, it is prepended to the message string and separated ! from it by a colon and space (`: '). ! If ! .I string ! is NULL, only the error message string is printed. ! .PP ! If ! .I errnum ! is not a recognized error number, the error message string ! will contain ``Unknown error: '' followed by the error number ! in decimal. ! .PP ! The error messages are stored in a data file now rather than an in memory ! array. See ! .BR syserror (5). .SH "SEE ALSO" + mkerrlst(1), intro(2), ! psignal(3), ! strerror(3), ! syserror(3), ! syserror(5) ! .SH BUGS ! The ! .BR strerror () ! function returns its result in a static buffer which may be ! overwritten by subsequent calls. ! .PP ! The array ! .B sys_errlist[] ! and the global ! .B sys_nerr ! are ! .B obsolete ! and should not be used. They have, for the time being, been placed in ! an object library ! .BR liberrlst.a . *** /usr/src/man/man5/Makefile.old Thu Jan 25 23:41:20 1996 --- /usr/src/man/man5/Makefile Wed Mar 20 20:42:05 1996 *************** *** 14,20 **** # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ! # @(#)Makefile 5.4.2 (2.11BSD GTE) 1996/1/25 # MDIR= /usr/man/cat5 SRCS= L-devices.5 L-dialcodes.5 L.aliases.5 L.cmds.5 L.sys.5 \ --- 14,20 ---- # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ! # @(#)Makefile 5.4.3 (2.11BSD GTE) 1996/3/20 # MDIR= /usr/man/cat5 SRCS= L-devices.5 L-dialcodes.5 L.aliases.5 L.cmds.5 L.sys.5 \ *************** *** 23,28 **** --- 23,29 ---- group.5 hosts.5 map3270.5 networks.5 passwd.5 \ phones.5 plot.5 printcap.5 protocols.5 remote.5 resolver.5 \ services.5 shells.5 stack.5 tar.5 termcap.5 tp.5 ttys.5 types.5 \ + syserrlst.5 \ tzfile.5 utmp.5 uuencode.5 vfont.5 vgrindefs.5 OBJS= L-devices.0 L-dialcodes.0 L.aliases.0 L.cmds.0 L.sys.0 \ USERFILE.0 a.out.0 acct.0 aliases.0 core.0 dbx.0 \ *************** *** 30,35 **** --- 31,37 ---- group.0 hosts.0 map3270.0 networks.0 passwd.0 \ phones.0 plot.0 printcap.0 protocols.0 remote.0 resolver.0 \ services.0 shells.0 stack.0 tar.0 termcap.0 tp.0 ttys.0 types.0 \ + syserrlst.0 \ tzfile.0 utmp.0 uuencode.0 vfont.0 vgrindefs.0 .SUFFIXES: .5 .0