Date: Sun, 6 Jul 2008 09:59:59 GMT From: Gabor Kovesdan <gabor@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 144769 for review Message-ID: <200807060959.m669xxRp096247@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=144769 Change 144769 by gabor@gabor_server on 2008/07/06 09:59:55 - Add --unidirectional-new-file Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.1#3 edit .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#10 edit .. //depot/projects/soc2008/gabor_textproc/diff/diff.h#5 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.1#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" .\" @(#)diff.1 8.1 (Berkeley) 6/30/93 .\" -.Dd Jul 4, 2008 +.Dd Jul 6, 2008 .Dt DIFF 1 .Os .Sh NAME @@ -281,6 +281,8 @@ The .Ar file argument can be a directory. +.It Fl Fl unidirectional-new-file +Treat the first file as empty and generate a diff accordingly. .It Fl w , Fl Fl ignore-all-space Is similar to .Fl b ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#10 (text+ko) ==== @@ -45,7 +45,7 @@ #include "diff.h" int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag; -int sflag, tflag, Tflag, wflag; +int sflag, tflag, Tflag, wflag, uniflag; int format, status; int fcase_behave = FCASE_SENSITIVE; unsigned long long context; @@ -60,7 +60,8 @@ FCASE_SENSITIVE_OPT, FCASE_IGNORE_OPT, FROMFILE_OPT, - TOFILE_OPT + TOFILE_OPT, + UNIDIR_OPT }; #define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" @@ -76,8 +77,8 @@ { "GTYPE-group-format", required_argument, NULL, OPT_GTYPE }, { "line-format", required_argument, NULL, OPT_LF }, { "LTYPE-line-format", required_argument, NULL, OPT_LLF }, - { "tabsize", optional_argument, NULL, OPT_TSIZE }, - { "unidirectional-new-file", no_argument, NULL, OPT_UNINF }, */ + { "tabsize", optional_argument, NULL, OPT_TSIZE }, */ + { "unidirectional-new-file", no_argument, NULL, UNIDIR_OPT }, { "from-file", required_argument, NULL, FROMFILE_OPT }, { "to-file", required_argument, NULL, TOFILE_OPT }, /* XXX: UNIMPLEMENTED @@ -133,7 +134,7 @@ main(int argc, char **argv) { char *ep, *fromfile = NULL, *tofile = NULL, **oargv; - int ch, lastch, gotstdin, prevoptind, newarg; + int ch, lastch, gotstdin, prevoptind, newarg, flags = 0; char *dst, *src; oargv = argv; @@ -261,6 +262,9 @@ err(2, "--from-file and --to-file are both specified"); asprintf(&fromfile, "%s", optarg); break; + case UNIDIR_OPT: + uniflag = 1; + break; case TOFILE_OPT: if (fromfile != NULL) err(2, "--from-file and --to-file are both specified"); @@ -326,8 +330,12 @@ if (strcmp(src, "-") == 0) { fstat(STDIN_FILENO, &stb1); gotstdin = 1; - } else if (stat(src, &stb1) != 0) - err(2, "%s", src); + } else if (stat(src, &stb1) != 0) { + if (uniflag) + flags |= D_EMPTY1; + else + err(2, "%s", src); + } if (strcmp(dst, "-") == 0) { fstat(STDIN_FILENO, &stb2); gotstdin = 1; @@ -352,7 +360,7 @@ if (stat(argv[1], &stb2) < 0) err(2, "%s", argv[1]); } - print_status(diffreg(src, dst, 0), src, dst, + print_status(diffreg(src, dst, flags), src, dst, NULL); if (fromfile != NULL) dst = argv[ch]; ==== //depot/projects/soc2008/gabor_textproc/diff/diff.h#5 (text+ko) ==== @@ -83,7 +83,7 @@ }; extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, - sflag, tflag, Tflag, wflag; + sflag, tflag, Tflag, wflag, uniflag; extern int format, status; extern int fcase_behave; extern unsigned long long context;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807060959.m669xxRp096247>