plan9fox/sys/src/cmd/mk/fns.h
cinap_lenrek de19776b2f mk: remove buggy and useless symtab functions (thanks qrstuv)
neither symdel nor symstat were used anywhere. syminit was used but
had no effect. both syminit and symdel dereference pointers after
freeing them. symstat can be tricked into writing beyond the bounds of
its array
2016-06-02 00:12:36 +02:00

80 lines
2.1 KiB
C

void addrule(char*, Word*, char*, Word*, int, int, char*);
void addrules(Word*, Word*, char*, int, int, char*);
void addw(Word*, char*);
int assline(Biobuf *, Bufblock *);
long atimeof(int,char*);
void atouch(char*);
void bufcpy(Bufblock *, char *, int);
Envy *buildenv(Job*, int);
void catchnotes(void);
char *charin(char *, char *);
int chgtime(char*);
void clrmade(Node*);
char *copyq(char*, Rune, Bufblock*);
void delete(char*);
void delword(Word*);
int dorecipe(Node*);
void dumpa(char*, Arc*);
void dumpj(char*, Job*, int);
void dumpn(char*, Node*);
void dumpr(char*, Rule*);
void dumpv(char*);
void dumpw(char*, Word*);
int escapetoken(Biobuf*, Bufblock*, int, int);
void execinit(void);
int execsh(char*, char*, Bufblock*, Envy*);
void Exit(void);
char *expandquote(char*, Rune, Bufblock*);
void expunge(int, char*);
void freebuf(Bufblock*);
void front(char*);
Node *graph(char*);
void growbuf(Bufblock *);
void initenv(void);
void insert(Bufblock *, int);
void ipop(void);
void ipush(void);
void killchildren(char*);
void *Malloc(int);
char *maketmp(void);
int match(char*, char*, char*);
void mk(char*);
ulong mkmtime(char*, int);
long mtime(char*);
Arc *newarc(Node*, Rule*, char*, Resub*);
Bufblock *newbuf(void);
Job *newjob(Rule*, Node*, char*, char**, Word*, Word*, Word*, Word*);
Word *newword(char*);
int nextrune(Biobuf*, int);
int nextslot(void);
void nproc(void);
void nrep(void);
int outofdate(Node*, Arc*, int);
void parse(char*, int, int);
int pipecmd(char*, Envy*, int*);
void prusage(void);
void rcopy(char**, Resub*, int);
void readenv(void);
void *Realloc(void*, int);
void rinsert(Bufblock *, Rune);
char *rulecnt(void);
void run(Job*);
void setvar(char*, void*);
char *shname(char*);
void shprint(char*, Envy*, Bufblock*);
Word *stow(char*);
void subst(char*, char*, char*, int);
Symtab *symlook(char*, int, void*);
void symtraverse(int, void(*)(Symtab*));
void timeinit(char*);
long timeof(char*, int);
void touch(char*);
void update(int, Node*);
void usage(void);
Word *varsub(char**);
int waitfor(char*);
int waitup(int, int*);
Word *wdup(Word*);
int work(Node*, Node*, Arc*);
char *wtos(Word*, int);