summaryrefslogtreecommitdiff
path: root/textproc/2bsd-diff/files/patch-diffh.c
diff options
context:
space:
mode:
Diffstat (limited to 'textproc/2bsd-diff/files/patch-diffh.c')
-rw-r--r--textproc/2bsd-diff/files/patch-diffh.c184
1 files changed, 184 insertions, 0 deletions
diff --git a/textproc/2bsd-diff/files/patch-diffh.c b/textproc/2bsd-diff/files/patch-diffh.c
new file mode 100644
index 000000000000..ca5edcc8864d
--- /dev/null
+++ b/textproc/2bsd-diff/files/patch-diffh.c
@@ -0,0 +1,184 @@
+--- diffh.c.orig 1991-11-12 20:31:33 UTC
++++ diffh.c
+@@ -6,6 +6,7 @@ static char sccsid[] = "@(#)diffh.c 4.4 11/27/85";
+ #include <ctype.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <stdlib.h>
+
+ #define C 3
+ #define RANGE 30
+@@ -20,13 +21,24 @@ int bflag;
+ int debug = 0;
+ FILE *file[2];
+
++/* declarations */
++void error(char *, char *);
++char cmp(char *, char *);
++void range(long, int);
++void change(long, int, long, int, char *);
++int output(int, int);
++void progerr(char *);
++int hardsynch();
++int easysynch();
++void movstr(char *, char *t);
++void clrl(int, long);
++
+ /* return pointer to line n of file f*/
+ char *getl(f,n)
+ long n;
+ {
+ register char *t;
+- char *malloc();
+- register delta, nt;
++ register int delta, nt;
+ again:
+ delta = n - lineno[f];
+ nt = ntext[f];
+@@ -43,11 +55,12 @@ again:
+ t = text[f][nt];
+ if(t==0) {
+ t = text[f][nt] = malloc(LEN+1);
+- if(t==NULL)
++ if(t==NULL) {
+ if(hardsynch())
+ goto again;
+ else
+ progerr("5");
++ }
+ }
+ t = fgets(t,LEN,file[f]);
+ if(t!=NULL)
+@@ -56,10 +69,10 @@ again:
+ }
+
+ /*remove thru line n of file f from storage*/
+-clrl(f,n)
++void clrl(f,n)
+ long n;
+ {
+- register i,j;
++ register int i,j;
+ j = n-lineno[f]+1;
+ for(i=0;i+j<ntext[f];i++)
+ movstr(text[f][i+j],text[f][i]);
+@@ -67,14 +80,14 @@ long n;
+ ntext[f] -= j;
+ }
+
+-movstr(s,t)
++void movstr(s,t)
+ register char *s, *t;
+ {
+- while(*t++= *s++)
++ while((*t++= *s++))
+ continue;
+ }
+
+-main(argc,argv)
++int main(argc,argv)
+ char **argv;
+ {
+ char *s0,*s1;
+@@ -116,10 +129,10 @@ char **argv;
+ }
+
+ /* synch on C successive matches*/
+-easysynch()
++int easysynch()
+ {
+ int i,j;
+- register k,m;
++ register int k,m;
+ char *s0,*s1;
+ for(i=j=1;i<RANGE&&j<RANGE;i++,j++) {
+ s0 = getl(0,n0+i);
+@@ -148,9 +161,9 @@ cont2: ;
+ return(0);
+ }
+
+-output(a,b)
++int output(a,b)
+ {
+- register i;
++ register int i;
+ char *s;
+ if(a<0)
+ change(n0-1,0,n1,b,"a");
+@@ -179,7 +192,7 @@ output(a,b)
+ return(1);
+ }
+
+-change(a,b,c,d,s)
++void change(a,b,c,d,s)
+ long a,c;
+ char *s;
+ {
+@@ -189,7 +202,7 @@ char *s;
+ printf("\n");
+ }
+
+-range(a,b)
++void range(a,b)
+ long a;
+ {
+ if(b==INF)
+@@ -200,7 +213,7 @@ long a;
+ printf("%ld,%ld",a,a+b);
+ }
+
+-cmp(s,t)
++char cmp(s,t)
+ char *s,*t;
+ {
+ if(debug)
+@@ -224,20 +237,21 @@ char *f1,*f2;
+ FILE *f;
+ char b[100],*bptr,*eptr;
+ struct stat statbuf;
+- if(cmp(f1,"-")==0)
++ if(cmp(f1,"-")==0) {
+ if(cmp(f2,"-")==0)
+ error("can't do - -","");
+ else
+ return(stdin);
++ }
+ if(stat(f1,&statbuf)==-1)
+ error("can't access ",f1);
+ if((statbuf.st_mode&S_IFMT)==S_IFDIR) {
+- for(bptr=b;*bptr= *f1++;bptr++) ;
++ for(bptr=b;(*bptr= *f1++);bptr++) ;
+ *bptr++ = '/';
+ for(eptr=f2;*eptr;eptr++)
+ if(*eptr=='/'&&eptr[1]!=0&&eptr[1]!='/')
+ f2 = eptr+1;
+- while(*bptr++= *f2++) ;
++ while((*bptr++= *f2++)) ;
+ f1 = b;
+ }
+ f = fopen(f1,"r");
+@@ -247,13 +261,13 @@ char *f1,*f2;
+ }
+
+
+-progerr(s)
++void progerr(s)
+ char *s;
+ {
+ error("program error ",s);
+ }
+
+-error(s,t)
++void error(s,t)
+ char *s,*t;
+ {
+ fprintf(stderr,"diffh: %s%s\n",s,t);
+@@ -261,7 +275,7 @@ char *s,*t;
+ }
+
+ /*stub for resychronization beyond limits of text buf*/
+-hardsynch()
++int hardsynch()
+ {
+ change(n0,INF,n1,INF,"c");
+ printf("---change record omitted\n");