diff -Naur heirloom-sh-050706/CHANGES heirloom-sh-last-cvs/CHANGES --- heirloom-sh-050706/CHANGES 2005-07-06 14:59:21.000000000 +0400 +++ heirloom-sh-last-cvs/CHANGES 2005-08-19 00:51:03.000000000 +0400 @@ -1,3 +1,7 @@ +Release ... +* A bug in the supplied realloc() replacement could result in heap + corruption. (No resulting failures have been observed with sh so far.) + Release 050706 * Spell checking for the "cd" command is now optionally available. It can be enabled in the makefile at wish. diff -Naur heirloom-sh-050706/fault.c heirloom-sh-last-cvs/fault.c --- heirloom-sh-050706/fault.c 2005-07-02 19:54:01.000000000 +0400 +++ heirloom-sh-last-cvs/fault.c 2009-01-18 18:29:16.000000000 +0300 @@ -31,7 +31,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)fault.c 1.11 (gritter) 6/22/05 + * Sccsid @(#)fault.c 1.13 (gritter) 1/18/09 */ /* from OpenSolaris "fault.c 1.27 05/06/08 SMI" SVr4.0 1.13.17.1 */ /* @@ -39,11 +39,10 @@ */ #include "defs.h" -#include #include #include -static void (*psig0_func)() = SIG_ERR; /* previous signal handler for signal 0 */ +static void (*psig0_func)(int) = SIG_ERR; /* previous signal handler for signal 0 */ static char sigsegv_stack[SIGSTKSZ]; static BOOL sleeping = 0; @@ -89,7 +88,7 @@ }; void (*( -sigval[MAXTRAP]))() = +sigval[MAXTRAP]))(int) = { 0, 0, /* done, hangup */ @@ -513,7 +512,7 @@ void init_sigval(void) { - extern void (*(sigval[]))(); + extern void (*(sigval[]))(int); #ifdef SIGHUP if (SIGHUP < MAXTRAP) @@ -557,7 +556,7 @@ #endif #ifdef SIGSEGV if (SIGSEGV < MAXTRAP) - sigval[SIGSEGV] = sigsegv; + sigval[SIGSEGV] = (void(*)(int))sigsegv; #endif #ifdef SIGEMT if (SIGEMT < MAXTRAP) diff -Naur heirloom-sh-050706/getopt.c heirloom-sh-last-cvs/getopt.c --- heirloom-sh-050706/getopt.c 2005-06-22 07:18:54.000000000 +0400 +++ heirloom-sh-last-cvs/getopt.c 2007-12-16 23:54:21.000000000 +0300 @@ -26,7 +26,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)getopt.c 1.7 (gritter) 6/22/05 + * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07 */ /* from OpenSolaris "getopt.c 1.23 05/06/08 SMI" */ @@ -44,23 +44,40 @@ * ([a-z][A-Z][0-9]). */ -#include +#include #include #include -/* - * Generalized error processing macro. The parameter i is a pointer to - * the failed option string. If it is NULL, the character in c is converted - * to a string and displayed instead. s is the error text. - * - * This could be / should be a static function if it is used more, but - * that would require moving the 'optstring[0]' test outside of the - * function. - */ -#define ERR(s, c) if (opterr && optstring[0] != ':') { \ - char errbuf[256]; \ - snprintf(errbuf, sizeof (errbuf), s, argv[0], c); \ - write(2, errbuf, strlen(errbuf)); } +extern ssize_t write(int, const void *, size_t); + +char *optarg = NULL; +int optind = 1; +int opterr = 1; +int optopt = 0; + +#define ERR(s, c) err(s, c, optstring, argv[0]) +static void +err(const char *s, int c, const char *optstring, const char *argv0) +{ + char errbuf[256], *ep = errbuf; + const char *cp; + + if (opterr && optstring[0] != ':') { + for (cp = argv0; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++) + *ep = *cp; + for (cp = ": "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++) + *ep = *cp; + for (cp = s; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++) + *ep = *cp; + for (cp = " -- "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++) + *ep = *cp; + if (ep<&errbuf[sizeof errbuf]) + *ep++ = c; + if (ep<&errbuf[sizeof errbuf]) + *ep++ = '\n'; + write(2, errbuf, ep - errbuf); + } +} /* * getopt_sp is required to keep state between successive calls to getopt() @@ -136,7 +153,7 @@ optarg = NULL; if ((cp = parse(optstring, c)) == NULL) { /* LINTED: variable format specifier */ - ERR("%s: illegal option -- %c\n", c); + ERR("illegal option", c); if (argv[optind][++getopt_sp] == '\0') { optind++; getopt_sp = 1; @@ -170,7 +187,7 @@ optarg = &argv[optind++][getopt_sp+1]; } else if (++optind >= argc) { /* LINTED: variable format specifier */ - ERR("%s: option requires an argument -- %c\n", c); + ERR("option requires an argument", c); getopt_sp = 1; optarg = NULL; return (optstring[0] == ':' ? ':' : '?'); @@ -187,3 +204,19 @@ } return (c); } /* getopt() */ + +#ifdef __APPLE__ +/* + * Starting with Mac OS 10.5 Leopard, turns getopt() + * into getopt$UNIX2003() by default. Consequently, this function + * is called instead of the one defined above. However, optind is + * still taken from this file, so in effect, options are not + * properly handled. Defining an own getopt$UNIX2003() function + * works around this issue. + */ +int +getopt$UNIX2003(int argc, char *const argv[], const char *optstring) +{ + return getopt(argc, argv, optstring); +} +#endif /* __APPLE__ */ diff -Naur heirloom-sh-050706/heirloom-sh.spec heirloom-sh-last-cvs/heirloom-sh.spec --- heirloom-sh-050706/heirloom-sh.spec 2005-07-06 14:59:57.000000000 +0400 +++ heirloom-sh-last-cvs/heirloom-sh.spec 2005-08-02 02:25:04.000000000 +0400 @@ -1,14 +1,14 @@ # -# Sccsid @(#)heirloom-sh.spec 1.4 (gritter) 6/20/05 +# Sccsid @(#)heirloom-sh.spec 1.5 (gritter) 7/12/05 # Summary: The Heirloom Bourne Shell. Name: heirloom-sh -Version: 050706 +Version: 000000 Release: 1 License: Other Source: %{name}-%{version}.tar.bz2 Group: System Environment/Base -Vendor: Gunnar Ritter +Vendor: Gunnar Ritter URL: BuildRoot: %{_tmppath}/%{name}-root diff -Naur heirloom-sh-050706/io.c heirloom-sh-last-cvs/io.c --- heirloom-sh-050706/io.c 2005-07-02 19:54:01.000000000 +0400 +++ heirloom-sh-last-cvs/io.c 2006-08-25 03:36:48.000000000 +0400 @@ -31,7 +31,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)io.c 1.5 (gritter) 6/15/05 + * Sccsid @(#)io.c 1.6 (gritter) 8/25/06 */ /* from OpenSolaris "io.c 1.19 05/06/08 SMI" SVr4.0 1.10.2.1 */ /* @@ -161,12 +161,12 @@ if (f1 != f2) { - fs = fcntl(f2, 1, 0); + fs = fcntl(f2, F_GETFD, 0); close(f2); - fcntl(f1, 0, f2); + fcntl(f1, F_DUPFD, f2); close(f1); if (fs == 1) - fcntl(f2, 2, 1); + fcntl(f2, F_SETFD, FD_CLOEXEC); if (f2 == 0) ioset |= 1; } diff -Naur heirloom-sh-050706/main.c heirloom-sh-last-cvs/main.c --- heirloom-sh-050706/main.c 2005-07-03 23:25:46.000000000 +0400 +++ heirloom-sh-last-cvs/main.c 2007-03-17 17:02:02.000000000 +0300 @@ -30,7 +30,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)main.c 1.10 (gritter) 7/3/05 + * Sccsid @(#)main.c 1.12 (gritter) 2/26/07 */ @@ -84,11 +84,15 @@ int main(int c, char *v[], char *e[]) { - register int rflag = ttyflg; + int rflag = ttyflg; int rsflag = 1; /* local restricted flag */ - register unsigned char *flagc = flagadr; + unsigned char *flagc = flagadr; struct namnod *n; + (void) &rflag; + (void) &rsflag; + (void) &flagc; + init_sigval(); mypid = getpid(); mypgid = getpgid(mypid); @@ -354,6 +358,8 @@ time_t curtime = 0; long timeout = 0; + (void) &mailtime; + (void) &timeout; /* * move input */ @@ -484,10 +490,10 @@ if (fa != fb) { close(fb); - fcntl(fa, 0, fb); /* normal dup */ + fcntl(fa, F_DUPFD, fb); /* normal dup */ close(fa); } - fcntl(fb, 2, 1); /* autoclose for fb */ + fcntl(fb, F_SETFD, FD_CLOEXEC); /* autoclose for fb */ } #endif diff -Naur heirloom-sh-050706/makefile heirloom-sh-last-cvs/makefile --- heirloom-sh-050706/makefile 2005-07-06 14:59:57.000000000 +0400 +++ heirloom-sh-last-cvs/makefile 2007-03-17 17:02:02.000000000 +0300 @@ -18,7 +18,7 @@ # Enable this definition if spell checking should be done for the # "cd" special command. # -#SPELL=-DSPELL +SPELL=-DSPELL # # A BSD-compatible install command. @@ -28,7 +28,7 @@ # # The strip command that is used at installation time. # -STRIP=strip +STRIP=strip -s -R .comment -R .note # # A command to create the link from "jsh" to "sh". @@ -49,7 +49,7 @@ # # Flags for the C preprocessor. # -CFLAGS=-D_GNU_SOURCE +CPPFLAGS=-D_GNU_SOURCE # # A define for large file support, if necessary. @@ -59,12 +59,7 @@ # # The compiler warning options. # -WERROR=-Werror -WARN = -Wchar-subscripts -Wformat -Wno-format-y2k -Wimplicit \ - -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs \ - -Wunused-function -Wunused-label -Wunused-variable -Wunused-value \ - -Wuninitialized -Wmultichar -Wpointer-arith $(WERROR) -WARN= +#WARN= # # End of adjustable settings. @@ -127,6 +122,22 @@ mrproper: clean +PKGROOT = /var/tmp/heirloom-sh +PKGTEMP = /var/tmp +PKGPROTO = pkgproto + +heirloom-sh.pkg: all + rm -rf $(PKGROOT) + mkdir -p $(PKGROOT) + $(MAKE) ROOT=$(PKGROOT) install + rm -f $(PKGPROTO) + echo 'i pkginfo' >$(PKGPROTO) + (cd $(PKGROOT) && find . -print | pkgproto) | >>$(PKGPROTO) sed 's:^\([df] [^ ]* [^ ]* [^ ]*\) .*:\1 root root:; s:^f\( [^ ]* etc/\):v \1:; s:^f\( [^ ]* var/\):v \1:; s:^\(s [^ ]* [^ ]*=\)\([^/]\):\1./\2:' + rm -rf $(PKGTEMP)/$@ + pkgmk -a `uname -m` -d $(PKGTEMP) -r $(PKGROOT) -f $(PKGPROTO) $@ + pkgtrans -o -s $(PKGTEMP) `pwd`/$@ $@ + rm -rf $(PKGROOT) $(PKGPROTO) $(PKGTEMP)/$@ + args.o: args.c defs.h mac.h mode.h name.h stak.h brkincr.h ctype.h blok.o: blok.c defs.h mac.h mode.h name.h stak.h brkincr.h ctype.h bltin.o: bltin.c defs.h mac.h mode.h name.h stak.h brkincr.h ctype.h \ diff -Naur heirloom-sh-050706/mapmalloc.c heirloom-sh-last-cvs/mapmalloc.c --- heirloom-sh-050706/mapmalloc.c 2005-06-19 15:49:34.000000000 +0400 +++ heirloom-sh-last-cvs/mapmalloc.c 2005-08-19 00:51:03.000000000 +0400 @@ -1,8 +1,7 @@ /* * AT&T Unix 7th Edition memory allocation routines. * - * Modified for ex by Gunnar Ritter, Freiburg i. Br., Germany, - * February 2005. + * Modified by Gunnar Ritter, Freiburg i. Br., Germany, February 2005. * * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved. * @@ -36,7 +35,7 @@ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * Sccsid @(#)mapmalloc.c 1.4 (gritter) 2/20/05 + * Sccsid @(#)mapmalloc.c 2.1 (gritter) 8/18/05 */ #include @@ -190,8 +189,8 @@ return(mmap(addr,len,PROT_READ|PROT_WRITE,flags,fd,0)); } -void * -malloc(size_t nbytes) +static void * +mallock(size_t nbytes, union store *start, union store *end) { register union store *p, *q; struct pool *o; @@ -229,7 +228,9 @@ if (ua) allocp = p->ptr; } - if(q>=p+nw && p+nw>=p) + if(q>=p+nw && p+nw>=p && (start==NULL || + p+nwend || + p+2==start)) goto found; } q = p; @@ -291,6 +292,12 @@ return(p+2); } +void * +malloc(size_t nbytes) +{ + return mallock(nbytes, NULL, NULL); +} + /* freeing strategy tuned for LIFO allocation */ void @@ -337,7 +344,7 @@ free(p); onw = p[-2].ptr - p; o = p[-1].pool; - q = malloc(nbytes); + q = mallock(nbytes, p, &p[onw]); if(q==NULL || q==p) return(q); s = p; diff -Naur heirloom-sh-050706/pkginfo heirloom-sh-last-cvs/pkginfo --- heirloom-sh-050706/pkginfo 1970-01-01 03:00:00.000000000 +0300 +++ heirloom-sh-last-cvs/pkginfo 2007-02-25 01:38:03.000000000 +0300 @@ -0,0 +1,11 @@ +# Sccsid @(#)pkginfo 1.2 (gritter) 2/24/07 +PKG=heirloom-sh +NAME=Heirloom Bourne Shell +DESC=A collection of standard Unix utilities. +VENDOR=Gunnar Ritter +HOTLINE=http://heirloom.sourceforge.net +EMAIL=gunnarr@acm.org +VERSION=061225 +ARCH=IA32,i386 +CATEGORY=utilities +BASEDIR=/ diff -Naur heirloom-sh-050706/README heirloom-sh-last-cvs/README --- heirloom-sh-050706/README 2005-07-02 17:40:00.000000000 +0400 +++ heirloom-sh-last-cvs/README 2006-01-01 23:25:58.000000000 +0300 @@ -1,8 +1,8 @@ README file for the Heirloom Bourne Shell ========================================= -This is a portable version of the OpenSolaris Bourne Shell. It is known -to compile on: +This is a portable version of the OpenSolaris Bourne Shell. It has +been compiled successfully on: Linux glibc 2.2 and above, diet libc Solaris 9 and above @@ -12,10 +12,21 @@ Tru64 Unix 5.1 FreeBSD 5.4 NetBSD 2.0 +DragonFlyBSD 1.3.7-DEVELOPMENT +Mac OS X 10.4.3 -To build and install, see the settings in the "makefile" and adjust -them if necessary. You can also build a RPM package with the command -"rpmbuild -tb heirloom-sh-.tar.bz2". +To build and install the RPM package: + +- Execute "rpmbuild -tb heirloom-sh-.tar.bz2". The result + can be found in /usr/src/redhat/RPMS/i386 (or likewise) and can + be installed using "rpm -U". + +To build and install manually: + +- Adjust the installation paths and compiler settings in "makefile". + +- Execute "make", followed by "make install". "make mrproper" will + destroy all generated files. New releases of this project are announced on Freshmeat. If you want to get notified by email on each release, use their subscription service at @@ -29,4 +40,4 @@ Freiburg i. Br. Germany - 7/2/05 + 1/1/06 diff -Naur heirloom-sh-050706/service.c heirloom-sh-last-cvs/service.c --- heirloom-sh-050706/service.c 2005-06-26 15:55:55.000000000 +0400 +++ heirloom-sh-last-cvs/service.c 2006-08-25 03:36:48.000000000 +0400 @@ -31,7 +31,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)service.c 1.10 (gritter) 6/26/05 + * Sccsid @(#)service.c 1.11 (gritter) 8/25/06 */ /* from OpenSolaris "service.c 1.23 05/06/08 SMI" SVr4.0 1.22.5.1 */ @@ -109,7 +109,7 @@ } else if (flags & rshflg) { failed(ion, restricted); } else if (iof & IOAPP && - (fd = open((char *)ion, 1)) >= 0) { + (fd = open((char *)ion, O_WRONLY)) >= 0) { lseek(fd, (off_t)0, SEEK_END); } else { fd = create(ion); @@ -177,7 +177,7 @@ do { path = catpath(path, name); - } while ((f = open((char *)curstak(), 0)) < 0 && path); + } while ((f = open((char *)curstak(), O_RDONLY)) < 0 && path); return (f); } diff -Naur heirloom-sh-050706/sh.1 heirloom-sh-last-cvs/sh.1 --- heirloom-sh-050706/sh.1 2005-07-03 20:43:18.000000000 +0400 +++ heirloom-sh-last-cvs/sh.1 2005-07-13 03:22:24.000000000 +0400 @@ -1,5 +1,5 @@ .\" -.\" Sccsid @(#)sh.1 1.13 (gritter) 7/3/05 +.\" Sccsid @(#)sh.1 1.14 (gritter) 7/13/05 .\" Derived from sh(1) and test(1), Unix 7th edition: .\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved. .\" @@ -33,7 +33,7 @@ .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.TH SH 1 "7/3/05" "Heirloom Bourne Shell" "User Commands" +.TH SH 1 "7/13/05" "Heirloom Bourne Shell" "User Commands" .SH NAME sh, jsh \- the standard command interpreter .SH SYNOPSIS @@ -978,13 +978,16 @@ also causes a non-zero return value, and an error message is printed to standard error. .TP -\fBhash\fR [\fIname\fR ...] +\fBhash\fR [\fB\-r\fR] [\fIname\fR ...] The shell maintains a hash table of the locations of external commands. If .I name arguments are given, each one is looked up and is inserted into the table if it is found. +With the +.I \-r +option, the table is cleared. Otherwise, a list of the commands currently in the table is printed. .TP diff -Naur heirloom-sh-050706/test.c heirloom-sh-last-cvs/test.c --- heirloom-sh-050706/test.c 2005-06-29 22:39:27.000000000 +0400 +++ heirloom-sh-last-cvs/test.c 2006-12-25 22:09:20.000000000 +0300 @@ -30,7 +30,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)test.c 1.9 (gritter) 6/29/05 + * Sccsid @(#)test.c 1.10 (gritter) 12/25/06 */ /* from OpenSolaris "test.c 1.15 05/06/08 SMI" */ @@ -268,7 +268,8 @@ filtyp(const unsigned char *f, int field) { struct stat statb; - int (*statf)() = (field == S_IFLNK) ? lstat : stat; + int (*statf)(const char *, struct stat *) = + (field == S_IFLNK) ? lstat : stat; if ((*statf)(f, &statb) < 0) return(0); diff -Naur heirloom-sh-050706/ulimit.c heirloom-sh-last-cvs/ulimit.c --- heirloom-sh-050706/ulimit.c 2005-06-21 01:36:12.000000000 +0400 +++ heirloom-sh-last-cvs/ulimit.c 2005-11-22 01:19:57.000000000 +0300 @@ -31,7 +31,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)ulimit.c 1.10 (gritter) 6/20/05 + * Sccsid @(#)ulimit.c 1.11 (gritter) 11/21/05 */ /* from OpenSolaris "ulimit.c 1.12 05/06/08 SMI" */ @@ -39,6 +39,8 @@ * ulimit builtin */ +#include +#include #include #include #include "defs.h" diff -Naur heirloom-sh-050706/version.c heirloom-sh-last-cvs/version.c --- heirloom-sh-050706/version.c 2005-07-06 14:59:55.000000000 +0400 +++ heirloom-sh-last-cvs/version.c 2009-01-18 18:29:16.000000000 +0300 @@ -31,7 +31,7 @@ #else #define USED #endif -static const char id[] USED = "@(#)sh.sl 1.55 (gritter) 7/6/05"; +static const char id[] USED = "@(#)sh.sl 1.63 (gritter) 1/18/09"; /* SLIST */ /* args.c: * Sccsid @(#)args.c 1.5 (gritter) 6/16/05 @@ -47,33 +47,34 @@ echo.c: * Sccsid @(#)echo.c 1.9 (gritter) 7/2/05 error.c: * Sccsid @(#)error.c 1.6 (gritter) 6/22/05 expand.c: * Sccsid @(#)expand.c 1.6 (gritter) 6/22/05 -fault.c: * Sccsid @(#)fault.c 1.11 (gritter) 6/22/05 +fault.c: * Sccsid @(#)fault.c 1.13 (gritter) 1/18/09 func.c: * Sccsid @(#)func.c 1.4 (gritter) 6/15/05 -getopt.c: * Sccsid @(#)getopt.c 1.7 (gritter) 6/22/05 +getopt.c: * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07 hash.c: * Sccsid @(#)hash.c 1.6 (gritter) 6/26/05 hash.h: * Sccsid @(#)hash.h 1.4 (gritter) 6/15/05 hashserv.c: * Sccsid @(#)hashserv.c 1.4 (gritter) 6/15/05 -io.c: * Sccsid @(#)io.c 1.5 (gritter) 6/15/05 +io.c: * Sccsid @(#)io.c 1.6 (gritter) 8/25/06 jobs.c: * Sccsid @(#)jobs.c 1.13 (gritter) 6/23/05 mac.h: * Sccsid @(#)mac.h 1.6 (gritter) 6/19/05 macro.c: * Sccsid @(#)macro.c 1.8 (gritter) 6/16/05 -main.c: * Sccsid @(#)main.c 1.10 (gritter) 7/3/05 +main.c: * Sccsid @(#)main.c 1.12 (gritter) 2/26/07 +mapmalloc.c: * Sccsid @(#)mapmalloc.c 2.1 (gritter) 8/18/05 mode.h: * Sccsid @(#)mode.h 1.5 (gritter) 6/15/05 msg.c: * Sccsid @(#)msg.c 1.11 (gritter) 7/3/05 name.c: * Sccsid @(#)name.c 1.15 (gritter) 7/3/05 name.h: * Sccsid @(#)name.h 1.4 (gritter) 6/15/05 print.c: * Sccsid @(#)print.c 1.11 (gritter) 6/19/05 pwd.c: * Sccsid @(#)pwd.c 1.6 (gritter) 6/15/05 -service.c: * Sccsid @(#)service.c 1.10 (gritter) 6/26/05 +service.c: * Sccsid @(#)service.c 1.11 (gritter) 8/25/06 setbrk.c: * Sccsid @(#)setbrk.c 1.4 (gritter) 6/15/05 stak.c: * Sccsid @(#)stak.c 1.5 (gritter) 6/15/05 stak.h: * Sccsid @(#)stak.h 1.5 (gritter) 6/15/05 string.c: * Sccsid @(#)string.c 1.5 (gritter) 6/16/05 strsig.c: * Sccsid @(#)strsig.c 1.9 (gritter) 6/30/05 sym.h: * Sccsid @(#)sym.h 1.4 (gritter) 6/15/05 -test.c: * Sccsid @(#)test.c 1.9 (gritter) 6/29/05 +test.c: * Sccsid @(#)test.c 1.10 (gritter) 12/25/06 timeout.h: * Sccsid @(#)timeout.h 1.4 (gritter) 6/15/05 -ulimit.c: * Sccsid @(#)ulimit.c 1.10 (gritter) 6/20/05 +ulimit.c: * Sccsid @(#)ulimit.c 1.11 (gritter) 11/21/05 umask.c: * Sccsid @(#)umask.c 1.1 (gritter) 6/16/05 word.c: * Sccsid @(#)word.c 1.7 (gritter) 6/22/05 xec.c: * Sccsid @(#)xec.c 1.6 (gritter) 6/30/05