diff options
Diffstat (limited to 'textproc/2bsd-diff/files/patch-diffreg.c')
-rw-r--r-- | textproc/2bsd-diff/files/patch-diffreg.c | 285 |
1 files changed, 282 insertions, 3 deletions
diff --git a/textproc/2bsd-diff/files/patch-diffreg.c b/textproc/2bsd-diff/files/patch-diffreg.c index bfe0e069bb4a..bd16f63d2380 100644 --- a/textproc/2bsd-diff/files/patch-diffreg.c +++ b/textproc/2bsd-diff/files/patch-diffreg.c @@ -1,6 +1,41 @@ ---- diffreg.c.orig Tue Jan 11 14:39:33 1994 -+++ diffreg.c Wed Mar 19 01:38:48 2003 -@@ -270,12 +270,12 @@ +--- diffreg.c.orig 1994-01-11 05:39:33 UTC ++++ diffreg.c +@@ -84,6 +84,25 @@ struct line { + int serial; + int value; + } *file[2], line; ++ ++/* declarations */ ++void equiv(struct line *, int, struct line *, int, int *); ++int asciifile(FILE *); ++void prepare(int, FILE *); ++void sort(struct line *, int); ++void unsort(struct line *, int, int *); ++void unravel(int); ++void check(); ++void output(); ++int stone(int *, int, int *, register int *); ++int readhash(FILE *); ++int newcand(int, int, int); ++int search(int *, int, int); ++void change(int, int, int, int); ++void dump_context_vec(); ++void range(int, int, char *); ++void fetch(long *, int, int, FILE *, char *, int); ++ + int len[2]; + struct line *sfile[2]; /* shortened by pruning common prefix and suffix */ + int slen[2]; +@@ -140,7 +159,7 @@ char cup2low[256] = { + 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff + }; + +-diffreg() ++void diffreg() + { + register int i, j; + FILE *f1, *f2; +@@ -270,12 +289,12 @@ copytemp() char buf[BUFSIZ]; register int i, f; @@ -19,3 +54,247 @@ if (f < 0) { fprintf(stderr, "diff: "); perror(tempfile); +@@ -311,16 +330,16 @@ splice(dir, file) + return (savestr(buf)); + } + +-prepare(i, fd) ++void prepare(i, fd) + int i; + FILE *fd; + { + register struct line *p; +- register j,h; ++ register int j,h; + + fseek(fd, (long)0, 0); + p = (struct line *)talloc(3*sizeof(line)); +- for(j=0; h=readhash(fd);) { ++ for(j=0; (h=readhash(fd));) { + p = (struct line *)ralloc((char *)p,(++j+3)*sizeof(line)); + p[j].value = h; + } +@@ -328,9 +347,9 @@ prepare(i, fd) + file[i] = p; + } + +-prune() ++void prune() + { +- register i,j; ++ register int i,j; + for(pref=0;pref<len[0]&&pref<len[1]&& + file[0][pref+1].value==file[1][pref+1].value; + pref++ ) ; +@@ -345,7 +364,7 @@ prune() + } + } + +-equiv(a,n,b,m,c) ++void equiv(a,n,b,m,c) + struct line *a, *b; + int *c; + { +@@ -373,7 +392,7 @@ int *c; + c[j] = -1; + } + +-stone(a,n,b,c) ++int stone(a,n,b,c) + int *a; + int *b; + register int *c; +@@ -414,7 +433,7 @@ register int *c; + return(k); + } + +-newcand(x,y,pred) ++int newcand(x,y,pred) + { + register struct cand *q; + clist = (struct cand *)ralloc((char *)clist,++clen*sizeof(cand)); +@@ -425,7 +444,7 @@ newcand(x,y,pred) + return(clen-1); + } + +-search(c, k, y) ++int search(c, k, y) + int *c; + { + register int i, j, l; +@@ -449,7 +468,7 @@ int *c; + return(l+1); + } + +-unravel(p) ++void unravel(p) + { + register int i; + register struct cand *q; +@@ -466,7 +485,7 @@ unravel(p) + to confounding by hashing (which result in "jackpot") + 2. collect random access indexes to the two files */ + +-check() ++void check() + { + register int i, j; + int jackpot; +@@ -565,7 +584,7 @@ check() + */ + } + +-sort(a,n) /*shellsort CACM #201*/ ++void sort(a,n) /*shellsort CACM #201*/ + struct line *a; + { + struct line w; +@@ -586,8 +605,8 @@ struct line *a; + if(aim < ai) + break; /*wraparound*/ + if(aim->value > ai[0].value || +- aim->value == ai[0].value && +- aim->serial > ai[0].serial) ++ (aim->value == ai[0].value && ++ aim->serial > ai[0].serial)) + break; + w.value = ai[0].value; + ai[0].value = aim->value; +@@ -600,7 +619,7 @@ struct line *a; + } + } + +-unsort(f, l, b) ++void unsort(f, l, b) + struct line *f; + int *b; + { +@@ -614,9 +633,9 @@ int *b; + free((char *)a); + } + +-skipline(f) ++int skipline(f) + { +- register i, c; ++ register int i, c; + + for(i=1;(c=getc(input[f]))!='\n';i++) + if (c < 0) +@@ -624,7 +643,7 @@ skipline(f) + return(i); + } + +-output() ++void output() + { + int m; + register int i0, i1, j1; +@@ -691,7 +710,7 @@ struct context_vec *context_vec_start, + and this means that there were lines appended (beginning at b). + If c is greater than d then there are lines missing from the to file. + */ +-change(a,b,c,d) ++void change(a,b,c,d) + { + int ch; + int lowa,upb,lowc,upd; +@@ -781,7 +800,7 @@ change(a,b,c,d) + } + } + +-range(a,b,separator) ++void range(a,b,separator) + char *separator; + { + printf("%d", a>b?b:a); +@@ -790,7 +809,7 @@ char *separator; + } + } + +-fetch(f,a,b,lb,s,oldfile) ++void fetch(f,a,b,lb,s,oldfile) + long *f; + FILE *lb; + char *s; +@@ -869,13 +888,13 @@ char *s; + * arranging line in 7-bit bytes and then + * summing 1-s complement in 16-bit hunks + */ +-readhash(f) ++int readhash(f) + register FILE *f; + { + register long sum; + register unsigned shift; +- register t; +- register space; ++ register int t; ++ register int space; + + sum = 1; + space = 0; +@@ -931,12 +950,12 @@ register FILE *f; + } + } + sum = low(sum) + high(sum); +- return((short)low(sum) + (short)high(sum)); ++ return((int)low(sum) + (int)high(sum)); + } + + #include <a.out.h> + +-asciifile(f) ++int asciifile(f) + FILE *f; + { + char buf[BUFSIZ]; +@@ -960,7 +979,7 @@ asciifile(f) + + + /* dump accumulated "context" diff changes */ +-dump_context_vec() ++void dump_context_vec() + { + register int a, b, c, d; + register char ch; +@@ -1003,15 +1022,15 @@ dump_context_vec() + ch = (a <= b) ? 'd' : 'a'; + + if (ch == 'a') +- fetch(ixold,lowa,b,input[0]," "); ++ fetch(ixold,lowa,b,input[0]," ", 0); + else { +- fetch(ixold,lowa,a-1,input[0]," "); +- fetch(ixold,a,b,input[0],ch == 'c' ? "! " : "- "); ++ fetch(ixold,lowa,a-1,input[0]," ", 0); ++ fetch(ixold,a,b,input[0],ch == 'c' ? "! " : "- ", 0); + } + lowa = b + 1; + cvp++; + } +- fetch(ixold, b+1, upb, input[0], " "); ++ fetch(ixold, b+1, upb, input[0], " ", 0); + } + + /* output changes to the "new" file */ +@@ -1037,15 +1056,15 @@ dump_context_vec() + ch = (a <= b) ? 'd' : 'a'; + + if (ch == 'd') +- fetch(ixnew,lowc,d,input[1]," "); ++ fetch(ixnew,lowc,d,input[1]," ", 0); + else { +- fetch(ixnew,lowc,c-1,input[1]," "); +- fetch(ixnew,c,d,input[1],ch == 'c' ? "! " : "+ "); ++ fetch(ixnew,lowc,c-1,input[1]," ", 0); ++ fetch(ixnew,c,d,input[1],ch == 'c' ? "! " : "+ ", 0); + } + lowc = d + 1; + cvp++; + } +- fetch(ixnew, d+1, upd, input[1], " "); ++ fetch(ixnew, d+1, upd, input[1], " ", 0); + } + + context_vec_ptr = context_vec_start - 1; |