13e12c5d1SDavid du Colombier char mode; /* '\0', 'e', 'f', 'h' */ 23e12c5d1SDavid du Colombier char bflag; /* ignore multiple and trailing blanks */ 33e12c5d1SDavid du Colombier char rflag; /* recurse down directory trees */ 43e12c5d1SDavid du Colombier char mflag; /* pseudo flag: doing multiple files, one dir */ 53e12c5d1SDavid du Colombier int anychange; 63e12c5d1SDavid du Colombier extern Biobuf stdout; 79a747e4fSDavid du Colombier extern int binary; 83e12c5d1SDavid du Colombier 93e12c5d1SDavid du Colombier #define MALLOC(t, n) ((t *)emalloc((n)*sizeof(t))) 103e12c5d1SDavid du Colombier #define REALLOC(p, t, n) ((t *)erealloc((void *)(p), (n)*sizeof(t))) 113e12c5d1SDavid du Colombier #define FREE(p) free((void *)(p)) 123e12c5d1SDavid du Colombier 133e12c5d1SDavid du Colombier #define MAXPATHLEN 1024 143e12c5d1SDavid du Colombier 153e12c5d1SDavid du Colombier int mkpathname(char *, char *, char *); 163e12c5d1SDavid du Colombier void *emalloc(unsigned); 173e12c5d1SDavid du Colombier void *erealloc(void *, unsigned); 183e12c5d1SDavid du Colombier void diff(char *, char *, int); 193e12c5d1SDavid du Colombier void diffdir(char *, char *, int); 203e12c5d1SDavid du Colombier void diffreg(char *, char *); 213e12c5d1SDavid du Colombier Biobuf *prepare(int, char *); 223e12c5d1SDavid du Colombier void panic(int, char *, ...); 233e12c5d1SDavid du Colombier void check(Biobuf *, Biobuf *); 243e12c5d1SDavid du Colombier void change(int, int, int, int); 25*d35914a8SDavid du Colombier void flushchanges(void); 269a747e4fSDavid du Colombier 27