socsvn commit: r237652 - in soc2012/jhagewood/diff: . diff
jhagewood at FreeBSD.org
jhagewood at FreeBSD.org
Thu Jun 14 04:25:28 UTC 2012
Author: jhagewood
Date: Thu Jun 14 04:25:25 2012
New Revision: 237652
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=237652
Log:
Modified:
soc2012/jhagewood/diff/diff/diff.c
soc2012/jhagewood/diff/diff/diffreg.c
soc2012/jhagewood/diff/hagewood-diff.patch
Modified: soc2012/jhagewood/diff/diff/diff.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diff.c Thu Jun 14 03:27:01 2012 (r237651)
+++ soc2012/jhagewood/diff/diff/diff.c Thu Jun 14 04:25:25 2012 (r237652)
@@ -48,7 +48,7 @@
int aflag, bflag, cflag, dflag, Eflag, iflag, lflag, Nflag, Pflag, pflag, rflag;
int sflag, tflag, Tflag, wflag;
int Bflag, yflag;
-int strip_cr, tabsize=8;
+int strip_cr, tabsize = 8;
char ignore_file_case = 0;
int format, context, status;
char *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
@@ -58,7 +58,7 @@
int flag_opts = 0;
-#define OPTIONS "0123456789aBbC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwXy:x"
+#define OPTIONS "0123456789aBbC:cdD:EefhI:iL:lnNPpqrS:sTtU:uvwXy:x"
/* Options which exceed manageable alphanumeric assignments */
Modified: soc2012/jhagewood/diff/diff/diffreg.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diffreg.c Thu Jun 14 03:27:01 2012 (r237651)
+++ soc2012/jhagewood/diff/diff/diffreg.c Thu Jun 14 04:25:25 2012 (r237652)
@@ -748,12 +748,14 @@
static void
check(char *file1, FILE *f1, char *file2, FILE *f2)
{
- int i, j, jackpot, c, d;
- long ctold, ctnew;
+ int i, j, jackpot, c, d, spacetab;
+ long ctold, ctnew;
+ fpos_t position;
rewind(f1);
rewind(f2);
j = 1;
+ spacetab = 1;
ixold[0] = ixnew[0] = 0;
jackpot = 0;
ctold = ctnew = 0;
@@ -820,24 +822,33 @@
} while ((d = getc(f2)) == '\n' && j <= len[1]);
}
break;
- /* TODO : ignore-tab-expansion */
+ /* ignore-tab-expansion */
} else if (Eflag) {
if (c == '\t' && d == ' ') {
- do {
- if (c == '\t') {
- ixold[i] = ctold;
- i++;
- }
- } while ((c = getc(f1)) == '\t' && i <= len[0]);
+ fgetpos(f2, &position);
+ for (j = 1; j <= 7; j++) {
+ d = getc(f2);
+ if (d != " ")
+ spacetab = 0;
+ }
+ fsetpos(f2, &position);
+ if (spacetab) {
+ /* Ignore tab expression? */
+ }
}
if (d == '\t' && c == ' ') {
- do {
- if (d == '\t') {
- ixnew[j] = ctnew;
- j++;
- }
- } while ((d = getc(f2)) == '\t' && j <= len[1]);
+ fgetpos(f2, &position);
+ for (j = 1; j <= 7; j++) {
+ d = getc(f2);
+ if (d != " ")
+ spacetab = 0;
+ }
+ fsetpos(f2, &position);
+ if (spacetab) {
+ /* Ignore tab expression? */
+ }
}
+ break;
}
if (chrtran[c] != chrtran[d]) {
jackpot++;
@@ -872,7 +883,7 @@
ixnew[j] = ctnew;
j++;
}
- for (; j <= len[1]; j++)
+ for (j = 1; j <= len[1]; j++)
ixnew[j] = ctnew += skipline(f2);
/*
* if (jackpot)
Modified: soc2012/jhagewood/diff/hagewood-diff.patch
==============================================================================
--- soc2012/jhagewood/diff/hagewood-diff.patch Thu Jun 14 03:27:01 2012 (r237651)
+++ soc2012/jhagewood/diff/hagewood-diff.patch Thu Jun 14 04:25:25 2012 (r237652)
@@ -1,7 +1,7 @@
diff -rupN jhagewood/diff/diff-orig/diff.c jhagewood/diff/diff/diff.c
--- jhagewood/diff/diff-orig/diff.c 2012-06-10 03:31:05.000000000 -0400
-+++ jhagewood/diff/diff/diff.c 2012-06-13 05:07:54.000000000 -0400
-@@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$");
++++ jhagewood/diff/diff/diff.c 2012-06-14 04:01:37.000000000 -0400
+@@ -45,10 +45,10 @@ __FBSDID("$FreeBSD$");
#include "diff.h"
#include "pathnames.h"
@@ -9,7 +9,20 @@
+int aflag, bflag, cflag, dflag, Eflag, iflag, lflag, Nflag, Pflag, pflag, rflag;
int sflag, tflag, Tflag, wflag;
int Bflag, yflag;
- int strip_cr, tabsize=8;
+-int strip_cr, tabsize=8;
++int strip_cr, tabsize = 8;
+ char ignore_file_case = 0;
+ int format, context, status;
+ char *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
+@@ -58,7 +58,7 @@ regex_t ignore_re;
+
+ int flag_opts = 0;
+
+-#define OPTIONS "0123456789aBbC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwXy:x"
++#define OPTIONS "0123456789aBbC:cdD:EefhI:iL:lnNPpqrS:sTtU:uvwXy:x"
+
+
+ /* Options which exceed manageable alphanumeric assignments */
@@ -109,8 +109,7 @@ static struct option longopts[] = {
{ "context", optional_argument, NULL, 'C' },
{ "ifdef", required_argument, NULL, 'D' },
@@ -69,8 +82,25 @@
extern int format, context, status;
diff -rupN jhagewood/diff/diff-orig/diffreg.c jhagewood/diff/diff/diffreg.c
--- jhagewood/diff/diff-orig/diffreg.c 2012-06-10 03:31:05.000000000 -0400
-+++ jhagewood/diff/diff/diffreg.c 2012-06-13 20:53:55.000000000 -0400
-@@ -766,7 +766,7 @@ check(char *file1, FILE *f1, char *file2
++++ jhagewood/diff/diff/diffreg.c 2012-06-14 04:22:08.000000000 -0400
+@@ -748,12 +748,14 @@ unravel(int p)
+ static void
+ check(char *file1, FILE *f1, char *file2, FILE *f2)
+ {
+- int i, j, jackpot, c, d;
+- long ctold, ctnew;
++ int i, j, jackpot, c, d, spacetab;
++ long ctold, ctnew;
++ fpos_t position;
+
+ rewind(f1);
+ rewind(f2);
+ j = 1;
++ spacetab = 1;
+ ixold[0] = ixnew[0] = 0;
+ jackpot = 0;
+ ctold = ctnew = 0;
+@@ -766,7 +768,7 @@ check(char *file1, FILE *f1, char *file2
ixnew[j] = ctnew += skipline(f2);
j++;
}
@@ -79,7 +109,7 @@
for (;;) {
c = getc(f1);
d = getc(f2);
-@@ -803,28 +803,41 @@ check(char *file1, FILE *f1, char *file2
+@@ -803,27 +805,49 @@ check(char *file1, FILE *f1, char *file2
}
} else if (Bflag) {
@@ -106,29 +136,46 @@
-
}
-
- break;
-+ /* TODO : ignore-tab-expansion */
++ break;
++ /* ignore-tab-expansion */
+ } else if (Eflag) {
+ if (c == '\t' && d == ' ') {
-+ do {
-+ if (c == '\t') {
-+ ixold[i] = ctold;
-+ i++;
-+ }
-+ } while ((c = getc(f1)) == '\t' && i <= len[0]);
++ fgetpos(f2, &position);
++ for (j = 1; j <= 7; j++) {
++ d = getc(f2);
++ if (d != " ")
++ spacetab = 0;
++ }
++ fsetpos(f2, &position);
++ if (spacetab) {
++ /* Ignore tab expression? */
++ }
+ }
+ if (d == '\t' && c == ' ') {
-+ do {
-+ if (d == '\t') {
-+ ixnew[j] = ctnew;
-+ j++;
-+ }
-+ } while ((d = getc(f2)) == '\t' && j <= len[1]);
++ fgetpos(f2, &position);
++ for (j = 1; j <= 7; j++) {
++ d = getc(f2);
++ if (d != " ")
++ spacetab = 0;
++ }
++ fsetpos(f2, &position);
++ if (spacetab) {
++ /* Ignore tab expression? */
++ }
+ }
+ break;
}
if (chrtran[c] != chrtran[d]) {
- jackpot++;
-@@ -1551,16 +1564,33 @@ dump_unified_vec(FILE *f1, FILE *f2)
+@@ -859,7 +883,7 @@ check(char *file1, FILE *f1, char *file2
+ ixnew[j] = ctnew;
+ j++;
+ }
+- for (; j <= len[1]; j++)
++ for (j = 1; j <= len[1]; j++)
+ ixnew[j] = ctnew += skipline(f2);
+ /*
+ * if (jackpot)
+@@ -1551,16 +1575,33 @@ dump_unified_vec(FILE *f1, FILE *f2)
static void
print_header(const char *file1, const char *file2)
{
More information about the svn-soc-all
mailing list