1*3e12c5d1SDavid du Colombier char mode; /* '\0', 'e', 'f', 'h' */ 2*3e12c5d1SDavid du Colombier char bflag; /* ignore multiple and trailing blanks */ 3*3e12c5d1SDavid du Colombier char rflag; /* recurse down directory trees */ 4*3e12c5d1SDavid du Colombier char mflag; /* pseudo flag: doing multiple files, one dir */ 5*3e12c5d1SDavid du Colombier int anychange; 6*3e12c5d1SDavid du Colombier extern Biobuf stdout; 7*3e12c5d1SDavid du Colombier 8*3e12c5d1SDavid du Colombier #define MALLOC(t, n) ((t *)emalloc((n)*sizeof(t))) 9*3e12c5d1SDavid du Colombier #define REALLOC(p, t, n) ((t *)erealloc((void *)(p), (n)*sizeof(t))) 10*3e12c5d1SDavid du Colombier #define FREE(p) free((void *)(p)) 11*3e12c5d1SDavid du Colombier #define isspace(c) ((c) == ' ' || (c) == '\t') 12*3e12c5d1SDavid du Colombier 13*3e12c5d1SDavid du Colombier #define MAXPATHLEN 1024 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier int mkpathname(char *, char *, char *); 16*3e12c5d1SDavid du Colombier void *emalloc(unsigned); 17*3e12c5d1SDavid du Colombier void *erealloc(void *, unsigned); 18*3e12c5d1SDavid du Colombier void diff(char *, char *, int); 19*3e12c5d1SDavid du Colombier void diffdir(char *, char *, int); 20*3e12c5d1SDavid du Colombier void diffreg(char *, char *); 21*3e12c5d1SDavid du Colombier Biobuf *prepare(int, char *); 22*3e12c5d1SDavid du Colombier void panic(int, char *, ...); 23*3e12c5d1SDavid du Colombier void check(Biobuf *, Biobuf *); 24*3e12c5d1SDavid du Colombier void change(int, int, int, int); 25