version 1.3, 2005/12/27 04:18:07 |
version 1.4, 2005/12/27 04:28:08 |
|
|
const char *cmd, **diffargv, *diffprog; |
const char *cmd, **diffargv, *diffprog; |
|
|
/* Initialize variables. */ |
/* Initialize variables. */ |
Dflag = lflag = sflag = 0; |
|
diffargc = 0; |
diffargc = 0; |
diffprog = "diff"; |
diffprog = "diff"; |
outfile = NULL; |
outfile = NULL; |
|
|
diffargv[diffargc++] = "-E"; |
diffargv[diffargc++] = "-E"; |
break; |
break; |
case 'F': |
case 'F': |
diffprog = optarg; |
diffargv[0] = diffprog = optarg; |
break; |
break; |
case 'H': |
case 'H': |
diffargv[diffargc++] = "-H"; |
diffargv[diffargc++] = "-H"; |
|
|
/* NOTREACHED */ |
/* NOTREACHED */ |
} |
} |
|
|
/* Don't exceed buffer after adding file1, file2, and NULL. */ |
|
assert(diffargc + 3 <= argc_max); |
|
} |
} |
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
|
if (argc != 2) { |
|
usage(); |
|
/* NOTREACHED */ |
|
} |
|
|
/* file1 */ |
/* file1 */ |
diffargv[diffargc++] = argv[0]; |
diffargv[diffargc++] = argv[0]; |
/* file2 */ |
/* file2 */ |
|
|
if (width > (SIZE_T_MAX - 3) / 2) |
if (width > (SIZE_T_MAX - 3) / 2) |
errx(2, "width is too large: %zu", width); |
errx(2, "width is too large: %zu", width); |
line_width = width * 2 + 3; |
line_width = width * 2 + 3; |
|
|
if (argc != 2) { |
|
usage(); |
|
/* NOTREACHED */ |
|
} |
|
|
|
if (pipe(fd)) |
if (pipe(fd)) |
err(2, "pipe"); |
err(2, "pipe"); |