socsvn commit: r237576 - in soc2012/jhagewood/diff3: . diff3
jhagewood at FreeBSD.org
jhagewood at FreeBSD.org
Wed Jun 13 03:00:10 UTC 2012
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 <bsd.prog.mk>
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);
}
More information about the svn-soc-all
mailing list