Date: Thu, 05 Jul 2012 18:13:06 +0000 From: jhagewood@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r239007 - in soc2012/jhagewood: diff diff/diff sdiff sdiff/sdiff Message-ID: <20120705181306.D7F9C106564A@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhagewood Date: Thu Jul 5 18:13:06 2012 New Revision: 239007 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=239007 Log: Modified: soc2012/jhagewood/diff/diff/diff.c soc2012/jhagewood/diff/hagewood-diff.patch soc2012/jhagewood/sdiff/TODO soc2012/jhagewood/sdiff/hagewood-sdiff.patch soc2012/jhagewood/sdiff/sdiff/sdiff.c Modified: soc2012/jhagewood/diff/diff/diff.c ============================================================================== --- soc2012/jhagewood/diff/diff/diff.c Thu Jul 5 17:02:20 2012 (r239006) +++ soc2012/jhagewood/diff/diff/diff.c Thu Jul 5 18:13:06 2012 (r239007) @@ -104,7 +104,7 @@ { "help", no_argument, NULL, OPT_HELP }, /*{ "horizon-lines", required_argument, NULL, OPT_HLINES },*/ { "ifdef", required_argument, NULL, 'D' }, - { "ignore-all-space", no_argument, NULL, 'w' }, + { "ignore-all-space", no_argument, NULL, 'W' }, { "ignore-blank-lines", no_argument, NULL, 'B' }, { "ignore-case", no_argument, NULL, 'i' }, { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE }, @@ -142,7 +142,7 @@ { "unidirectional-new-file", no_argument, NULL, 'P' }, { "unified", optional_argument, NULL, 'U' }, { "version", no_argument, NULL, 'v' }, - /*{ "width", optional_argument, NULL, 'W' }, */ + /*{ "width", optional_argument, NULL, 'w' }, */ { NULL, 0, NULL, '\0'} }; @@ -172,6 +172,7 @@ "\t-t --expand-tabs Expand tabs to spaces in output", "\t-U -u NUM --unified=NUM Show NUM lines of unified context", "\t-v --version Show diff version", +"\t-W --ignore-all-space Ignore all space", "\t-w --width=NUM Output at most NUM (default 130) print columns", "\t-X --exclude-from=FILE Start with FILE when comparing directories", "\t-x --exclude=PAT Exclude files that match PAT", @@ -331,7 +332,7 @@ case 'v': printf("FreeBSD diff 2.8.7\n"); exit(0); - case 'w': + case 'W': wflag = 1; break; case 'X': @@ -395,11 +396,10 @@ ignore_file_case = 0; break; case OPT_HELP: - for(;*help_strs;help_strs++) - { + for (; *help_strs; help_strs++) { printf("%s\n", *help_strs); } - exit(2); + exit(0); break; default: usage(); Modified: soc2012/jhagewood/diff/hagewood-diff.patch ============================================================================== --- soc2012/jhagewood/diff/hagewood-diff.patch Thu Jul 5 17:02:20 2012 (r239006) +++ soc2012/jhagewood/diff/hagewood-diff.patch Thu Jul 5 18:13:06 2012 (r239007) @@ -1,6 +1,6 @@ diff -rupN jhagewood/diff/diff-orig/diff.c jhagewood/diff/diff/diff.c --- jhagewood/diff/diff-orig/diff.c 2012-07-02 15:05:57.000000000 -0400 -+++ jhagewood/diff/diff/diff.c 2012-07-03 15:59:52.000000000 -0400 ++++ jhagewood/diff/diff/diff.c 2012-07-05 18:11:07.000000000 -0400 @@ -1,4 +1,4 @@ -/*- +/* @@ -56,7 +56,7 @@ /* Options which exceed manageable alphanumeric assignments */ -@@ -69,84 +67,128 @@ enum +@@ -69,84 +67,129 @@ enum OPT_STRIPCR, OPT_NORMAL, OPT_LEFTC, @@ -128,7 +128,7 @@ + { "help", no_argument, NULL, OPT_HELP }, + /*{ "horizon-lines", required_argument, NULL, OPT_HLINES },*/ + { "ifdef", required_argument, NULL, 'D' }, -+ { "ignore-all-space", no_argument, NULL, 'w' }, ++ { "ignore-all-space", no_argument, NULL, 'W' }, + { "ignore-blank-lines", no_argument, NULL, 'B' }, + { "ignore-case", no_argument, NULL, 'i' }, + { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE }, @@ -182,7 +182,7 @@ - { "exclude-from", required_argument, NULL, 'X' }, - { "exclude", required_argument, NULL, 'x' }, - { "side-by-side", no_argument, NULL, 'y' }, -+ /*{ "width", optional_argument, NULL, 'W' }, */ ++ /*{ "width", optional_argument, NULL, 'w' }, */ { NULL, 0, NULL, '\0'} }; @@ -217,6 +217,7 @@ +"\t-t --expand-tabs Expand tabs to spaces in output", +"\t-U -u NUM --unified=NUM Show NUM lines of unified context", +"\t-v --version Show diff version", ++"\t-W --ignore-all-space Ignore all space", +"\t-w --width=NUM Output at most NUM (default 130) print columns", +"\t-X --exclude-from=FILE Start with FILE when comparing directories", +"\t-x --exclude=PAT Exclude files that match PAT", @@ -237,7 +238,7 @@ NULL, }; char **help_strs = (char **)help_msg; -@@ -162,14 +204,15 @@ void read_excludes_file(char *); +@@ -162,14 +205,15 @@ void read_excludes_file(char *); int main(int argc, char **argv) { @@ -258,7 +259,7 @@ lastch = '\0'; prevoptind = 1; -@@ -197,6 +240,7 @@ main(int argc, char **argv) +@@ -197,6 +241,7 @@ main(int argc, char **argv) break; case 'C': case 'c': @@ -266,7 +267,7 @@ format = D_CONTEXT; if (optarg != NULL) { l = strtol(optarg, &ep, 10); -@@ -213,6 +257,9 @@ main(int argc, char **argv) +@@ -213,6 +258,9 @@ main(int argc, char **argv) case 'd': dflag = 1; break; @@ -276,7 +277,16 @@ case 'e': format = D_EDIT; break; -@@ -296,15 +343,48 @@ main(int argc, char **argv) +@@ -284,7 +332,7 @@ main(int argc, char **argv) + case 'v': + printf("FreeBSD diff 2.8.7\n"); + exit(0); +- case 'w': ++ case 'W': + wflag = 1; + break; + case 'X': +@@ -296,15 +344,48 @@ main(int argc, char **argv) case 'y': yflag = 1; break; @@ -333,6 +343,20 @@ case OPT_STRIPCR: strip_cr=1; break; +@@ -315,11 +396,10 @@ main(int argc, char **argv) + ignore_file_case = 0; + break; + case OPT_HELP: +- for(;*help_strs;help_strs++) +- { ++ for (; *help_strs; help_strs++) { + printf("%s\n", *help_strs); + } +- exit(2); ++ exit(0); + break; + default: + usage(); @@ -328,20 +408,20 @@ main(int argc, char **argv) lastch = ch; newarg = optind != prevoptind; Modified: soc2012/jhagewood/sdiff/TODO ============================================================================== --- soc2012/jhagewood/sdiff/TODO Thu Jul 5 17:02:20 2012 (r239006) +++ soc2012/jhagewood/sdiff/TODO Thu Jul 5 18:13:06 2012 (r239007) @@ -2,7 +2,9 @@ Test script COMPLETE Adapt code to FreeBSD style guidelines INCOMPLETE Fix --width output indention IN PROGRESS - +--help COMPLETE +Adapt source to FreBSD style(9) INCOMPLETE +Add more information to man file. INCOMPLETE NOTES: Modified: soc2012/jhagewood/sdiff/hagewood-sdiff.patch ============================================================================== --- soc2012/jhagewood/sdiff/hagewood-sdiff.patch Thu Jul 5 17:02:20 2012 (r239006) +++ soc2012/jhagewood/sdiff/hagewood-sdiff.patch Thu Jul 5 18:13:06 2012 (r239007) @@ -1,6 +1,6 @@ diff -rupN jhagewood/sdiff/sdiff-orig/sdiff.c jhagewood/sdiff/sdiff/sdiff.c --- jhagewood/sdiff/sdiff-orig/sdiff.c 2012-07-02 15:05:58.000000000 -0400 -+++ jhagewood/sdiff/sdiff/sdiff.c 2012-07-03 17:10:59.000000000 -0400 ++++ jhagewood/sdiff/sdiff/sdiff.c 2012-07-05 18:12:04.000000000 -0400 @@ -34,7 +34,7 @@ #include "common.h" #include "extern.h" @@ -20,7 +20,54 @@ /* pid from the diff parent (if applicable) */ DIFF_PID, -@@ -363,7 +364,7 @@ main(int argc, char **argv) +@@ -137,6 +138,24 @@ static struct option longopts[] = { + + { NULL, 0, NULL, '\0'} + }; ++ ++static const char *help_msg[] = { ++ "-l, --left-column, Only print the left column for identical lines.", ++ "-o OUTFILE, --output=OUTFILE, nteractively merge file1 and file2 into outfile.", ++ "-s, --suppress-common-lines, Skip identical lines.", ++ "-w WIDTH, --width=WIDTH, Print a maximum of WIDTH characters on each line.", ++ "Options passed to diff(1) are:", ++ "\t-a, --text, Treat file1 and file2 as text files.", ++ "\t-b, --ignore-trailing-cr, Ignore trailing blank spaces.", ++ "\t-d, --minimal, Minimize diff size.", ++ "\t-I RE, --ignore-matching-lines=RE, Ignore changes whose line matches RE.", ++ "\t-i, --ignore-case, Do a case-insensitive comparison.", ++ "\t-t, --expand-tabs Expand tabs to spaces.", ++ "\t-W, --ignore-all-spaces, Ignore all spaces.", ++ NULL, ++}; ++char **help_strs = (char **)help_msg; ++ + /* + * Create temporary file if source_file is not a regular file. + * Returns temporary file name if one was malloced, NULL if unnecessary. +@@ -289,17 +308,17 @@ main(int argc, char **argv) + if (errstr) + errx(2, "width is %s: %s", errstr, optarg); + break; +- + case DIFF_PID: + ppid = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr) + errx(2, "diff pid value is %s: %s", errstr, optarg); + break; +- + case HELP_OPT: +- usage(); ++ for (; *help_strs; help_strs++) { ++ printf("%s\n", *help_strs); ++ } ++ exit(0); + break; +- + default: + usage(); + break; +@@ -363,7 +382,7 @@ main(int argc, char **argv) diffargv[diffargc++] = NULL; /* Subtract column divider and divide by two. */ @@ -29,7 +76,7 @@ /* Make sure line_width can fit in size_t. */ if (width > (SIZE_MAX - 3) / 2) errx(2, "width is too large: %zu", width); -@@ -383,7 +384,6 @@ main(int argc, char **argv) +@@ -383,7 +402,6 @@ main(int argc, char **argv) err(2, "child could not duplicate descriptor"); /* Free unused descriptor. */ close(fd[1]); @@ -37,3 +84,16 @@ execvp(diffprog, diffargv); err(2, "could not execute diff: %s", diffprog); break; +@@ -1117,10 +1135,8 @@ int_usage(void) + static void + usage(void) + { +- extern char *__progname; +- ++ + fprintf(stderr, +- "usage: %s [-abdilstW] [-I regexp] [-o outfile] [-w width] file1 file2\n", +- __progname); ++ "usage: sdiff [-abdilstW] [-I regexp] [-o outfile] [-w width] file1 file2\n"); + exit(2); + } Modified: soc2012/jhagewood/sdiff/sdiff/sdiff.c ============================================================================== --- soc2012/jhagewood/sdiff/sdiff/sdiff.c Thu Jul 5 17:02:20 2012 (r239006) +++ soc2012/jhagewood/sdiff/sdiff/sdiff.c Thu Jul 5 18:13:06 2012 (r239007) @@ -138,6 +138,24 @@ { NULL, 0, NULL, '\0'} }; + +static const char *help_msg[] = { + "-l, --left-column, Only print the left column for identical lines.", + "-o OUTFILE, --output=OUTFILE, nteractively merge file1 and file2 into outfile.", + "-s, --suppress-common-lines, Skip identical lines.", + "-w WIDTH, --width=WIDTH, Print a maximum of WIDTH characters on each line.", + "Options passed to diff(1) are:", + "\t-a, --text, Treat file1 and file2 as text files.", + "\t-b, --ignore-trailing-cr, Ignore trailing blank spaces.", + "\t-d, --minimal, Minimize diff size.", + "\t-I RE, --ignore-matching-lines=RE, Ignore changes whose line matches RE.", + "\t-i, --ignore-case, Do a case-insensitive comparison.", + "\t-t, --expand-tabs Expand tabs to spaces.", + "\t-W, --ignore-all-spaces, Ignore all spaces.", + NULL, +}; +char **help_strs = (char **)help_msg; + /* * Create temporary file if source_file is not a regular file. * Returns temporary file name if one was malloced, NULL if unnecessary. @@ -290,17 +308,17 @@ if (errstr) errx(2, "width is %s: %s", errstr, optarg); break; - case DIFF_PID: ppid = strtonum(optarg, 0, INT_MAX, &errstr); if (errstr) errx(2, "diff pid value is %s: %s", errstr, optarg); break; - case HELP_OPT: - usage(); + for (; *help_strs; help_strs++) { + printf("%s\n", *help_strs); + } + exit(0); break; - default: usage(); break; @@ -1117,10 +1135,8 @@ static void usage(void) { - extern char *__progname; - + fprintf(stderr, - "usage: %s [-abdilstW] [-I regexp] [-o outfile] [-w width] file1 file2\n", - __progname); + "usage: sdiff [-abdilstW] [-I regexp] [-o outfile] [-w width] file1 file2\n"); exit(2); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120705181306.D7F9C106564A>