X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/2b84abb596f52ab2068d52108adc96838ad4340a..31cef89cb428866f787983e68246030321893df4:/usr/src/cmd/csh/sh.misc.c diff --git a/usr/src/cmd/csh/sh.misc.c b/usr/src/cmd/csh/sh.misc.c index 3382e678cb..11210c2a00 100644 --- a/usr/src/cmd/csh/sh.misc.c +++ b/usr/src/cmd/csh/sh.misc.c @@ -1,4 +1,5 @@ -/* Copyright (c) 1979 Regents of the University of California */ +static char *sccsid = "@(#)sh.misc.c 4.1 10/9/80"; + #include "sh.h" /* @@ -19,6 +20,12 @@ digit(c) return (c >= '0' && c <= '9'); } +alnum(c) + register char c; +{ + return (letter(c) || digit(c)); +} + any(c, s) register int c; register char *s; @@ -32,21 +39,30 @@ any(c, s) char * calloc(i, j) - register int i; - int j; + register unsigned i; + unsigned j; { register char *cp, *dp; +#ifdef debug + static char *av[2] = {0, 0}; +#endif i *= j; cp = (char *) malloc(i); if (cp == 0) { child++; +#ifndef debug error("Out of memory"); +#else + showall(av); + printf("i=%d, j=%d: ", i/j, j); + printf("Out of memory\n"); chdir("/usr/bill/cshcore"); abort(); +#endif } dp = cp; - if (i > 0) + if (i != 0) do *dp++ = 0; while (--i); @@ -71,7 +87,7 @@ blkend(up) } blkpr(av) - register int *av; + register char **av; { for (; *av; av++) { @@ -119,7 +135,7 @@ blkfree(av0) while (*av) xfree(*av++); - xfree(av0); + xfree((char *)av0); } char ** @@ -142,7 +158,8 @@ strspl(cp, dp) register char *ep = calloc(1, strlen(cp) + strlen(dp) + 1); strcpy(ep, cp); - return (strcat(ep, dp)); + strcat(ep, dp); + return (ep); } char ** @@ -175,7 +192,8 @@ closem() register int f; for (f = 0; f < NOFILE; f++) - if (f != SHIN && f != SHOUT && f != SHDIAG && f != OLDSTD) + if (f != SHIN && f != SHOUT && f != SHDIAG && f != OLDSTD && + f != FSHTTY) close(f); } @@ -338,3 +356,17 @@ udvar(name) setname(name); bferr("Undefined variable"); } + +prefix(sub, str) + register char *sub, *str; +{ + + for (;;) { + if (*sub == 0) + return (1); + if (*str == 0) + return (0); + if (*sub++ != *str++) + return (0); + } +}