Update lex and ls.
This commit is contained in:
@@ -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_ */
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <sgtty.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user