Date: Wed, 27 Jun 2012 21:02:00 +0000 From: jhagewood@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r238418 - in soc2012/jhagewood: diff diff/diff diff3 mdocml Message-ID: <20120627210200.C18E5106564A@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhagewood Date: Wed Jun 27 21:02:00 2012 New Revision: 238418 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238418 Log: Modified: soc2012/jhagewood/diff/TODO soc2012/jhagewood/diff/diff-test.sh soc2012/jhagewood/diff/diff/diff.c soc2012/jhagewood/diff/diff/diffreg.c soc2012/jhagewood/diff/hagewood-diff.patch soc2012/jhagewood/diff3/hagewood-diff3.patch soc2012/jhagewood/mdocml/hagewood-mdocml-ns.patch Modified: soc2012/jhagewood/diff/TODO ============================================================================== --- soc2012/jhagewood/diff/TODO Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff/TODO Wed Jun 27 21:02:00 2012 (r238418) @@ -8,17 +8,17 @@ --unidirectional-new-file INCOMPLETE --normal COMPLETE Sets format to D_NORMAL in getopt_long(). --suppress-common-lines COMPLETE Because side-by-side mode is executed by sdiff, option is simply passed to sdiff. ---GTYPE-group-format INCOMPLETE +--GTYPE-group-format IN PROGRESS Added options for various GTYPEs. --line-format IN PROGRESS Added new-line-format, old-line-format, and unchanged-line-format for compatibility --LTYPE-line-format INCOMPLETE ---from-file COMPLETE Calls exec1() twice with optarg as file input. NEEDS TESTING. ---to-file COMPLETE Calls exec1() twice with optarg as file input. NEEDS TESTING. +--from-file COMPLETE Calls exec1() twice with optarg as file input. BUG. +--to-file COMPLETE Calls exec1() twice with optarg as file input. BUG. --horizon-lines INCOMPLETE --speed-large-file INCOMPLETE --ignore-tab-expansion IN PROGRESS Functionality implemented in check(), needs debugging. (Same problem as --ignore-blank-lines?) --width INCOMPLETE -Fix non-ascii character diffs COMPLETE Changed name of asciifile() to istextfile() and checks to see if file is ELF format. - +Fix non-ascii character diffs COMPLETE Changed name of asciifile() to istextfile() and detects if file is binary. +Test script COMPLETE Notes: @@ -30,4 +30,34 @@ - With some files, modification times displayed in the timestamp for file1 are different than the time outputted by GNU diff. - The -ignore-*-* options need some work. +- line formats: + + %l Only includes contents of a line, excluding trailing new line. + %L Only includes contents of a line, including trailing new line. + %% Stand for '%' + %c'C' Where C is a character. + %c'\O' where O is a string of 1, 2, or 3 octal digits, stands for the character with octal code O. + Fn Where n is: + -'e' + -'f' + -'l' + -'m' + -'n' + -'E, F, L, M, N' + +- group formats: + %< Stands for the lines from the first file, including trailing new lines. + %> Stands for the lines from the second file, including trailing new lines. + %= Stands for lines common to both files, including trailing new lines. + %% Stands for '%' + %c'C' Where C is a character. + %c'\O' where O is a string of 1, 2, or 3 octal digits, stands for the character with octal code O. + Fn Where n is: + -'e' + -'f' + -'l' + -'m' + -'n' + -'E, F, L, M, N' + Modified: soc2012/jhagewood/diff/diff-test.sh ============================================================================== --- soc2012/jhagewood/diff/diff-test.sh Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff/diff-test.sh Wed Jun 27 21:02:00 2012 (r238418) @@ -9,83 +9,87 @@ mkdir ./test_outputs/gnu mkdir ./test_outputs/bsd -# -# Run GNU diff with various options, direct output to a file. -# - -# Default diff -diff 1.txt 2.txt >> ./test_outputs/gnu/diff.txt - -# --unified output -diff -u 1.txt 2.txt >> ./test_outputs/gnu/unified.txt -diff --unified 1.txt 2.txt >> ./test_outputs/gnu/unified.txt - -# --context output -diff -c 1.txt 2.txt >> ./test_outputs/gnu/context.txt -diff --context 1.txt 2.txt >> ./test_outputs/gnu/context.txt - -# --normal format output -diff --normal 1.txt 2.txt >> ./test_outputs/gnu/normal.txt -diff -c --normal 1.txt 2.txt >> ./test_outputs/gnu/normal.txt -diff -u --normal 1.txt 2.txt >> ./test_outputs/gnu/normal.txt - -# --brief -diff -b 1.txt 2.txt >> ./test_outputs/gnu/brief.txt -diff --brief 1.txt 2.txt >> ./test_outputs/gnu/brief.txt - -# --ed -diff -ed 1.txt 2.txt >> ./test_outputs/gnu/ed.txt -diff -e 1.txt 2.txt >> ./test_outputs/gnu/ed.txt - -# --expand-tabs -diff --expand-tabs 1.txt 2.txt >> ./test_outputs/gnu/expand-tabs.txt -diff -t 1.txt 2.txt >> ./test_outputs/gnu/expand-tabs.txt - -# --forward-ed -diff --forward-ed 1.txt 2.txt >> ./test_outputs/gnu/forward-ed.txt -diff -f 1.txt 2.txt >> ./test_outputs/gnu/forward-ed.txt - -# --help -diff --help 1.txt 2.txt >> ./test_outputs/gnu/help.txt - -# -# Run BSD diff with various options, direct output to a file. -# +function run { -# Default diff -./diff 1.txt 2.txt >> ./test_outputs/bsd/diff.txt + # Default diff + $1 1.txt 2.txt >> $2/diff.txt -# --unified output -./diff -u 1.txt 2.txt >> ./test_outputs/bsd/unified.txt -./diff --unified 1.txt 2.txt >> ./test_outputs/bsd/unified.txt - -# --context output -./diff -c 1.txt 2.txt >> ./test_outputs/bsd/context.txt -./diff --context 1.txt 2.txt >> ./test_outputs/bsd/context.txt - -# --normal format output -./diff --normal 1.txt 2.txt >> ./test_outputs/bsd/normal.txt -./diff -c --normal 1.txt 2.txt >> ./test_outputs/bsd/normal.txt -./diff -u --normal 1.txt 2.txt >> ./test_outputs/bsd/normal.txt - -# --brief -./diff -b 1.txt 2.txt >> ./test_outputs/bsd/brief.txt -./diff --brief 1.txt 2.txt >> ./test_outputs/bsd/brief.txt - -# --ed -./diff -ed 1.txt 2.txt >> ./test_outputs/bsd/ed.txt -./diff -e 1.txt 2.txt >> ./test_outputs/bsd/ed.txt - -# --expand-tabs -./diff --expand-tabs 1.txt 2.txt >> ./test_outputs/bsd/expand-tabs.txt -./diff -t 1.txt 2.txt >> ./test_outputs/bsd/expand-tabs.txt - -# --forward-ed -./diff --forward-ed 1.txt 2.txt >> ./test_outputs/bsd/foward-ed.txt -./diff -f 1.txt 2.txt >> ./test_outputs/bsd/forward-ed.txt + # --unified output + $1 -u 1.txt 2.txt >> $2/unified.txt + $1 --unified 1.txt 2.txt >> $2/unified.txt + $1 --unified="3" 1.txt 2.txt >> $2/unified.txt + + # --context output + $1 -c 1.txt 2.txt >> $2/context.txt + $1 --context 1.txt 2.txt >> $2/context.txt + $1 --context="3" 1.txt 2.txt >> $2/context.txt + + # --normal format output + $1 --normal 1.txt 2.txt >> $2/normal.txt + $1 -c --normal 1.txt 2.txt >> $2/normal.txt + $1 -u --normal 1.txt 2.txt >> $2/normal.txt + + # --brief + $1 -b 1.txt 2.txt >> $2/brief.txt + $1 --brief 1.txt 2.txt >> $2/brief.txt + + # --ed + $1 -ed 1.txt 2.txt >> $2/ed.txt + $1 -e 1.txt 2.txt >> $2/ed.txt + + # --expand-tabs + $1 --expand-tabs 1.txt 2.txt >> $2/expand-tabs.txt + $1 -t 1.txt 2.txt >> $2/expand-tabs.txt + + # --forward-ed + $1 --forward-ed 1.txt 2.txt >> $2/forward-ed.txt + $1 -f 1.txt 2.txt >> $2/forward-ed.txt + + # --to-file + $1 --tofile="3.txt" 1.txt 2.txt >> $2/tofile.txt + + # --from-file + $1 --from-file="3.txt" 1.txt 2.txt >> $2/fromfile.txt + + # --text + $1 --text 1.txt 2.txt >> $2/text.txt + $1 -a 1.txt 2.txt >> $2/text.txt + + # --strip-trailing-cr + $1 --strip-trailing-cr 1.txt 2.txt >> $2 stripcr.txt + + # --rcs + $1 --rcs 1.txt 2.txt >> $2/rcs.txt + $1 -n 1.txt 2.txt >> $2/rcs.txt + + # --width + $1 --width="10" 1.txt 2.txt >> $2/width.txt + $1 -W "10" 1.txt 2.txt >> $2/width.txt + + # --side-by-side + $1 --side-by-side 1.txt 2.txt >> $2/sbs.txt + $1 -y 1.txt 2.txt >> $2/sbs.txt + + # --left-column + $1 -y --left-column 1.txt 2.txt >> $2/lc.txt + $1 --side-by-side --left-column 1.txt 2.txt >> $2/lc.txt + + # --line-format + $1 --line-format="%l %% %c'T'" 1.txt 2.txt >> $2/lf.txt + + # + + # --help + $1 --help 1.txt 2.txt >> $2/help.txt +} + +$PATH = './test_outputs/gnu' +$DIFF_PATH = '/usr/bin/diff' +run $DIFF_PATH $PATH +$PATH = './test_outputs/bsd' +$DIFF_PATH = './diff' +run $DIFF_PATH $PATH -# --help -diff --help 1.txt 2.txt >> ./test_outputs/bsd/help.txt # # Get the diff between the GNU and BSD outputs. # Modified: soc2012/jhagewood/diff/diff/diff.c ============================================================================== --- soc2012/jhagewood/diff/diff/diff.c Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff/diff/diff.c Wed Jun 27 21:02:00 2012 (r238418) @@ -68,7 +68,10 @@ OPT_NORMAL, OPT_LEFTC, OPT_SUPCL, - OPT_GTYPE, + OPT_CHGD_GF, + OPT_NEW_GF, + OPT_OLD_GF, + OPT_UNCHGD_GF, OPT_LF, OPT_LLF, OPT_TSIZE, @@ -90,6 +93,7 @@ */ { "brief", no_argument, NULL, 'q' }, + { "changed-group-format", required_Argument, NULL, OPT_CHGD_GF}, { "context", optional_argument, NULL, 'C' }, { "ed", no_argument, NULL, 'e' }, { "exclude", required_argument, NULL, 'x' }, @@ -97,7 +101,6 @@ { "expand-tabs", no_argument, NULL, 't' }, { "from-file", required_argument, NULL, OPT_FFILE }, { "forward-ed", no_argument, NULL, 'f' }, - /*{ "GTYPE-group-format", required_argument, NULL, OPT_GTYPE },*/ { "help", no_argument, NULL, OPT_HELP }, /*{ "horizon-lines", required_argument, NULL, OPT_HLINES },*/ { "ifdef", required_argument, NULL, 'D' }, @@ -112,13 +115,14 @@ { "label", required_argument, NULL, 'L' }, { "left-column", no_argument, NULL, OPT_LEFTC }, { "line-format", required_argument, NULL, OPT_LF }, - /*{ "LTYPE-line-format", required_argument, NULL, OPT_LLF },*/ { "minimal", no_argument, NULL, 'd' }, { "new-file", no_argument, NULL, 'N' }, { "new-line-format", required_argument, NULL, OPT_NEW_LF}, + { "new-group-format", required_argument, NULL, OPT_NEW_GF}, { "no-ignore-file-name-case", no_argument, NULL, OPT_NIGN_FN_CASE }, { "normal", no_argument, NULL, OPT_NORMAL }, { "old-line-format", required_argument, NULL, OPT_OLD_LF}, + { "old-group-format", required_argument, NULL OPT_OLD_GF}, { "paginate", no_argument, NULL, 'l' }, { "recursive", no_argument, NULL, 'r' }, { "report-identical-files", no_argument, NULL, 's' }, @@ -133,6 +137,7 @@ { "tabsize", optional_argument, NULL, OPT_TSIZE }, { "text", no_argument, NULL, 'a' }, { "to-file", required_argument, NULL, OPT_TOFILE }, + { "unchanged-group-format", required_argument, NULL, OPT_UNCHGD_GF}, { "unchanged-line-format", required_argument, NULL, OPT_UNCHGD_LF}, { "unidirectional-new-file", no_argument, NULL, 'P' }, { "unified", optional_argument, NULL, 'U' }, @@ -162,7 +167,7 @@ int main(int argc, char **argv) { - char *ep, **oargv, *file1, *file2, *file3; + char *ep, **oargv, *args, *file1, *file2, *file3; long l; int ch, lastch, gotstdin, prevoptind, newarg; int oargc, childstat; @@ -313,6 +318,14 @@ file2 = argv[argc-1]; file3 = optarg; break; + case OPT_CHGD_GF: + case OPT_NEW_GF: + case OPT_OLD_GF: + case OPT_UNCHGD_GF: + /* XXX To do: Coplete --GTYPE-group-format. */ + format = D_IFDEF; + ifdefname = optarg; + break; case OPT_NEW_LF: case OPT_OLD_LF: case OPT_UNCHGD_LF: @@ -377,12 +390,18 @@ (void)fprintf(stderr, "--from-file and --to-file both specified.\n"); exit(2); } + while ((ch = getopt(argc, argv, OPTIONS)) != -1) + strcat(args, ch); childpid = fork(); + if (childpid < 0) { + (void)fprintf(stderr, "Error forking process.\n"); + exit(2); + } if (childpid == 0) { if (Toflag) - execl(_PATH_DIFF, _PATH_DIFF, file1, file3); + execl(_PATH_DIFF, _PATH_DIFF, args, file1, file3); if (Fromflag) - execl(_PATH_DIFF, _PATH_DIFF, file3, file1); + execl(_PATH_DIFF, _PATH_DIFF, args, file3, file1); exit(127); } if (childpid > 0) { Modified: soc2012/jhagewood/diff/diff/diffreg.c ============================================================================== --- soc2012/jhagewood/diff/diff/diffreg.c Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff/diff/diffreg.c Wed Jun 27 21:02:00 2012 (r238418) @@ -1356,12 +1356,8 @@ if (aflag || f == NULL) return (1); rewind(f); - /* If the first 4 bytes of the file are the same as the first 4 bytes of - * an ELF file header, return 0. - */ - fread(buf, 1, sizeof(buf), f); - if(buf[0] == 0x7F && buf[1] == 0x45 && - buf[2] == 0x4C && buf[3] == 0x46) + for (i = 0; i <= strlen(buf) || i <= 32; i++) + if (memchr(buf, '\0', strlen(buf)) != NULL) return (0); return (1); } Modified: soc2012/jhagewood/diff/hagewood-diff.patch ============================================================================== --- soc2012/jhagewood/diff/hagewood-diff.patch Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff/hagewood-diff.patch Wed Jun 27 21:02:00 2012 (r238418) @@ -1,6 +1,6 @@ diff -rupN jhagewood/diff/diff-orig/diff.c jhagewood/diff/diff/diff.c ---- jhagewood/diff/diff-orig/diff.c 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff/diff/diff.c 2012-06-27 04:20:28.000000000 -0400 +--- jhagewood/diff/diff-orig/diff.c 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff/diff/diff.c 2012-06-27 16:35:04.000000000 -0400 @@ -1,4 +1,4 @@ -/*- +/* @@ -56,13 +56,17 @@ /* Options which exceed manageable alphanumeric assignments */ -@@ -69,75 +67,77 @@ enum +@@ -69,75 +67,82 @@ enum OPT_STRIPCR, OPT_NORMAL, OPT_LEFTC, - OT_SUPCL, +- OPT_GTYPE, + OPT_SUPCL, - OPT_GTYPE, ++ OPT_CHGD_GF, ++ OPT_NEW_GF, ++ OPT_OLD_GF, ++ OPT_UNCHGD_GF, OPT_LF, OPT_LLF, OPT_TSIZE, @@ -107,6 +111,7 @@ + */ + + { "brief", no_argument, NULL, 'q' }, ++ { "changed-group-format", required_Argument, NULL, OPT_CHGD_GF}, { "context", optional_argument, NULL, 'C' }, - { "ifdef", required_argument, NULL, 'D' }, - { "minimal", no_argument, NULL, 'd' }, @@ -120,7 +125,6 @@ + { "expand-tabs", no_argument, NULL, 't' }, + { "from-file", required_argument, NULL, OPT_FFILE }, { "forward-ed", no_argument, NULL, 'f' }, -+ /*{ "GTYPE-group-format", required_argument, NULL, OPT_GTYPE },*/ + { "help", no_argument, NULL, OPT_HELP }, + /*{ "horizon-lines", required_argument, NULL, OPT_HLINES },*/ + { "ifdef", required_argument, NULL, 'D' }, @@ -137,7 +141,6 @@ - { "paginate", no_argument, NULL, 'l' }, + { "left-column", no_argument, NULL, OPT_LEFTC }, + { "line-format", required_argument, NULL, OPT_LF }, -+ /*{ "LTYPE-line-format", required_argument, NULL, OPT_LLF },*/ + { "minimal", no_argument, NULL, 'd' }, { "new-file", no_argument, NULL, 'N' }, - { "rcs", no_argument, NULL, 'n' }, @@ -145,9 +148,11 @@ - { "show-c-function", no_argument, NULL, 'p' }, - { "brief", no_argument, NULL, 'q' }, + { "new-line-format", required_argument, NULL, OPT_NEW_LF}, ++ { "new-group-format", required_argument, NULL, OPT_NEW_GF}, + { "no-ignore-file-name-case", no_argument, NULL, OPT_NIGN_FN_CASE }, + { "normal", no_argument, NULL, OPT_NORMAL }, + { "old-line-format", required_argument, NULL, OPT_OLD_LF}, ++ { "old-group-format", required_argument, NULL OPT_OLD_GF}, + { "paginate", no_argument, NULL, 'l' }, { "recursive", no_argument, NULL, 'r' }, - { "starting-file", required_argument, NULL, 'S' }, @@ -166,6 +171,7 @@ + { "tabsize", optional_argument, NULL, OPT_TSIZE }, + { "text", no_argument, NULL, 'a' }, + { "to-file", required_argument, NULL, OPT_TOFILE }, ++ { "unchanged-group-format", required_argument, NULL, OPT_UNCHGD_GF}, + { "unchanged-line-format", required_argument, NULL, OPT_UNCHGD_LF}, + { "unidirectional-new-file", no_argument, NULL, 'P' }, { "unified", optional_argument, NULL, 'U' }, @@ -180,7 +186,7 @@ { NULL, 0, NULL, '\0'} }; -@@ -162,11 +162,12 @@ void read_excludes_file(char *); +@@ -162,11 +167,12 @@ void read_excludes_file(char *); int main(int argc, char **argv) { @@ -189,7 +195,7 @@ - int ch, lastch, gotstdin, prevoptind, newarg; - int oargc; - -+ char *ep, **oargv, *file1, *file2, *file3; ++ char *ep, **oargv, *args, *file1, *file2, *file3; + long l; + int ch, lastch, gotstdin, prevoptind, newarg; + int oargc, childstat; @@ -198,7 +204,7 @@ oargv = argv; oargc = argc; gotstdin = 0; -@@ -197,6 +198,7 @@ main(int argc, char **argv) +@@ -197,6 +203,7 @@ main(int argc, char **argv) break; case 'C': case 'c': @@ -206,7 +212,7 @@ format = D_CONTEXT; if (optarg != NULL) { l = strtol(optarg, &ep, 10); -@@ -213,6 +215,9 @@ main(int argc, char **argv) +@@ -213,6 +220,9 @@ main(int argc, char **argv) case 'd': dflag = 1; break; @@ -216,7 +222,7 @@ case 'e': format = D_EDIT; break; -@@ -296,15 +301,44 @@ main(int argc, char **argv) +@@ -296,15 +306,52 @@ main(int argc, char **argv) case 'y': yflag = 1; break; @@ -232,6 +238,14 @@ + file2 = argv[argc-1]; + file3 = optarg; + break; ++ case OPT_CHGD_GF: ++ case OPT_NEW_GF: ++ case OPT_OLD_GF: ++ case OPT_UNCHGD_GF: ++ /* XXX To do: Coplete --GTYPE-group-format. */ ++ format = D_IFDEF; ++ ifdefname = optarg; ++ break; + case OPT_NEW_LF: + case OPT_OLD_LF: + case OPT_UNCHGD_LF: @@ -269,7 +283,7 @@ case OPT_STRIPCR: strip_cr=1; break; -@@ -328,20 +362,51 @@ main(int argc, char **argv) +@@ -328,20 +375,57 @@ main(int argc, char **argv) lastch = ch; newarg = optind != prevoptind; prevoptind = optind; @@ -290,12 +304,18 @@ + (void)fprintf(stderr, "--from-file and --to-file both specified.\n"); + exit(2); + } ++ while ((ch = getopt(argc, argv, OPTIONS)) != -1) ++ strcat(args, ch); + childpid = fork(); ++ if (childpid < 0) { ++ (void)fprintf(stderr, "Error forking process.\n"); ++ exit(2); ++ } + if (childpid == 0) { + if (Toflag) -+ execl(_PATH_DIFF, _PATH_DIFF, file1, file3); ++ execl(_PATH_DIFF, _PATH_DIFF, args, file1, file3); + if (Fromflag) -+ execl(_PATH_DIFF, _PATH_DIFF, file3, file1); ++ execl(_PATH_DIFF, _PATH_DIFF, args, file3, file1); + exit(127); + } + if (childpid > 0) { @@ -326,7 +346,7 @@ execv(_PATH_SDIFF, oargv); _exit(127); } -@@ -380,7 +445,10 @@ main(int argc, char **argv) +@@ -380,7 +464,10 @@ main(int argc, char **argv) set_argstr(oargv, argv); if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) { if (format == D_IFDEF) @@ -338,7 +358,7 @@ diffdir(argv[0], argv[1]); } else { if (S_ISDIR(stb1.st_mode)) { -@@ -402,11 +470,10 @@ main(int argc, char **argv) +@@ -402,11 +489,10 @@ main(int argc, char **argv) void * emalloc(size_t n) { @@ -351,7 +371,7 @@ if ((p = malloc(n)) == NULL) errx(2, NULL); return (p); -@@ -415,7 +482,7 @@ emalloc(size_t n) +@@ -415,7 +501,7 @@ emalloc(size_t n) void * erealloc(void *p, size_t n) { @@ -360,7 +380,7 @@ if (n == 0) errx(2, NULL); -@@ -431,13 +498,12 @@ erealloc(void *p, size_t n) +@@ -431,13 +517,12 @@ erealloc(void *p, size_t n) int easprintf(char **ret, const char *fmt, ...) { @@ -376,7 +396,7 @@ if (len < 0 || *ret == NULL) errx(2, NULL); return (len); -@@ -446,11 +512,12 @@ easprintf(char **ret, const char *fmt, . +@@ -446,11 +531,12 @@ easprintf(char **ret, const char *fmt, . char * estrdup(const char *str) { @@ -391,7 +411,7 @@ strlcpy(cp, str, len); return (cp); } -@@ -531,6 +598,7 @@ push_ignore_pats(char *pattern) +@@ -531,6 +617,7 @@ push_ignore_pats(char *pattern) void print_only(const char *path, size_t dirlen, const char *entry) { @@ -399,7 +419,7 @@ if (dirlen > 1) dirlen--; printf("Only in %.*s: %s\n", (int)dirlen, path, entry); -@@ -539,45 +607,46 @@ print_only(const char *path, size_t dirl +@@ -539,45 +626,46 @@ print_only(const char *path, size_t dirl void print_status(int val, char *path1, char *path2, char *entry) { @@ -457,7 +477,7 @@ break; } } -@@ -585,6 +654,7 @@ print_status(int val, char *path1, char +@@ -585,6 +673,7 @@ print_status(int val, char *path1, char void usage(void) { @@ -465,25 +485,9 @@ (void)fprintf(stderr, "usage: diff [-abdilpqTtw] [-I pattern] [-c | -e | -f | -n | -u]\n" " [-L label] file1 file2\n" -diff -rupN jhagewood/diff/diff-orig/diff.h jhagewood/diff/diff/diff.h ---- jhagewood/diff/diff-orig/diff.h 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff/diff/diff.h 2012-06-26 04:19:55.000000000 -0400 -@@ -75,9 +75,9 @@ struct excludes { - struct excludes *next; - }; - --extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, -- sflag, tflag, Tflag, wflag; --extern int Bflag, strip_cr, tabsize; -+extern int aflag, bflag, cflag, dflag, Eflag, Fromflag, iflag, lflag, Nflag, Pflag, pflag, rflag, -+ sflag, tflag, Tflag, Toflag, wflag; -+extern int Bflag, strip_cr, suppress_cl, tabsize; - extern int format, context, status; - extern char ignore_file_case; - extern char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; diff -rupN jhagewood/diff/diff-orig/diffdir.c jhagewood/diff/diff/diffdir.c ---- jhagewood/diff/diff-orig/diffdir.c 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff/diff/diffdir.c 2012-06-25 16:05:53.000000000 -0400 +--- jhagewood/diff/diff-orig/diffdir.c 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff/diff/diffdir.c 2012-06-25 12:05:52.000000000 -0400 @@ -20,14 +20,13 @@ #include <sys/cdefs.h> @@ -591,9 +595,25 @@ strlcpy(path1 + plen1, dp->d_name, MAXPATHLEN - plen1); if (stat(path1, &stb1) != 0) { +diff -rupN jhagewood/diff/diff-orig/diff.h jhagewood/diff/diff/diff.h +--- jhagewood/diff/diff-orig/diff.h 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff/diff/diff.h 2012-06-26 00:19:54.000000000 -0400 +@@ -75,9 +75,9 @@ struct excludes { + struct excludes *next; + }; + +-extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, +- sflag, tflag, Tflag, wflag; +-extern int Bflag, strip_cr, tabsize; ++extern int aflag, bflag, cflag, dflag, Eflag, Fromflag, iflag, lflag, Nflag, Pflag, pflag, rflag, ++ sflag, tflag, Tflag, Toflag, wflag; ++extern int Bflag, strip_cr, suppress_cl, tabsize; + extern int format, context, status; + extern char ignore_file_case; + extern char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; diff -rupN jhagewood/diff/diff-orig/diffreg.c jhagewood/diff/diff/diffreg.c ---- jhagewood/diff/diff-orig/diffreg.c 2012-06-25 21:19:12.000000000 -0400 -+++ jhagewood/diff/diff/diffreg.c 2012-06-25 21:33:12.000000000 -0400 +--- jhagewood/diff/diff-orig/diffreg.c 2012-06-25 17:19:12.000000000 -0400 ++++ jhagewood/diff/diff/diffreg.c 2012-06-27 14:31:58.000000000 -0400 @@ -62,15 +62,13 @@ * @(#)diffreg.c 8.1 (Berkeley) 6/6/93 */ @@ -657,7 +677,7 @@ anychange = 0; lastline = 0; -@@ -353,7 +357,6 @@ diffreg(char *ofile1, char *ofile2, int +@@ -353,7 +357,6 @@ diffreg(char *ofile1, char *ofile2, int status |= 2; goto closem; } @@ -665,7 +685,7 @@ switch (files_differ(f1, f2, flags)) { case 0: goto closem; -@@ -365,7 +368,7 @@ diffreg(char *ofile1, char *ofile2, int +@@ -365,7 +368,7 @@ diffreg(char *ofile1, char *ofile2, int goto closem; } @@ -1098,7 +1118,7 @@ sum = 1; space = 0; -@@ -1305,19 +1344,24 @@ readhash(FILE *f) +@@ -1305,19 +1344,20 @@ readhash(FILE *f) return (sum == 0 ? 1 : sum); } @@ -1121,16 +1141,12 @@ - cnt = fread(buf, 1, sizeof(buf), f); - for (i = 0; i < cnt; i++) - if (!isprint(buf[i]) && !isspace(buf[i])) -+ /* If the first 4 bytes of the file are the same as the first 4 bytes of -+ * an ELF file header, return 0. -+ */ -+ fread(buf, 1, sizeof(buf), f); -+ if(buf[0] == 0x7F && buf[1] == 0x45 && -+ buf[2] == 0x4C && buf[3] == 0x46) ++ for (i = 0; i <= strlen(buf) || i <= 32; i++) ++ if (memchr(buf, '\0', strlen(buf)) != NULL) return (0); return (1); } -@@ -1327,10 +1371,10 @@ asciifile(FILE *f) +@@ -1327,10 +1367,10 @@ asciifile(FILE *f) static char * match_function(const long *f, int pos, FILE *file) { @@ -1145,7 +1161,7 @@ lastline = pos; while (pos > last) { -@@ -1342,7 +1386,6 @@ match_function(const long *f, int pos, F +@@ -1342,7 +1382,6 @@ match_function(const long *f, int pos, F if (nc > 0) { buf[nc] = '\0'; buf[strcspn(buf, "\n")] = '\0'; @@ -1153,7 +1169,7 @@ if (isalpha(buf[0]) || buf[0] == '_' || buf[0] == '$') { if (begins_with(buf, "private:")) { if (!state) -@@ -1373,9 +1416,9 @@ static void +@@ -1373,9 +1412,9 @@ static void dump_context_vec(FILE *f1, FILE *f2) { struct context_vec *cvp = context_vec_start; @@ -1166,7 +1182,7 @@ if (context_vec_start > context_vec_ptr) return; -@@ -1390,8 +1433,8 @@ dump_context_vec(FILE *f1, FILE *f2) +@@ -1390,8 +1429,8 @@ dump_context_vec(FILE *f1, FILE *f2) if (pflag) { f = match_function(ixold, lowa-1, f1); if (f != NULL) { @@ -1177,7 +1193,7 @@ } } printf("\n*** "); -@@ -1478,9 +1521,9 @@ static void +@@ -1478,9 +1517,9 @@ static void dump_unified_vec(FILE *f1, FILE *f2) { struct context_vec *cvp = context_vec_start; @@ -1190,7 +1206,7 @@ if (context_vec_start > context_vec_ptr) return; -@@ -1491,19 +1534,19 @@ dump_unified_vec(FILE *f1, FILE *f2) +@@ -1491,19 +1530,19 @@ dump_unified_vec(FILE *f1, FILE *f2) lowc = MAX(1, cvp->c - context); upd = MIN(len[1], context_vec_ptr->d + context); @@ -1216,7 +1232,7 @@ /* * Output changes in "unified" diff format--the old and new lines -@@ -1551,16 +1594,43 @@ dump_unified_vec(FILE *f1, FILE *f2) +@@ -1551,16 +1590,43 @@ dump_unified_vec(FILE *f1, FILE *f2) static void print_header(const char *file1, const char *file2) { @@ -1267,8 +1283,8 @@ + file2, buf2); } diff -rupN jhagewood/diff/diff-orig/pathnames.h jhagewood/diff/diff/pathnames.h ---- jhagewood/diff/diff-orig/pathnames.h 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff/diff/pathnames.h 2012-06-26 04:51:36.000000000 -0400 +--- jhagewood/diff/diff-orig/pathnames.h 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff/diff/pathnames.h 2012-06-26 00:51:36.000000000 -0400 @@ -23,4 +23,5 @@ #include <paths.h> Modified: soc2012/jhagewood/diff3/hagewood-diff3.patch ============================================================================== --- soc2012/jhagewood/diff3/hagewood-diff3.patch Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/diff3/hagewood-diff3.patch Wed Jun 27 21:02:00 2012 (r238418) @@ -1,17 +1,6 @@ -diff -rupN jhagewood/diff3/diff3-orig/Makefile jhagewood/diff3/diff3/Makefile ---- jhagewood/diff3/diff3-orig/Makefile 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff3/diff3/Makefile 2012-06-25 16:05:53.000000000 -0400 -@@ -6,6 +6,6 @@ BINDIR= /usr/libexec - - beforeinstall: - install ${INSTALL_COPY}c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ -- ${.CURDIR}/diff3.ksh ${DESTDIR}/usr/bin/diff3 -+ ${.CURDIR}/diff3.sh ${DESTDIR}/usr/bin/diff3 - - .include <bsd.prog.mk> diff -rupN jhagewood/diff3/diff3-orig/diff3prog.c jhagewood/diff3/diff3/diff3prog.c ---- jhagewood/diff3/diff3-orig/diff3prog.c 2012-06-25 16:05:53.000000000 -0400 -+++ jhagewood/diff3/diff3/diff3prog.c 2012-06-25 16:05:53.000000000 -0400 +--- jhagewood/diff3/diff3-orig/diff3prog.c 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff3/diff3/diff3prog.c 2012-06-25 12:05:52.000000000 -0400 @@ -64,19 +64,23 @@ * @(#)diff3.c 8.1 (Berkeley) 6/6/93 */ @@ -466,3 +455,14 @@ + fprintf(stderr, "usage: diff3 %s file1 file2 file3\n", OPTIONS); exit(EXIT_FAILURE); } +diff -rupN jhagewood/diff3/diff3-orig/Makefile jhagewood/diff3/diff3/Makefile +--- jhagewood/diff3/diff3-orig/Makefile 2012-06-25 12:05:52.000000000 -0400 ++++ jhagewood/diff3/diff3/Makefile 2012-06-25 12:05:52.000000000 -0400 +@@ -6,6 +6,6 @@ BINDIR= /usr/libexec + + beforeinstall: + install ${INSTALL_COPY}c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ +- ${.CURDIR}/diff3.ksh ${DESTDIR}/usr/bin/diff3 ++ ${.CURDIR}/diff3.sh ${DESTDIR}/usr/bin/diff3 + + .include <bsd.prog.mk> Modified: soc2012/jhagewood/mdocml/hagewood-mdocml-ns.patch ============================================================================== --- soc2012/jhagewood/mdocml/hagewood-mdocml-ns.patch Wed Jun 27 20:34:29 2012 (r238417) +++ soc2012/jhagewood/mdocml/hagewood-mdocml-ns.patch Wed Jun 27 21:02:00 2012 (r238418) @@ -1,6 +1,6 @@ diff -rupN jhagewood/mdocml/mdocml-1.12.1-orig/man.h jhagewood/mdocml/mdocml-1.12.1/man.h ---- jhagewood/mdocml/mdocml-1.12.1-orig/man.h 2012-06-25 16:05:56.000000000 -0400 -+++ jhagewood/mdocml/mdocml-1.12.1/man.h 2012-06-25 16:05:59.000000000 -0400 +--- jhagewood/mdocml/mdocml-1.12.1-orig/man.h 2012-06-25 12:05:56.000000000 -0400 ++++ jhagewood/mdocml/mdocml-1.12.1/man.h 2012-06-25 12:05:58.000000000 -0400 @@ -43,6 +43,8 @@ enum mant { MAN_sp, MAN_nf, @@ -12,7 +12,7 @@ MAN_DT, diff -rupN jhagewood/mdocml/mdocml-1.12.1-orig/man.h.orig jhagewood/mdocml/mdocml-1.12.1/man.h.orig --- jhagewood/mdocml/mdocml-1.12.1-orig/man.h.orig 1969-12-31 19:00:00.000000000 -0500 -+++ jhagewood/mdocml/mdocml-1.12.1/man.h.orig 2012-06-25 16:05:59.000000000 -0400 ++++ jhagewood/mdocml/mdocml-1.12.1/man.h.orig 2012-06-25 12:05:58.000000000 -0400 @@ -0,0 +1,113 @@ +/* $Id: man.h,v 1.60 2012/01/03 15:16:24 kristaps Exp $ */ +/* @@ -128,8 +128,8 @@ + +#endif /*!MAN_H*/ diff -rupN jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c jhagewood/mdocml/mdocml-1.12.1/man_term.c ---- jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c 2012-06-25 16:05:56.000000000 -0400 -+++ jhagewood/mdocml/mdocml-1.12.1/man_term.c 2012-06-25 16:05:59.000000000 -0400 +--- jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c 2012-06-25 12:05:56.000000000 -0400 ++++ jhagewood/mdocml/mdocml-1.12.1/man_term.c 2012-06-25 12:05:58.000000000 -0400 @@ -82,6 +82,8 @@ static int pre_alternate(DECL_ARGS); static int pre_ft(DECL_ARGS); static int pre_ign(DECL_ARGS); @@ -173,7 +173,7 @@ static int diff -rupN jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c.orig jhagewood/mdocml/mdocml-1.12.1/man_term.c.orig --- jhagewood/mdocml/mdocml-1.12.1-orig/man_term.c.orig 1969-12-31 19:00:00.000000000 -0500 -+++ jhagewood/mdocml/mdocml-1.12.1/man_term.c.orig 2012-06-25 16:05:59.000000000 -0400 ++++ jhagewood/mdocml/mdocml-1.12.1/man_term.c.orig 2012-06-25 12:05:58.000000000 -0400 @@ -0,0 +1,1117 @@ +/* $Id: man_term.c,v 1.127 2012/01/03 15:16:24 kristaps Exp $ */ +/*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120627210200.C18E5106564A>