Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2019 11:16:54 +0000 (UTC)
From:      =?UTF-8?Q?Fernando_Apestegu=c3=ada?= <fernape@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r489572 - in head/textproc/2bsd-diff: . files
Message-ID:  <201901071116.x07BGsnw052059@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: fernape
Date: Mon Jan  7 11:16:54 2019
New Revision: 489572
URL: https://svnweb.freebsd.org/changeset/ports/489572

Log:
  textproc/2bsd-diff: fix breakage on current
  
  On FreeBSD 13 - current, the build failed with:
  
  cc: error: unknown argument: '-i'
  
  PR:     234362
  Submitted by:   risner@stdio.com (maintainer)

Added:
  head/textproc/2bsd-diff/files/patch-diffh.c   (contents, props changed)
Modified:
  head/textproc/2bsd-diff/Makefile
  head/textproc/2bsd-diff/files/patch-Makefile
  head/textproc/2bsd-diff/files/patch-diff.c
  head/textproc/2bsd-diff/files/patch-diff.h
  head/textproc/2bsd-diff/files/patch-diffdir.c
  head/textproc/2bsd-diff/files/patch-diffreg.c
  head/textproc/2bsd-diff/pkg-descr

Modified: head/textproc/2bsd-diff/Makefile
==============================================================================
--- head/textproc/2bsd-diff/Makefile	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/Makefile	Mon Jan  7 11:16:54 2019	(r489572)
@@ -3,10 +3,10 @@
 
 PORTNAME=	diff
 PORTVERSION=	2.11
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	textproc
 MASTER_SITES=	http://www.tribug.org/pub/tuhs/PDP-11/Distributions/ucb/2.11BSD/ \
-		http://www.stdio.com/2.11BSD/
+		http://www.d20hobbies.com/2.11BSD/
 PKGNAMEPREFIX=	2bsd-
 DISTNAME=	file8
 

Modified: head/textproc/2bsd-diff/files/patch-Makefile
==============================================================================
--- head/textproc/2bsd-diff/files/patch-Makefile	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/files/patch-Makefile	Mon Jan  7 11:16:54 2019	(r489572)
@@ -1,20 +1,26 @@
---- ./Makefile.orig	1996-10-22 04:29:46.000000000 +0000
-+++ ./Makefile	2014-02-17 13:43:18.000000000 +0000
-@@ -1,9 +1,9 @@
+--- Makefile.orig	1996-10-22 04:29:46 UTC
++++ Makefile
+@@ -1,10 +1,14 @@
  #	@(#)Makefile	4.1.1	1996/10/21
  #
 -DIFF=	/bin/diff
 -DIFFH=	/usr/libexec/diffh
 -PR=	/bin/pr
 -CFLAGS=	-O -DDIFF='"${DIFF}"' -DDIFFH='"${DIFFH}"' -DPR='"${PR}"'
+-SEPFLAG=-i
 +DIFF=	${PREFIX}/bin/2diff
 +DIFFH=	${PREFIX}/libexec/2diffh
 +PR=	/usr/bin/pr
 +CFLAGS+=-DDIFF='"${DIFF}"' -DDIFFH='"${DIFFH}"' -DPR='"${PR}"'
- SEPFLAG=-i
++# SEPFLAG should be:
++#	not on a PDP-11:		SEPFLAG =
++#	PDP-11 with separate I&D:	SEPFLAG = -i
++#	PDP-11 without separate I&D:	SEPFLAG = -n
++SEPFLAG=
  DESTDIR=
  
-@@ -14,14 +14,15 @@
+ SRCS=	diff.c diffdir.c diffreg.c
+@@ -14,14 +18,15 @@ OBJS=	diff.o diffdir.o diffreg.o
  all: diff diffh
  
  diff: ${OBJS}

Modified: head/textproc/2bsd-diff/files/patch-diff.c
==============================================================================
--- head/textproc/2bsd-diff/files/patch-diff.c	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/files/patch-diff.c	Mon Jan  7 11:16:54 2019	(r489572)
@@ -1,6 +1,31 @@
---- diff.c.orig	Wed Nov 13 05:31:26 1991
-+++ diff.c	Wed Mar 19 01:31:23 2003
-@@ -176,9 +176,10 @@
+--- diff.c.orig	1991-11-12 20:31:26 UTC
++++ diff.c
+@@ -11,7 +11,7 @@ char	diff[] = DIFF;
+ char	diffh[] = DIFFH;
+ char	pr[] = PR;
+ 
+-main(argc, argv)
++int main(argc, argv)
+ 	int argc;
+ 	char **argv;
+ {
+@@ -162,23 +162,24 @@ savestr(cp)
+ 	return (dp);
+ }
+ 
+-min(a,b)
++int min(a,b)
+ 	int a,b;
+ {
+ 
+ 	return (a < b ? a : b);
+ }
+ 
+-max(a,b)
++int max(a,b)
+ 	int a,b;
+ {
+ 
  	return (a > b ? a : b);
  }
  
@@ -12,7 +37,15 @@
  		unlink(tempfile);
  	exit(status);
  }
-@@ -198,7 +199,6 @@
+@@ -191,6 +192,7 @@ talloc(n)
+ 	if ((p = malloc((unsigned)n)) != NULL)
+ 		return(p);
+ 	noroom();
++	return NULL;
+ }
+ 
+ char *
+@@ -198,14 +200,13 @@ ralloc(p,n)
  char *p;
  {
  	register char *q;
@@ -20,3 +53,11 @@
  
  	if ((q = realloc(p, (unsigned)n)) == NULL)
  		noroom();
+ 	return(q);
+ }
+ 
+-noroom()
++void noroom()
+ {
+ 	fprintf(stderr, "diff: files too big, try -h\n");
+ 	done();

Modified: head/textproc/2bsd-diff/files/patch-diff.h
==============================================================================
--- head/textproc/2bsd-diff/files/patch-diff.h	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/files/patch-diff.h	Mon Jan  7 11:16:54 2019	(r489572)
@@ -1,6 +1,6 @@
---- diff.h.orig	Thu Aug 29 06:44:35 1985
-+++ diff.h	Wed Mar 19 01:35:49 2003
-@@ -5,10 +5,11 @@
+--- diff.h.orig	1985-08-28 21:44:35 UTC
++++ diff.h
+@@ -5,11 +5,17 @@
   */
  
  #include <stdio.h>
@@ -11,9 +11,15 @@
 -#include <sys/dir.h>
 +#include <dirent.h>
  #include <signal.h>
++#include <string.h>
++#include <unistd.h>
++#include <fcntl.h>
++#include <sys/wait.h>
++#include <arpa/inet.h>
  
  /*
-@@ -61,7 +62,7 @@
+  * Output format options
+@@ -61,7 +67,7 @@ int	context;		/* lines of context to be printed */
   */
  int	status;
  int	anychange;
@@ -22,7 +28,7 @@
  
  /*
   * Variables for diffdir.
-@@ -77,9 +78,9 @@
+@@ -77,9 +83,20 @@ char	**diffargv;		/* option list to pass to recursive 
  char	*file1, *file2, *efile1, *efile2;
  struct	stat stb1, stb2;
  
@@ -35,3 +41,14 @@
 +sig_t	done();
  
  extern	char diffh[], diff[], pr[];
++
++/* declarations */
++void diffdir(char **argv);
++void diffreg();
++void noroom();
++void setfile(char **fpp, char **epp, char *file);
++int useless(register char *cp);
++int min(int, int);
++int max(int, int);
++void prune();
++int skipline(int);

Modified: head/textproc/2bsd-diff/files/patch-diffdir.c
==============================================================================
--- head/textproc/2bsd-diff/files/patch-diffdir.c	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/files/patch-diffdir.c	Mon Jan  7 11:16:54 2019	(r489572)
@@ -1,6 +1,61 @@
---- diffdir.c.orig	Wed Nov 13 05:31:29 1991
-+++ diffdir.c	Wed Mar 19 01:36:38 2003
-@@ -172,7 +172,7 @@
+--- diffdir.c.orig	1991-11-12 20:31:29 UTC
++++ diffdir.c
+@@ -24,7 +24,15 @@ struct	dir *setupdir();
+ int	header;
+ char	title[2*BUFSIZ], *etitle;
+ 
+-diffdir(argv)
++/* declarations */
++void only(struct dir *, int);
++void compare(register struct dir *);
++void scanpr(register struct dir *, int, char *, char *, char *, char *, char *);
++void calldiff(char *);
++int ascii(int);
++int entcmp(const void *, const void *);
++
++void diffdir(argv)
+ 	char **argv;
+ {
+ 	register struct dir *d1, *d2;
+@@ -112,7 +120,7 @@ diffdir(argv)
+ 	}
+ }
+ 
+-setfile(fpp, epp, file)
++void setfile(fpp, epp, file)
+ 	char **fpp, **epp;
+ 	char *file;
+ {
+@@ -130,7 +138,7 @@ setfile(fpp, epp, file)
+ 	*epp = cp;
+ }
+ 
+-scanpr(dp, test, title, file1, efile1, file2, efile2)
++void scanpr(dp, test, title, file1, efile1, file2, efile2)
+ 	register struct dir *dp;
+ 	int test;
+ 	char *title, *file1, *efile1, *file2, *efile2;
+@@ -155,24 +163,23 @@ scanpr(dp, test, title, file1, efile1, file2, efile2)
+ 	}
+ }
+ 
+-only(dp, which)
++void only(dp, which)
+ 	struct dir *dp;
+ 	int which;
+ {
+ 	char *file = which == 1 ? file1 : file2;
+ 	char *efile = which == 1 ? efile1 : efile2;
+ 
+-	printf("Only in %.*s: %s\n", efile - file - 1, file, dp->d_entry);
++	printf("Only in %.*s: %s\n", (int)(efile - file - 1),
++		file, dp->d_entry);
+ }
+ 
+-int	entcmp();
+-
+ struct dir *
+ setupdir(cp)
  	char *cp;
  {
  	register struct dir *dp = 0, *ep;
@@ -8,4 +63,58 @@
 +	register struct dirent *rp;
  	register int nitems, n;
  	DIR *dirp;
+ 
+@@ -196,7 +203,7 @@ setupdir(cp)
+ 		fprintf(stderr, "diff: ran out of memory\n");
+ 		done();
+ 	}
+-	while (rp = readdir(dirp)) {
++	while ((rp = readdir(dirp))) {
+ 		ep = &dp[nitems++];
+ 		ep->d_reclen = rp->d_reclen;
+ 		ep->d_namlen = rp->d_namlen;
+@@ -225,13 +232,13 @@ setupdir(cp)
+ 	return (dp);
+ }
+ 
+-entcmp(d1, d2)
+-	struct dir *d1, *d2;
++int entcmp(d1, d2)
++	const void *d1, *d2;
+ {
+-	return (strcmp(d1->d_entry, d2->d_entry));
++	return strcmp(((struct dir *)d1)->d_entry, ((struct dir *)d2)->d_entry);
+ }
+ 
+-compare(dp)
++void compare(dp)
+ 	register struct dir *dp;
+ {
+ 	register int i, j;
+@@ -323,7 +330,7 @@ closem:
+ 
+ char	*prargs[] = { "pr", "-h", 0, "-f", 0, 0 };
+ 
+-calldiff(wantpr)
++void calldiff(wantpr)
+ 	char *wantpr;
+ {
+ 	int pid, status, status2, pv[2];
+@@ -382,7 +389,7 @@ calldiff(wantpr)
+ 
+ #include <a.out.h>
+ 
+-ascii(f)
++int ascii(f)
+ 	int f;
+ {
+ 	char buf[BUFSIZ];
+@@ -407,7 +414,7 @@ ascii(f)
+ /*
+  * THIS IS CRUDE.
+  */
+-useless(cp)
++int useless(cp)
+ register char *cp;
+ {
  

Added: head/textproc/2bsd-diff/files/patch-diffh.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/2bsd-diff/files/patch-diffh.c	Mon Jan  7 11:16:54 2019	(r489572)
@@ -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");

Modified: head/textproc/2bsd-diff/files/patch-diffreg.c
==============================================================================
--- head/textproc/2bsd-diff/files/patch-diffreg.c	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/files/patch-diffreg.c	Mon Jan  7 11:16:54 2019	(r489572)
@@ -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;

Modified: head/textproc/2bsd-diff/pkg-descr
==============================================================================
--- head/textproc/2bsd-diff/pkg-descr	Mon Jan  7 10:36:38 2019	(r489571)
+++ head/textproc/2bsd-diff/pkg-descr	Mon Jan  7 11:16:54 2019	(r489572)
@@ -1,7 +1,5 @@
-This is the original diff program from 2.11BSD.  It works better
-with very large files on systems with datasize limits.
+2.11BSD's original diff works significantly better with very large
+files with default datasize limits.
 
-Default FreeBSD limits datasize to 524288 kbytes.  This means that
-GNU diff processes that require more than this much ram will fail.
-The 2.11BSD diff did not load the files in core and could operate
-on considerably less ram.
+GNU diff fails with out of memmory when operating on files at or
+above the default limit to datasize.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901071116.x07BGsnw052059>