#include #include #include #include #include #include #include #define NEVER (-1) #define MAYBE 0 #define ALWAYS 1 #define COMPAT 2 static int print_names = MAYBE; extern const char *__progname; static void process_file(int fd, void (*pfn)(void *, const void *), void *parg, const char *fn) { void *md5; int n; static char buf[65536]; md5 = md5_init(); while (1) { n = read(fd,&buf[0],sizeof(buf)); if (n < 0) { fprintf(stderr,"%s: read error on %s: %s\n",__progname,fn,strerror(errno)); n = 0; } if (n == 0) { md5_result(md5,&buf[0]); (*pfn)(parg,&buf[0]); return; } md5_process_bytes(md5,&buf[0],n); } } static void scan_args(int *acp, char ***avp) { int errs; int ac; char **av; int i; int j; errs = 0; ac = *acp; av = *avp; j = 1; for (i=1;i