From 27ddb2eef04972d07b033bb585726488a0d902ae Mon Sep 17 00:00:00 2001 From: Serge Date: Fri, 27 May 2022 17:47:38 -0700 Subject: [PATCH] Update lex and ls. --- include/stdlib.h | 74 +++++++++++++++++++++---------------------- src/cmd/lex/lmain.c | 48 ++++++++++++++-------------- src/cmd/lex/parser.y | 6 ++-- src/cmd/lex/sub2.c | 8 ++--- src/cmd/ls/ls.c | 55 ++++++++++++++++++-------------- src/libc/gen/calloc.c | 9 ------ 6 files changed, 100 insertions(+), 100 deletions(-) diff --git a/include/stdlib.h b/include/stdlib.h index d375f3e..c87d0db 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -57,49 +57,49 @@ typedef unsigned size_t; #endif -void abort (void); -int abs (int); -int atexit (void (*)(void)); -int atoi (const char *); -long atol (const char *); -void *calloc (size_t, size_t); -void exit (int); -void free (void *); -char *getenv (const char *); -long labs (long); -void *malloc (size_t); -char *mktemp (char *); -int mkstemp (char *); -void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); -int rand (void); -void *realloc (void*, size_t); -void srand (unsigned); -long strtol (const char *, char **, int); -unsigned long strtoul (const char *, char **, int); -int system (const char *); +void abort(void); +int abs(int); +int atexit(void (*)(void)); +int atoi(const char *); +long atol(const char *); +void *calloc(size_t, size_t); +void exit(int); +void free(void *); +char *getenv(const char *); +long labs(long); +void *malloc(size_t); +char *mktemp(char *); +int mkstemp(char *); +void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); +int rand(void); +void *realloc(void*, size_t); +void srand(unsigned); +long strtol(const char *, char **, int); +unsigned long strtoul(const char *, char **, int); +int system(const char *); -int putenv (char *string); -int setenv (const char *name, const char *value, int overwrite); -int unsetenv (const char *name); -char *_findenv (const char *name, int *offset); +int putenv(char *string); +int setenv(const char *name, const char *value, int overwrite); +int unsetenv(const char *name); +char *_findenv(const char *name, int *offset); -void *alloca (size_t size); +void *alloca(size_t size); -int daemon (int, int); -char *devname (int dev, int type); -int getloadavg (unsigned loadavg[], int nelem); +int daemon(int, int); +char *devname(int dev, int type); +int getloadavg(unsigned loadavg[], int nelem); extern char *suboptarg; /* getsubopt(3) external variable */ -int getsubopt (char **, char **, char **); +int getsubopt(char **, char **, char **); -long random (void); -char *setstate (char *); -void srandom (unsigned); +long random(void); +char *setstate(char *); +void srandom(unsigned); -double atof (const char *); -double strtod (const char *, char **); -char *ecvt (double, int, int *, int *); -char *fcvt (double, int, int *, int *); -char *gcvt (double, int, char *); +double atof(const char *); +double strtod(const char *, char **); +char *ecvt(double, int, int *, int *); +char *fcvt(double, int, int *, int *); +char *gcvt(double, int, char *); #endif /* _STDLIB_H_ */ diff --git a/src/cmd/lex/lmain.c b/src/cmd/lex/lmain.c index 0fef63a..b62ef6d 100644 --- a/src/cmd/lex/lmain.c +++ b/src/cmd/lex/lmain.c @@ -131,9 +131,9 @@ sp = schar = myalloc(STARTCHAR,sizeof(*schar)); error("Too little core to begin"); } free1core(){ - cfree(def,DEFSIZE,sizeof(*def)); - cfree(subs,DEFSIZE,sizeof(*subs)); - cfree(dchar,DEFCHAR,sizeof(*dchar)); + free(def); + free(subs); + free(dchar); } get2core(){ register int i, val; @@ -154,18 +154,18 @@ nxtpos = positions = (int *) myalloc(maxpos,sizeof(*positions)); for(i=0;i<=tptr;i++)foll[i] = 0; } free2core(){ - cfree(positions,maxpos,sizeof(*positions)); - cfree(tmpstat,tptr+1,sizeof(*tmpstat)); - cfree(foll,tptr+1,sizeof(*foll)); - cfree(name,treesize,sizeof(*name)); - cfree(left,treesize,sizeof(*left)); - cfree(right,treesize,sizeof(*right)); - cfree(parent,treesize,sizeof(*parent)); - cfree(nullstr,treesize,sizeof(*nullstr)); - cfree(state,nstates,sizeof(*state)); - cfree(sname,STARTSIZE,sizeof(*sname)); - cfree(schar,STARTCHAR,sizeof(*schar)); - cfree(ccl,CCLSIZE,sizeof(*ccl)); + free(positions); + free(tmpstat); + free(foll); + free(name); + free(left); + free(right); + free(parent); + free(nullstr); + free(state); + free(sname); + free(schar); + free(ccl); } get3core(){ register int i, val; @@ -178,15 +178,15 @@ get3core(){ } # ifdef DEBUG free3core(){ - cfree(advance,outsize,sizeof(*advance)); - cfree(verify,outsize,sizeof(*verify)); - cfree(stoff,stnum+1,sizeof(*stoff)); - cfree(gotof,nstates,sizeof(*gotof)); - cfree(nexts,ntrans,sizeof(*nexts)); - cfree(nchar,ntrans,sizeof(*nchar)); - cfree(atable,nstates,sizeof(*atable)); - cfree(sfall,nstates,sizeof(*sfall)); - cfree(cpackflg,nstates,sizeof(*cpackflg)); + free(advance); + free(verify); + free(stoff); + free(gotof); + free(nexts); + free(nchar); + free(atable); + free(sfall); + free(cpackflg); } # endif char *myalloc(a,b) diff --git a/src/cmd/lex/parser.y b/src/cmd/lex/parser.y index 966e58f..48087f3 100644 --- a/src/cmd/lex/parser.y +++ b/src/cmd/lex/parser.y @@ -22,7 +22,7 @@ int g; char *p; %} acc : lexinput - ={ + ={ # ifdef DEBUG if(debug) sect2dump(); # endif @@ -245,7 +245,7 @@ yylex(){ if(c == 0) error("Too little core for parse tree"); p = c; - cfree(p,i,1); + free(p); name = myalloc(treesize,sizeof(*name)); left = myalloc(treesize,sizeof(*left)); right = myalloc(treesize,sizeof(*right)); @@ -294,7 +294,7 @@ yylex(){ case 'k': case 'K': /* overriden packed char classes */ while (*p && !digit(*p))p++; if (report==2) report=1; - cfree(pchar, pchlen, sizeof(*pchar)); + free(pchar); pchlen = siconv(p); # ifdef DEBUG if (debug) printf( "Size classes (%%k) now %d\n",pchlen); diff --git a/src/cmd/lex/sub2.c b/src/cmd/lex/sub2.c index d2628c6..6cd1cb7 100644 --- a/src/cmd/lex/sub2.c +++ b/src/cmd/lex/sub2.c @@ -783,13 +783,13 @@ layout(){ fprintf(fout, "define YYTOPVAL %d\n", yytop); rprint(verify,"verif",yytop+1); rprint(advance,"advan",yytop+1); - shiftr(stoff, stnum); + shiftr(stoff, stnum); rprint(stoff,"stoff",stnum+1); - shiftr(sfall, stnum); upone(sfall, stnum+1); + shiftr(sfall, stnum); upone(sfall, stnum+1); rprint(sfall,"sfall",stnum+1); bprint(extra,"extra",casecount+1); bprint(match,"match",NCH); - shiftr(atable, stnum); + shiftr(atable, stnum); rprint(atable,"atable",stnum+1); return; } @@ -862,7 +862,7 @@ layout(){ fprintf(fout, "0%-3o,",fbarr[i+j]); putc('\n',fout); } - cfree(fbarr, 2*NCH, 1); + free(fbarr); } fprintf(fout,"0};\n"); } diff --git a/src/cmd/ls/ls.c b/src/cmd/ls/ls.c index b6d102e..c96b88b 100644 --- a/src/cmd/ls/ls.c +++ b/src/cmd/ls/ls.c @@ -18,6 +18,7 @@ #include #include #include +#include #define kbytes(size) (((size) + 1023) / 1024) @@ -53,15 +54,24 @@ char *dotp = "."; struct winsize win; int twidth; -struct afile *gstat(); -int fcmp(); -char *cat(), *savestr(); -char *fmtentry(); -char *getname(), *getgroup(); - char *flags_to_string (unsigned flags, char *def); unsigned string_to_flags (char **stringp, unsigned *setp, unsigned *clrp); +void formatf(struct afile *fp0, struct afile *fplast); +struct afile *gstat(struct afile *fp, char *file, int statarg, long *pnb); +int fcmp(const void *a, const void *b); +void formatd(char *name, int dotitle); +long getdir(char *dir, struct afile **pfp0, struct afile **pfplast, int *isadir); +char *savestr(char *str); +char *cat(char *dir, char *file); +char *fmtentry(struct afile *fp, int maxflags); +char *fmtinum(struct afile *p); +char *fmtsize(struct afile *p); +char *fmtlstuff(struct afile *p, int maxflags); +char *getname(uid_t uid); +char *getgroup(gid_t gid); +char *fmtmode(char *lp, int flags); +int main(argc, argv) int argc; char *argv[]; @@ -71,7 +81,6 @@ main(argc, argv) register struct afile *fp; struct sgttyb sgbuf; int ch, i; - time_t time(); Aflg = !getuid(); (void) time(&now); sixmonthsago = now - 6L*30L*24L*60L*60L; now += 60; @@ -161,7 +170,7 @@ main(argc, argv) } fp0 = fp; for (i = 0; i < argc; i++) { - if (gstat(fp, *argv, 1, (int *)0)) { + if (gstat(fp, *argv, 1, (long *)0)) { fp->fname = *argv; fp->fmode |= ISARG; fp++; @@ -195,8 +204,8 @@ main(argc, argv) t = subdirs; subdirs = t->sd_next; putchar('\n'); formatd(t->sd_name, 1); - cfree(t->sd_name); - cfree((char *)t); + free(t->sd_name); + free((char *)t); } if (++fp == fplast) break; @@ -206,6 +215,7 @@ main(argc, argv) exit(0); } +void formatd(name, dotitle) char *name; int dotitle; @@ -214,7 +224,7 @@ formatd(name, dotitle) register struct subdirs *dp; struct afile *dfp0, *dfplast; int isadir; - long nkb, getdir(); + long nkb; nkb = getdir(name, &dfp0, &dfplast, &isadir); if (dfp0 == 0) @@ -238,11 +248,11 @@ formatd(name, dotitle) } for (fp = dfp0; fp < dfplast; fp++) { if ((fp->fmode&ISARG) == 0 && fp->fname) - cfree(fp->fname); + free(fp->fname); if (fp->flinkto) - cfree(fp->flinkto); + free(fp->flinkto); } - cfree((char *)dfp0); + free((char *)dfp0); } long @@ -272,7 +282,7 @@ getdir(dir, pfp0, pfplast, isadir) fp = *pfp0 = (struct afile *)calloc(nent, sizeof (struct afile)); *pfplast = *pfp0 + nent; nb = 0; - while (dp = readdir(dirp)) { + while ((dp = readdir(dirp))) { if (dp->d_ino == 0) continue; if (aflg == 0 && dp->d_name[0]=='.' && @@ -301,8 +311,6 @@ getdir(dir, pfp0, pfplast, isadir) return (kbytes (nb * DEV_BSIZE)); } -int stat(), lstat(); - struct afile * gstat(fp, file, statarg, pnb) register struct afile *fp; @@ -377,6 +385,7 @@ gstat(fp, file, statarg, pnb) return (fp); } +void formatf(fp0, fplast) struct afile *fp0, *fplast; { @@ -437,9 +446,11 @@ formatf(fp0, fplast) } } -fcmp(f1, f2) - register struct afile *f1, *f2; +int +fcmp(const void *a, const void *b) { + const struct afile *f1 = a; + const struct afile *f2 = b; if (dflg == 0 && fflg == 0) { if ((f1->fmode&ISARG) && f1->ftype == 'd') { @@ -493,12 +504,10 @@ savestr(str) return(cp); } -char *fmtinum(), *fmtsize(), *fmtlstuff(), *fmtmode(); - char * fmtentry(fp, maxflags) - register struct afile *fp; - int maxflags; + register struct afile *fp; + int maxflags; { static char fmtres[BUFSIZ]; register char *cp, *dp; diff --git a/src/libc/gen/calloc.c b/src/libc/gen/calloc.c index 03283bf..95447f4 100644 --- a/src/libc/gen/calloc.c +++ b/src/libc/gen/calloc.c @@ -17,12 +17,3 @@ calloc(num, size) bzero(p, size); return (p); } - -void -cfree(p, num, size) - char *p; - unsigned num; - unsigned size; -{ - free(p); -}