socsvn commit: r238486 - in soc2012/jhagewood/diff: . diff

jhagewood at FreeBSD.org jhagewood at FreeBSD.org
Thu Jun 28 17:03:35 UTC 2012


Author: jhagewood
Date: Thu Jun 28 17:03:32 2012
New Revision: 238486
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238486

Log:

Modified:
  soc2012/jhagewood/diff/diff/diff.c
  soc2012/jhagewood/diff/diff/diff.h
  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 28 16:54:10 2012	(r238485)
+++ soc2012/jhagewood/diff/diff/diff.c	Thu Jun 28 17:03:32 2012	(r238486)
@@ -49,7 +49,7 @@
 int strip_cr, suppress_cl, tabsize = 8;
 char ignore_file_case = 0;
 int	format, context, status;
-char *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
+char *start, *ifdefname, *diffargs, *label[2], *ignore_pats, *line_format, *group_format;
 struct stat stb1, stb2;
 struct excludes *excludes_list;
 regex_t	 ignore_re;
@@ -323,16 +323,16 @@
 		case OPT_OLD_GF:
 		case OPT_UNCHGD_GF:
 			/* XXX To do: Coplete --GTYPE-group-format. */
-			format = D_IFDEF;
-			ifdefname = optarg;
+			format = D_GF;
+			group_format = optarg;
 			break;
 		case OPT_NEW_LF:
 		case OPT_OLD_LF:
 		case OPT_UNCHGD_LF:
 		case OPT_LF:
 			/* XXX To do: Complete --line-format. */
-			format = D_IFDEF;
-			ifdefname = optarg;
+			format = D_LF;
+			line_format = optarg;
 			break;
 		case OPT_NORMAL:
 			format = D_NORMAL;

Modified: soc2012/jhagewood/diff/diff/diff.h
==============================================================================
--- soc2012/jhagewood/diff/diff/diff.h	Thu Jun 28 16:54:10 2012	(r238485)
+++ soc2012/jhagewood/diff/diff/diff.h	Thu Jun 28 17:03:32 2012	(r238486)
@@ -48,6 +48,8 @@
 #define	D_NREVERSE	5	/* Reverse ed script with numbered
 				   lines and no trailing . */
 #define	D_BRIEF		6	/* Say if the files differ */
+#define D_GF		7	/* Group format */
+#define	D_LF		8	/* Line format */
 
 /*
  * Output flags

Modified: soc2012/jhagewood/diff/diff/diffreg.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diffreg.c	Thu Jun 28 16:54:10 2012	(r238485)
+++ soc2012/jhagewood/diff/diff/diffreg.c	Thu Jun 28 17:03:32 2012	(r238486)
@@ -1046,7 +1046,7 @@
 		err(1, "preadline");
 	if (nr > 0 && line[nr-1] == '\n')
 		nr--;
-	line[nr] = '\0';
+	line[nr] = '\3';
 	return (line);
 }
 
@@ -1356,9 +1356,9 @@
 	if (aflag || f == NULL)
 		return (1);
 	rewind(f);
-	for (i = 0; i <= strlen(buf) || i <= 32; i++) 
-		if (memchr(buf, '\0', strlen(buf)) != NULL)
-			return (0);
+	fread(buf, 1, BUFSIZ, f);
+	if (memchr(buf, '\0', BUFSIZ) != NULL)
+		return (0);
 	return (1);
 }
 

Modified: soc2012/jhagewood/diff/hagewood-diff.patch
==============================================================================
--- soc2012/jhagewood/diff/hagewood-diff.patch	Thu Jun 28 16:54:10 2012	(r238485)
+++ soc2012/jhagewood/diff/hagewood-diff.patch	Thu Jun 28 17:03:32 2012	(r238486)
@@ -1,6 +1,6 @@
 diff -rupN jhagewood/diff/diff-orig/diff.c jhagewood/diff/diff/diff.c
 --- jhagewood/diff/diff-orig/diff.c	2012-06-28 02:16:56.000000000 -0400
-+++ jhagewood/diff/diff/diff.c	2012-06-28 02:52:20.000000000 -0400
++++ jhagewood/diff/diff/diff.c	2012-06-28 14:21:49.000000000 -0400
 @@ -1,4 +1,4 @@
 -/*-
 +/*
@@ -44,7 +44,7 @@
 +int strip_cr, suppress_cl, tabsize = 8;
 +char ignore_file_case = 0;
 +int	format, context, status;
-+char *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
++char *start, *ifdefname, *diffargs, *label[2], *ignore_pats, *line_format, *group_format;
  struct stat stb1, stb2;
  struct excludes *excludes_list;
  regex_t	 ignore_re;
@@ -243,16 +243,16 @@
 +		case OPT_OLD_GF:
 +		case OPT_UNCHGD_GF:
 +			/* XXX To do: Coplete --GTYPE-group-format. */
-+			format = D_IFDEF;
-+			ifdefname = optarg;
++			format = D_GF;
++			group_format = optarg;
 +			break;
 +		case OPT_NEW_LF:
 +		case OPT_OLD_LF:
 +		case OPT_UNCHGD_LF:
 +		case OPT_LF:
 +			/* XXX To do: Complete --line-format. */
-+			format = D_IFDEF;
-+			ifdefname = optarg;
++			format = D_LF;
++			line_format = optarg;
 +			break;
 +		case OPT_NORMAL:
 +			format = D_NORMAL;
@@ -488,8 +488,17 @@
  	    "            [-L label] file1 file2\n"
 diff -rupN jhagewood/diff/diff-orig/diff.h jhagewood/diff/diff/diff.h
 --- jhagewood/diff/diff-orig/diff.h	2012-06-28 02:16:56.000000000 -0400
-+++ jhagewood/diff/diff/diff.h	2012-06-28 02:16:56.000000000 -0400
-@@ -75,9 +75,9 @@ struct excludes {
++++ jhagewood/diff/diff/diff.h	2012-06-28 14:03:06.000000000 -0400
+@@ -48,6 +48,8 @@
+ #define	D_NREVERSE	5	/* Reverse ed script with numbered
+ 				   lines and no trailing . */
+ #define	D_BRIEF		6	/* Say if the files differ */
++#define D_GF		7	/* Group format */
++#define	D_LF		8	/* Line format */
+ 
+ /*
+  * Output flags
+@@ -75,9 +77,9 @@ struct excludes {
  	struct excludes	*next;
  };
  
@@ -614,7 +623,7 @@
  	if (stat(path1, &stb1) != 0) {
 diff -rupN jhagewood/diff/diff-orig/diffreg.c jhagewood/diff/diff/diffreg.c
 --- jhagewood/diff/diff-orig/diffreg.c	2012-06-28 02:16:56.000000000 -0400
-+++ jhagewood/diff/diff/diffreg.c	2012-06-28 02:16:56.000000000 -0400
++++ jhagewood/diff/diff/diffreg.c	2012-06-28 17:03:06.000000000 -0400
 @@ -62,15 +62,13 @@
   *	@(#)diffreg.c   8.1 (Berkeley) 6/6/93
   */
@@ -966,7 +975,7 @@
  	if (a < b)
  		printf("%d,%d", a, b - a + 1);
  	else if (a == b)
-@@ -999,8 +1038,8 @@ uni_range(int a, int b)
+@@ -999,22 +1038,22 @@ uni_range(int a, int b)
  static char *
  preadline(int fd, size_t len, off_t off)
  {
@@ -977,7 +986,14 @@
  
  	line = emalloc(len + 1);
  	if ((nr = pread(fd, line, len, off)) < 0)
-@@ -1014,7 +1053,7 @@ preadline(int fd, size_t len, off_t off)
+ 		err(1, "preadline");
+ 	if (nr > 0 && line[nr-1] == '\n')
+ 		nr--;
+-	line[nr] = '\0';
++	line[nr] = '\3';
+ 	return (line);
+ }
+ 
  static int
  ignoreline(char *line)
  {
@@ -1119,7 +1135,7 @@
  
  	sum = 1;
  	space = 0;
-@@ -1305,19 +1344,20 @@ readhash(FILE *f)
+@@ -1305,20 +1344,21 @@ readhash(FILE *f)
  	return (sum == 0 ? 1 : sum);
  }
  
@@ -1142,11 +1158,13 @@
 -	cnt = fread(buf, 1, sizeof(buf), f);
 -	for (i = 0; i < cnt; i++)
 -		if (!isprint(buf[i]) && !isspace(buf[i]))
-+	for (i = 0; i <= strlen(buf) || i <= 32; i++) 
-+		if (memchr(buf, '\0', strlen(buf)) != NULL)
- 			return (0);
+-			return (0);
++	fread(buf, 1, BUFSIZ, f);
++	if (memchr(buf, '\0', BUFSIZ) != NULL)
++		return (0);
  	return (1);
  }
+ 
 @@ -1327,10 +1367,10 @@ asciifile(FILE *f)
  static char *
  match_function(const long *f, int pos, FILE *file)


More information about the svn-soc-all mailing list