ckdist.c (50479) | ckdist.c (61019) |
---|---|
1/* 2 * Copyright (c) 1997 Robert Nordier 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 25 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28#ifndef lint 29static const char rcsid[] = | 1/* 2 * Copyright (c) 1997 Robert Nordier 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 25 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28#ifndef lint 29static const char rcsid[] = |
30 "$FreeBSD: head/usr.sbin/ckdist/ckdist.c 50479 1999-08-28 01:35:59Z peter $"; | 30 "$FreeBSD: head/usr.sbin/ckdist/ckdist.c 61019 2000-05-28 14:57:49Z charnier $"; |
31#endif /* not lint */ 32 33#include <sys/types.h> 34#include <sys/stat.h> 35#include <err.h> 36#include <errno.h> 37#include <fcntl.h> 38#include <fts.h> --- 87 unchanged lines hidden (view full) --- 126 usage(); 127 } 128 argc -= optind; 129 argv += optind; 130 if (argc < 1) 131 usage(); 132 if (opt_dir) { 133 if (stat(opt_dir, &sb)) | 31#endif /* not lint */ 32 33#include <sys/types.h> 34#include <sys/stat.h> 35#include <err.h> 36#include <errno.h> 37#include <fcntl.h> 38#include <fts.h> --- 87 unchanged lines hidden (view full) --- 126 usage(); 127 } 128 argc -= optind; 129 argv += optind; 130 if (argc < 1) 131 usage(); 132 if (opt_dir) { 133 if (stat(opt_dir, &sb)) |
134 err(2, opt_dir); | 134 err(2, "%s", opt_dir); |
135 if (!S_ISDIR(sb.st_mode)) 136 errx(2, "%s: not a directory", opt_dir); 137 } 138 rval = 0; 139 do { 140 if (isstdin(*argv)) 141 rval |= ckdist(*argv, opt_type); 142 else if (stat(*argv, &sb)) --- 61 unchanged lines hidden (view full) --- 204 break; 205 case DISTINF: 206 rval = chkinf(fp, path); 207 break; 208 default: 209 rval = report(path, NULL, E_UNKNOWN); 210 } 211 if (ferror(fp)) | 135 if (!S_ISDIR(sb.st_mode)) 136 errx(2, "%s: not a directory", opt_dir); 137 } 138 rval = 0; 139 do { 140 if (isstdin(*argv)) 141 rval |= ckdist(*argv, opt_type); 142 else if (stat(*argv, &sb)) --- 61 unchanged lines hidden (view full) --- 204 break; 205 case DISTINF: 206 rval = chkinf(fp, path); 207 break; 208 default: 209 rval = report(path, NULL, E_UNKNOWN); 210 } 211 if (ferror(fp)) |
212 warn(path); | 212 warn("%s", path); |
213 if (fp != stdin && fclose(fp)) | 213 if (fp != stdin && fclose(fp)) |
214 err(2, path); | 214 err(2, "%s", path); |
215 return rval; 216} 217 218static int 219chkmd5(FILE * fp, const char *path) 220{ 221 char buf[298]; /* "MD5 (NAMESIZE = MDSUMLEN" */ 222 char name[NAMESIZE + 1]; --- 16 unchanged lines hidden (view full) --- 239 else { 240 *s = 0; 241 if ((dname = distname(path, name, NULL)) == NULL) 242 error = E_NAME; 243 else if (opt_exist) { 244 if ((fd = open(dname, O_RDONLY)) == -1) 245 error = E_ERRNO; 246 else if (close(fd)) | 215 return rval; 216} 217 218static int 219chkmd5(FILE * fp, const char *path) 220{ 221 char buf[298]; /* "MD5 (NAMESIZE = MDSUMLEN" */ 222 char name[NAMESIZE + 1]; --- 16 unchanged lines hidden (view full) --- 239 else { 240 *s = 0; 241 if ((dname = distname(path, name, NULL)) == NULL) 242 error = E_NAME; 243 else if (opt_exist) { 244 if ((fd = open(dname, O_RDONLY)) == -1) 245 error = E_ERRNO; 246 else if (close(fd)) |
247 err(2, dname); | 247 err(2, "%s", dname); |
248 } else if (!MD5File((char *)dname, chk)) 249 error = E_ERRNO; 250 else if (strcmp(chk, sum)) 251 error = E_CHKSUM; 252 } 253 if (opt_ignore && error == E_ERRNO && errno == ENOENT) 254 continue; 255 if (error || opt_all) --- 40 unchanged lines hidden (view full) --- 296 error = E_LENGTH; 297 else if (!opt_exist) { 298 if (crc(fd, &chk, &len)) 299 error = E_ERRNO; 300 else if (chk != sum) 301 error = E_CHKSUM; 302 } 303 if (fd != -1 && close(fd)) | 248 } else if (!MD5File((char *)dname, chk)) 249 error = E_ERRNO; 250 else if (strcmp(chk, sum)) 251 error = E_CHKSUM; 252 } 253 if (opt_ignore && error == E_ERRNO && errno == ENOENT) 254 continue; 255 if (error || opt_all) --- 40 unchanged lines hidden (view full) --- 296 error = E_LENGTH; 297 else if (!opt_exist) { 298 if (crc(fd, &chk, &len)) 299 error = E_ERRNO; 300 else if (chk != sum) 301 error = E_CHKSUM; 302 } 303 if (fd != -1 && close(fd)) |
304 err(2, dname); | 304 err(2, "%s", dname); |
305 if (opt_ignore && error == E_ERRNO && errno == ENOENT) 306 continue; 307 if (error || (opt_all && cnt >= 0)) 308 rval |= report(path, dname, error); 309 if (isfatal(error)) 310 break; 311 } 312 return rval; --- 128 unchanged lines hidden --- | 305 if (opt_ignore && error == E_ERRNO && errno == ENOENT) 306 continue; 307 if (error || (opt_all && cnt >= 0)) 308 rval |= report(path, dname, error); 309 if (isfatal(error)) 310 break; 311 } 312 return rval; --- 128 unchanged lines hidden --- |