From owner-svn-soc-all@FreeBSD.ORG Wed Jun 13 03:00:09 2012 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id E38D3106564A for ; Wed, 13 Jun 2012 03:00:08 +0000 (UTC) (envelope-from jhagewood@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Wed, 13 Jun 2012 03:00:08 +0000 Date: Wed, 13 Jun 2012 03:00:08 +0000 From: jhagewood@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20120613030008.E38D3106564A@hub.freebsd.org> Cc: Subject: socsvn commit: r237576 - in soc2012/jhagewood/diff3: . diff3 X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2012 03:00:10 -0000 Author: jhagewood Date: Wed Jun 13 03:00:08 2012 New Revision: 237576 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=237576 Log: Modified: soc2012/jhagewood/diff3/diff3/diff3prog.c soc2012/jhagewood/diff3/hagewood-diff3.patch Modified: soc2012/jhagewood/diff3/diff3/diff3prog.c ============================================================================== --- soc2012/jhagewood/diff3/diff3/diff3prog.c Wed Jun 13 00:12:47 2012 (r237575) +++ soc2012/jhagewood/diff3/diff3/diff3prog.c Wed Jun 13 03:00:08 2012 (r237576) @@ -88,9 +88,8 @@ #ifdef __FreeBSD__ #define __dead #endif -/* diff3 - 3-way differential file comparison */ -char const __version[] = "1.1"; +/* diff3 - 3-way differential file comparison */ /* diff3 [-ex3EX] d13 d23 f1 f2 f3 [m1 m3] * @@ -231,7 +230,7 @@ oflag = eflag = 1; break; case 'v': - printf("FreeBSD diff3 %s\n", __version); + printf("OpenBSD diff3 1.11-FreeBSD",); exit(0); case 'x': eflag = 1; @@ -256,19 +255,14 @@ if (argc < 5) { usage(); } - if (oflag) { - (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", - labels[0] != NULL ? labels[0] : - argc >= 6 ? argv[5] : argv[2]); - (void)snprintf(f2mark, sizeof(f2mark), "||||||| %s", - labels[1] != NULL ? labels[1] : - argc >= 6 ? argv[4] : argv[3]); - (void)snprintf(f3mark, sizeof(f3mark), ">>>>>>> %s", - labels[2] != NULL ? labels[2] : - argc >= 7 ? argv[6] : argv[4]); + (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", labels[0] + != NULL ? labels[0] : argc >= 6 ? argv[5] : argv[2]); + (void)snprintf(f2mark, sizeof(f2mark), "||||||| %s", labels[1] + != NULL ? labels[1] : argc >= 6 ? argv[4] : argv[3]); + (void)snprintf(f3mark, sizeof(f3mark), ">>>>>>> %s", labels[2] + != NULL ? labels[2] : argc >= 7 ? argv[6] : argv[4]); } - increase(); m = readin(argv[0], &d13); n = readin(argv[1], &d23); @@ -327,17 +321,18 @@ (*dd)[i].new.from = (*dd)[i-1].new.to; } (void)fclose(fp[0]); - return (i); + return(i); } int number(char **lc) { int nn; + nn = 0; while (isdigit((unsigned char)(**lc))) nn = nn*10 + *(*lc)++ - '0'; - return (nn); + return(nn); } char * @@ -347,9 +342,9 @@ while ((line = getline(b, NULL))) { if (isdigit((unsigned char)line[0])) - return (line); + return(line); } - return (NULL); + return(NULL); } char * @@ -361,7 +356,7 @@ static size_t bufsize; if ((cp = fgetln(b, &len)) == NULL) - return (NULL); + return(NULL); if (cp[len - 1] != '\n') len++; @@ -377,7 +372,7 @@ buf[len] = '\0'; if (n != NULL) *n = len; - return (buf); + return(buf); } void @@ -492,25 +487,26 @@ size_t i; if (aflag || f == NULL) - return (1); + return(1); rewind(f); errno = 0; for (i = 0; i <= BUFSIZ; i++) { if ((ch = fgetwc(f)) == WEOF) { if (errno == EILSEQ) - return (0); + return(0); break; } if (!iswspace(ch) && iswcntrl(ch)) - return (0); + return(0); } - return (1); + return(1); } void separate(const char *s) { + printf("====%s\n", s); } @@ -522,6 +518,7 @@ void change(int i, struct range *rold, int dup) { + printf("%d:", i); last[i] = rold->to; prange(rold); @@ -539,6 +536,7 @@ void prange(struct range *rold) { + if (rold->to <= rold->from) printf("%da\n", rold->from - 1); else { @@ -581,10 +579,9 @@ trouble(); if (pr != NULL) printf("%s%s", Tflag == 1? "\t" : pr, line); - cline[i]++; } - return ((int) n); + return((int) n); } /* @@ -599,7 +596,7 @@ int nline; if (r1->to-r1->from != r2->to-r2->from) - return (0); + return(0); (void)skip(0, r1->from, NULL); (void)skip(1, r2->from, NULL); nchar = 0; @@ -612,12 +609,12 @@ nchar++; if (c != d) { repos(nchar); - return (0); + return(0); } } while (c != '\n'); } repos(nchar); - return (1); + return(1); } void @@ -645,7 +642,6 @@ break; } } - if (&tcr_pos != NULL) { fsetpos(f, &tcr_pos); fputc((int)'\0', f); @@ -656,6 +652,7 @@ __dead void trouble(void) { + errx(EXIT_FAILURE, "logic error"); } @@ -665,8 +662,9 @@ int edit(struct diff *diff, int dup, int j) { + if (((dup + 1) & eflag) == 0) - return (j); + return(j); j++; overlap[j] = !dup; if (!dup) @@ -675,7 +673,7 @@ de[j].old.to = diff->old.to; de[j].new.from = de[j-1].new.to + skip(2, diff->new.from, NULL); de[j].new.to = de[j].new.from + skip(2, diff->new.to, NULL); - return (j); + return(j); } /* regurgitate */ @@ -704,7 +702,6 @@ printf("%da\n%s\n.\n", de[n].old.from - 1, f1mark); } } - if( iflag ) printf("w\nq\n"); @@ -748,6 +745,7 @@ void help(void) { + printf ("%s", "\ -e --ed Output unmerged changes from OLDFILE to YOURFILE into MYFILE.\n\ -A --show-all Output all changes, bracketing conflicts.\n\ @@ -767,7 +765,7 @@ __dead void usage(void) { - fprintf(stderr, "usage: diff3 [-exEX3] /tmp/d3a.?????????? " - "/tmp/d3b.?????????? file1 file2 file3\n"); + + fprintf(stderr, "usage: diff3 [-exEX3] file1 file2 file3\n"); exit(EXIT_FAILURE); } Modified: soc2012/jhagewood/diff3/hagewood-diff3.patch ============================================================================== --- soc2012/jhagewood/diff3/hagewood-diff3.patch Wed Jun 13 00:12:47 2012 (r237575) +++ soc2012/jhagewood/diff3/hagewood-diff3.patch Wed Jun 13 03:00:08 2012 (r237576) @@ -11,8 +11,8 @@ .include diff -rupN jhagewood/diff3/diff3-orig/diff3prog.c jhagewood/diff3/diff3/diff3prog.c --- jhagewood/diff3/diff3-orig/diff3prog.c 2012-06-10 03:31:05.000000000 -0400 -+++ jhagewood/diff3/diff3/diff3prog.c 2012-06-12 01:22:51.000000000 -0400 -@@ -64,24 +64,34 @@ ++++ jhagewood/diff3/diff3/diff3prog.c 2012-06-13 02:59:50.000000000 -0400 +@@ -64,22 +64,31 @@ * @(#)diff3.c 8.1 (Berkeley) 6/6/93 */ @@ -47,14 +47,11 @@ +#ifdef __FreeBSD__ +#define __dead +#endif ++ /* diff3 - 3-way differential file comparison */ -+char const __version[] = "1.1"; -+ /* diff3 [-ex3EX] d13 d23 f1 f2 f3 [m1 m3] - * - * d13 = diff report on f1 vs f3 -@@ -149,33 +159,37 @@ void prange(struct range *); +@@ -149,33 +158,37 @@ void prange(struct range *); void repos(int); void separate(const char *); __dead void edscript(int); @@ -99,12 +96,12 @@ }; -@@ -216,12 +230,18 @@ main(int argc, char **argv) +@@ -216,12 +229,18 @@ main(int argc, char **argv) case 'X': oflag = eflag = 1; break; + case 'v': -+ printf("FreeBSD diff3 %s\n", __version); ++ printf("OpenBSD diff3 1.11-FreeBSD",); + exit(0); case 'x': eflag = 1; @@ -118,18 +115,36 @@ case STRIPCR_OPT: strip_cr = 1; break; -@@ -233,8 +253,9 @@ main(int argc, char **argv) +@@ -233,27 +252,25 @@ main(int argc, char **argv) argc -= optind; argv += optind; /* XXX - argc usage seems wrong here */ - if (argc < 5) + if (argc < 5) { usage(); +- + } - if (oflag) { - (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", -@@ -254,6 +275,8 @@ main(int argc, char **argv) +- (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", +- labels[0] != NULL ? labels[0] : +- argc >= 6 ? argv[5] : argv[2]); +- (void)snprintf(f2mark, sizeof(f2mark), "||||||| %s", +- labels[1] != NULL ? labels[1] : +- argc >= 6 ? argv[4] : argv[3]); +- (void)snprintf(f3mark, sizeof(f3mark), ">>>>>>> %s", +- labels[2] != NULL ? labels[2] : +- argc >= 7 ? argv[6] : argv[4]); ++ (void)snprintf(f1mark, sizeof(f1mark), "<<<<<<< %s", labels[0] ++ != NULL ? labels[0] : argc >= 6 ? argv[5] : argv[2]); ++ (void)snprintf(f2mark, sizeof(f2mark), "||||||| %s", labels[1] ++ != NULL ? labels[1] : argc >= 6 ? argv[4] : argv[3]); ++ (void)snprintf(f3mark, sizeof(f3mark), ">>>>>>> %s", labels[2] ++ != NULL ? labels[2] : argc >= 7 ? argv[6] : argv[4]); + } +- + increase(); + m = readin(argv[0], &d13); + n = readin(argv[1], &d23); for (i = 0; i <= 2; i++) { if ((fp[i] = fopen(argv[i + 2], "r")) == NULL) err(EXIT_FAILURE, "can't open %s", argv[i + 2]); @@ -138,7 +153,58 @@ } merge(m, n); exit(EXIT_SUCCESS); -@@ -367,8 +390,7 @@ merge(int m1, int m2) +@@ -304,17 +321,18 @@ readin(char *name, struct diff **dd) + (*dd)[i].new.from = (*dd)[i-1].new.to; + } + (void)fclose(fp[0]); +- return (i); ++ return(i); + } + + int + number(char **lc) + { + int nn; ++ + nn = 0; + while (isdigit((unsigned char)(**lc))) + nn = nn*10 + *(*lc)++ - '0'; +- return (nn); ++ return(nn); + } + + char * +@@ -324,9 +342,9 @@ getchange(FILE *b) + + while ((line = getline(b, NULL))) { + if (isdigit((unsigned char)line[0])) +- return (line); ++ return(line); + } +- return (NULL); ++ return(NULL); + } + + char * +@@ -338,7 +356,7 @@ getline(FILE *b, size_t *n) + static size_t bufsize; + + if ((cp = fgetln(b, &len)) == NULL) +- return (NULL); ++ return(NULL); + + if (cp[len - 1] != '\n') + len++; +@@ -354,7 +372,7 @@ getline(FILE *b, size_t *n) + buf[len] = '\0'; + if (n != NULL) + *n = len; +- return (buf); ++ return(buf); + } + + void +@@ -367,8 +385,7 @@ merge(int m1, int m2) d2 = d23; j = 0; @@ -148,7 +214,7 @@ printf("Binary file detected; comparison failed\n"); exit(EXIT_FAILURE); } -@@ -466,24 +488,24 @@ merge(int m1, int m2) +@@ -466,29 +483,30 @@ merge(int m1, int m2) static int asciifile(FILE *f) { @@ -160,7 +226,7 @@ - if (aflag || f == NULL) - return (1); + if (aflag || f == NULL) -+ return (1); ++ return(1); - rewind(f); - errno = 0; @@ -179,17 +245,31 @@ + for (i = 0; i <= BUFSIZ; i++) { + if ((ch = fgetwc(f)) == WEOF) { + if (errno == EILSEQ) -+ return (0); ++ return(0); + break; + } + if (!iswspace(ch) && iswcntrl(ch)) -+ return (0); ++ return(0); + } -+ return (1); ++ return(1); + } + + void + separate(const char *s) + { ++ + printf("====%s\n", s); } +@@ -500,6 +518,7 @@ separate(const char *s) void -@@ -510,8 +532,9 @@ change(int i, struct range *rold, int du + change(int i, struct range *rold, int dup) + { ++ + printf("%d:", i); + last[i] = rold->to; + prange(rold); +@@ -510,12 +529,14 @@ change(int i, struct range *rold, int du (void)skip(i, rold->to, " "); } @@ -201,7 +281,48 @@ */ void prange(struct range *rold) -@@ -606,6 +629,30 @@ repos(int nchar) + { ++ + if (rold->to <= rold->from) + printf("%da\n", rold->from - 1); + else { +@@ -558,10 +579,9 @@ skip(int i, int from, char *pr) + trouble(); + if (pr != NULL) + printf("%s%s", Tflag == 1? "\t" : pr, line); +- + cline[i]++; + } +- return ((int) n); ++ return((int) n); + } + + /* +@@ -576,7 +596,7 @@ duplicate(struct range *r1, struct range + int nline; + + if (r1->to-r1->from != r2->to-r2->from) +- return (0); ++ return(0); + (void)skip(0, r1->from, NULL); + (void)skip(1, r2->from, NULL); + nchar = 0; +@@ -589,12 +609,12 @@ duplicate(struct range *r1, struct range + nchar++; + if (c != d) { + repos(nchar); +- return (0); ++ return(0); + } + } while (c != '\n'); + } + repos(nchar); +- return (1); ++ return(1); + } + + void +@@ -606,9 +626,33 @@ repos(int nchar) (void)fseek(fp[i], (long)-nchar, SEEK_CUR); } @@ -221,7 +342,6 @@ + break; + } + } -+ + if (&tcr_pos != NULL) { + fsetpos(f, &tcr_pos); + fputc((int)'\0', f); @@ -232,13 +352,46 @@ __dead void trouble(void) { -@@ -698,13 +745,29 @@ increase(void) ++ + errx(EXIT_FAILURE, "logic error"); + } + +@@ -618,8 +662,9 @@ trouble(void) + int + edit(struct diff *diff, int dup, int j) + { ++ + if (((dup + 1) & eflag) == 0) +- return (j); ++ return(j); + j++; + overlap[j] = !dup; + if (!dup) +@@ -628,7 +673,7 @@ edit(struct diff *diff, int dup, int j) + de[j].old.to = diff->old.to; + de[j].new.from = de[j-1].new.to + skip(2, diff->new.from, NULL); + de[j].new.to = de[j].new.from + skip(2, diff->new.to, NULL); +- return (j); ++ return(j); + } + + /* regurgitate */ +@@ -657,7 +702,6 @@ edscript(int n) + printf("%da\n%s\n.\n", de[n].old.from - 1, f1mark); + } + } +- + if( iflag ) + printf("w\nq\n"); + +@@ -698,13 +742,30 @@ increase(void) szchanges = newsz; } +void +help(void) +{ ++ + printf ("%s", "\ + -e --ed Output unmerged changes from OLDFILE to YOURFILE into MYFILE.\n\ + -A --show-all Output all changes, bracketing conflicts.\n\ @@ -262,7 +415,7 @@ - - fprintf(stderr, "usage: %s [-exEX3] /tmp/d3a.?????????? " - "/tmp/d3b.?????????? file1 file2 file3\n", __progname); -+ fprintf(stderr, "usage: diff3 [-exEX3] /tmp/d3a.?????????? " -+ "/tmp/d3b.?????????? file1 file2 file3\n"); ++ ++ fprintf(stderr, "usage: diff3 [-exEX3] file1 file2 file3\n"); exit(EXIT_FAILURE); }