Changeset View
Changeset View
Standalone View
Standalone View
usr.bin/cmp/cmp.c
Show First 20 Lines • Show All 86 Lines • ▼ Show 20 Lines | while ((ch = getopt_long(argc, argv, "+hlsxz", long_opts, NULL)) != -1) | ||||
case 'h': /* Don't follow symlinks */ | case 'h': /* Don't follow symlinks */ | ||||
oflag |= O_NOFOLLOW; | oflag |= O_NOFOLLOW; | ||||
break; | break; | ||||
case 'l': /* print all differences */ | case 'l': /* print all differences */ | ||||
lflag = true; | lflag = true; | ||||
break; | break; | ||||
case 's': /* silent run */ | case 's': /* silent run */ | ||||
sflag = true; | sflag = true; | ||||
zflag = true; | |||||
break; | break; | ||||
case 'x': /* hex output */ | case 'x': /* hex output */ | ||||
lflag = true; | lflag = true; | ||||
xflag = true; | xflag = true; | ||||
break; | break; | ||||
case 'z': /* compare size first */ | case 'z': /* compare size first */ | ||||
zflag = true; | zflag = true; | ||||
break; | break; | ||||
Show All 39 Lines | if (strcmp(file2 = argv[1], "-") == 0) { | ||||
if (!sflag) | if (!sflag) | ||||
err(ERR_EXIT, "%s", file2); | err(ERR_EXIT, "%s", file2); | ||||
else | else | ||||
exit(ERR_EXIT); | exit(ERR_EXIT); | ||||
} | } | ||||
skip1 = argc > 2 ? strtol(argv[2], NULL, 0) : 0; | skip1 = argc > 2 ? strtol(argv[2], NULL, 0) : 0; | ||||
skip2 = argc == 4 ? strtol(argv[3], NULL, 0) : 0; | skip2 = argc == 4 ? strtol(argv[3], NULL, 0) : 0; | ||||
if (sflag && skip1 == 0 && skip2 == 0) | |||||
zflag = true; | |||||
if (fd1 == -1) { | if (fd1 == -1) { | ||||
if (fd2 == -1) { | if (fd2 == -1) { | ||||
c_link(file1, skip1, file2, skip2); | c_link(file1, skip1, file2, skip2); | ||||
exit(0); | exit(0); | ||||
} else if (!sflag) | } else if (!sflag) | ||||
errx(ERR_EXIT, "%s: Not a symbolic link", file2); | errx(ERR_EXIT, "%s: Not a symbolic link", file2); | ||||
else | else | ||||
▲ Show 20 Lines • Show All 55 Lines • Show Last 20 Lines |