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

jhagewood at FreeBSD.org jhagewood at FreeBSD.org
Wed Jun 20 21:52:09 UTC 2012


Author: jhagewood
Date: Wed Jun 20 21:52:05 2012
New Revision: 238024
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238024

Log:

Modified:
  soc2012/jhagewood/diff/diff/diff.c
  soc2012/jhagewood/diff/diff/diffdir.c
  soc2012/jhagewood/diff/hagewood-diff.patch

Modified: soc2012/jhagewood/diff/diff/diff.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diff.c	Wed Jun 20 20:01:51 2012	(r238023)
+++ soc2012/jhagewood/diff/diff/diff.c	Wed Jun 20 21:52:05 2012	(r238024)
@@ -81,57 +81,57 @@
 
 
 static struct option longopts[] = {
+	
+	/*
+	 * Commented-out options are unimplemented.
+	 */
 
-	{ "normal",			no_argument,		NULL,	OPT_NORMAL },
-	{ "line-format",		required_argument,	NULL,	OPT_LF },
-	{ "suppress-common-lines",	no_argument,		NULL,	OPT_SUPCL },
-/* XXX: UNIMPLEMENTED
- 	{ "left-column",		no_argument,		NULL,	OPT_LEFTC },
-	{ "GTYPE-group-format",		required_argument,	NULL,	OPT_GTYPE },
-	{ "LTYPE-line-format",		required_argument,	NULL,	OPT_LLF },
-	{ "from-file",			required_argument,	NULL,	OPT_FFILE },
-	{ "to-file",			required_argument,	NULL,	OPT_TOFILE },
-	{ "horizon-lines",		required_argument,	NULL,	OPT_HLINES },
-	{ "speed-large-files",		no_argument,		NULL,	OPT_LFILES }, */
-	{ "tabsize",			optional_argument,	NULL,	OPT_TSIZE },
-	{ "strip-trailing-cr",		no_argument,		NULL,	OPT_STRIPCR },
-	{ "help",			no_argument,		NULL,	OPT_HELP }, 
-	{ "ignore-file-name-case",	no_argument,		NULL,	OPT_IGN_FN_CASE },
-	{ "no-ignore-file-name-case",	no_argument,		NULL,	OPT_NIGN_FN_CASE },
-	{ "text",			no_argument,		NULL,	'a' },
-/* XXX: UNIMPLEMENTED */
-	{ "ignore-blank-lines",		no_argument,		NULL,	'B' }, 
-	{ "ignore-space-change",	no_argument,		NULL,	'b' },
+	{ "brief",			no_argument,		NULL,	'q' },
 	{ "context",			optional_argument,	NULL,	'C' },
-	{ "ifdef",			required_argument,	NULL,	'D' },
-	{ "minimal",			no_argument,		NULL,	'd' },
-	{ "ignore-tab-expansion",	no_argument,		NULL,	'E' }, 
 	{ "ed",				no_argument,		NULL,	'e' },
-/* XXX: UNIMPLEMENTED
-	{ "show-function-line",		required_argument,	NULL,	'F' }, */
+	{ "exclude",			required_argument,	NULL,	'x' },
+	{ "exclude-from",		required_argument,	NULL,	'X' },
+	{ "expand-tabs",		no_argument,		NULL,	't' },
+	/*{ "from-file",			required_argument,	NULL,	OPT_FFILE },*/
 	{ "forward-ed",			no_argument,		NULL,	'f' },
+	/*{ "GTYPE-group-format",		required_argument,	NULL,	OPT_GTYPE },*/
+	{ "help",			no_argument,		NULL,	OPT_HELP },
+	/*{ "horizon-lines",		required_argument,	NULL,	OPT_HLINES },*/
+	{ "ifdef",			required_argument,	NULL,	'D' },
+	{ "ignore-all-space",		no_argument,		NULL,	'w' },
+	{ "ignore-blank-lines",		no_argument,		NULL,	'B' },
+ 	{ "ignore-case",		no_argument,		NULL,	'i' },
+	{ "ignore-file-name-case",	no_argument,		NULL,	OPT_IGN_FN_CASE },
 	{ "ignore-matching-lines",	required_argument,	NULL,	'I' },
-	{ "ignore-case",		no_argument,		NULL,	'i' },
+	{ "ignore-space-change",	no_argument,		NULL,	'b' },
+	{ "ignore-tab-expansion",	no_argument,		NULL,	'E' },
+	{ "initial-tab",		no_argument,		NULL,	'T' },
 	{ "label",			required_argument,	NULL,	'L' },
-	{ "paginate",			no_argument,		NULL,	'l' },
+	/*{ "left-column",		no_argument,		NULL,	OPT_LEFTC },*/
+	{ "line-format",		required_argument,	NULL,	OPT_LF },
+	/*{ "LTYPE-line-format",		required_argument,	NULL,	OPT_LLF },*/
+	{ "minimal",			no_argument,		NULL,	'd' },
 	{ "new-file",			no_argument,		NULL,	'N' },
-	{ "rcs",			no_argument,		NULL,	'n' },
-	{ "unidirectional-new-file",	no_argument,		NULL,	'P' },
-	{ "show-c-function",		no_argument,		NULL,	'p' },
-	{ "brief",			no_argument,		NULL,	'q' },
+	{ "no-ignore-file-name-case",	no_argument,		NULL,	OPT_NIGN_FN_CASE },
+	{ "normal",			no_argument,		NULL,	OPT_NORMAL },
+	{ "paginate",			no_argument,		NULL,	'l' },
 	{ "recursive",			no_argument,		NULL,	'r' },
-	{ "starting-file",		required_argument,	NULL,	'S' },
 	{ "report-identical-files",	no_argument,		NULL,	's' },
-	{ "initial-tab",		no_argument,		NULL,	'T' },
-	{ "expand-tabs",		no_argument,		NULL,	't' },
+	{ "rcs",			no_argument,		NULL,	'n' },
+	{ "show-c-function",		no_argument,		NULL,	'p' },
+	{ "show-function-line",		required_argument,	NULL,	'F' },
+	{ "side-by-side",		no_argument,		NULL,	'y' },
+	/*{ "speed-large-files",		no_argument,		NULL,	OPT_LFILES }, */
+	{ "starting-file",		required_argument,	NULL,	'S' },	
+	{ "strip-trailing-cr",		no_argument,		NULL,	OPT_STRIPCR },
+	{ "suppress-common-lines",	no_argument,		NULL,	OPT_SUPCL },
+	{ "tabsize",			optional_argument,	NULL,	OPT_TSIZE },
+	{ "text",			no_argument,		NULL,	'a' },
+	/*{ "to-file",			required_argument,	NULL,	OPT_TOFILE },*/
+	{ "unidirectional-new-file",	no_argument,		NULL,	'P' },
 	{ "unified",			optional_argument,	NULL,	'U' },
 	{ "version",			no_argument,		NULL,	'v' },
-/* XXX: UNIMPLEMENTED
-	{ "width",			optional_argument,	NULL,	'W' }, */
-	{ "ignore-all-space",		no_argument,		NULL,	'w' },
-	{ "exclude-from",		required_argument,	NULL,	'X' },
-	{ "exclude",			required_argument,	NULL,	'x' },
-	{ "side-by-side",		no_argument,		NULL,	'y' }, 
+	/*{ "width",			optional_argument,	NULL,	'W' }, */
 	{ NULL,				0,			NULL,	'\0'}
 };
 

Modified: soc2012/jhagewood/diff/diff/diffdir.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diffdir.c	Wed Jun 20 20:01:51 2012	(r238023)
+++ soc2012/jhagewood/diff/diff/diffdir.c	Wed Jun 20 21:52:05 2012	(r238024)
@@ -168,17 +168,16 @@
 static struct dirent **
 slurpdir(char *path, char **bufp, int enoentok)
 {
-	char		*buf, *ebuf, *cp;
-	size_t		 bufsize, have, need;
-	long		 base;
-	int		 fd, nbytes, entries;
-	struct stat	 sb;
-	struct dirent	**dirlist, *dp;
+	char *buf, *ebuf, *cp;
+	size_t bufsize, have, need;
+	long base;
+	int	fd, nbytes, entries;
+	struct stat	sb;
+	struct dirent **dirlist, *dp;
 
 	*bufp = NULL;
 	if ((fd = open(path, O_RDONLY, 0644)) == -1) {
 		static struct dirent *dummy;
-
 		if (!enoentok || errno != ENOENT) {
 			warn("%s", path);
 			return (NULL);
@@ -190,19 +189,17 @@
 		close(fd);
 		return (NULL);
 	}
-
 	need = roundup(sb.st_blksize, sizeof(struct dirent));
 	have = bufsize = roundup(MAX(sb.st_size, sb.st_blksize),
 	    sizeof(struct dirent)) + need;
 	ebuf = buf = emalloc(bufsize);
-
 	do {
 		if (have < need) {
-		    bufsize += need;
-		    have += need;
-		    cp = erealloc(buf, bufsize);
-		    ebuf = cp + (ebuf - buf);
-		    buf = cp;
+			bufsize += need;
+			have += need;
+			cp = erealloc(buf, bufsize);
+			ebuf = cp + (ebuf - buf);
+			buf = cp;
 		}
 		nbytes = getdirentries(fd, ebuf, have, &base);
 		if (nbytes == -1) {

Modified: soc2012/jhagewood/diff/hagewood-diff.patch
==============================================================================
--- soc2012/jhagewood/diff/hagewood-diff.patch	Wed Jun 20 20:01:51 2012	(r238023)
+++ soc2012/jhagewood/diff/hagewood-diff.patch	Wed Jun 20 21:52:05 2012	(r238024)
@@ -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-18 03:07:38.000000000 -0400
-+++ jhagewood/diff/diff/diff.c	2012-06-19 06:04:34.000000000 -0400
++++ jhagewood/diff/diff/diff.c	2012-06-20 21:51:36.000000000 -0400
 @@ -18,15 +18,13 @@
   * Materiel Command, USAF, under agreement number F39502-99-1-0512.
   */
@@ -57,48 +57,108 @@
    OPT_FFILE,
    OPT_TOFILE,
    OPT_HLINES,
-@@ -84,14 +81,14 @@ enum 
+@@ -84,60 +81,57 @@ enum 
  
  
  static struct option longopts[] = {
 -/* XXX: UNIMPLEMENTED
-+
- 	{ "normal",			no_argument,		NULL,	OPT_NORMAL },
+-	{ "normal",			no_argument,		NULL,	OPT_NORMAL },
 -	{ "left-column",		no_argument,		NULL,	OPT_LEFTC },
 -	{ "suppress-common-lines",	no_argument,		NULL,	OT_SUPCL },
 -	{ "GTYPE-group-format",		required_argument,	NULL,	OPT_GTYPE },
- 	{ "line-format",		required_argument,	NULL,	OPT_LF },
-+	{ "suppress-common-lines",	no_argument,		NULL,	OPT_SUPCL },
-+/* XXX: UNIMPLEMENTED
-+ 	{ "left-column",		no_argument,		NULL,	OPT_LEFTC },
-+	{ "GTYPE-group-format",		required_argument,	NULL,	OPT_GTYPE },
- 	{ "LTYPE-line-format",		required_argument,	NULL,	OPT_LLF },
+-	{ "line-format",		required_argument,	NULL,	OPT_LF },
+-	{ "LTYPE-line-format",		required_argument,	NULL,	OPT_LLF },
 -	{ "unidirectional-new-file",	no_argument,		NULL,	OPT_UNINF },
- 	{ "from-file",			required_argument,	NULL,	OPT_FFILE },
- 	{ "to-file",			required_argument,	NULL,	OPT_TOFILE },
- 	{ "horizon-lines",		required_argument,	NULL,	OPT_HLINES },
-@@ -105,12 +102,10 @@ static struct option longopts[] = {
- /* XXX: UNIMPLEMENTED */
- 	{ "ignore-blank-lines",		no_argument,		NULL,	'B' }, 
- 	{ "ignore-space-change",	no_argument,		NULL,	'b' },
+-	{ "from-file",			required_argument,	NULL,	OPT_FFILE },
+-	{ "to-file",			required_argument,	NULL,	OPT_TOFILE },
+-	{ "horizon-lines",		required_argument,	NULL,	OPT_HLINES },
+-	{ "speed-large-files",		no_argument,		NULL,	OPT_LFILES }, */
+-	{ "tabsize",			optional_argument,	NULL,	OPT_TSIZE },
+-	{ "strip-trailing-cr",		no_argument,		NULL,	OPT_STRIPCR },
+-	{ "help",			no_argument,		NULL,	OPT_HELP }, 
+-	{ "ignore-file-name-case",	no_argument,		NULL,	OPT_IGN_FN_CASE },
+-	{ "no-ignore-file-name-case",	no_argument,		NULL,	OPT_NIGN_FN_CASE },
+-	{ "text",			no_argument,		NULL,	'a' },
+-/* XXX: UNIMPLEMENTED */
+-	{ "ignore-blank-lines",		no_argument,		NULL,	'B' }, 
+-	{ "ignore-space-change",	no_argument,		NULL,	'b' },
 -/* XXX: -c is incompatible with GNU version */
++	
++	/*
++	 * Commented-out options are unimplemented.
++	 */
++
++	{ "brief",			no_argument,		NULL,	'q' },
  	{ "context",			optional_argument,	NULL,	'C' },
- 	{ "ifdef",			required_argument,	NULL,	'D' },
- 	{ "minimal",			no_argument,		NULL,	'd' },
+-	{ "ifdef",			required_argument,	NULL,	'D' },
+-	{ "minimal",			no_argument,		NULL,	'd' },
 -/* XXX: UNIMPLEMENTED
 -	{ "ignore-tab-expansion",	no_argument,		NULL,	'E' }, */
-+	{ "ignore-tab-expansion",	no_argument,		NULL,	'E' }, 
  	{ "ed",				no_argument,		NULL,	'e' },
- /* XXX: UNIMPLEMENTED
- 	{ "show-function-line",		required_argument,	NULL,	'F' }, */
-@@ -129,7 +124,6 @@ static struct option longopts[] = {
+-/* XXX: UNIMPLEMENTED
+-	{ "show-function-line",		required_argument,	NULL,	'F' }, */
++	{ "exclude",			required_argument,	NULL,	'x' },
++	{ "exclude-from",		required_argument,	NULL,	'X' },
++	{ "expand-tabs",		no_argument,		NULL,	't' },
++	/*{ "from-file",			required_argument,	NULL,	OPT_FFILE },*/
+ 	{ "forward-ed",			no_argument,		NULL,	'f' },
++	/*{ "GTYPE-group-format",		required_argument,	NULL,	OPT_GTYPE },*/
++	{ "help",			no_argument,		NULL,	OPT_HELP },
++	/*{ "horizon-lines",		required_argument,	NULL,	OPT_HLINES },*/
++	{ "ifdef",			required_argument,	NULL,	'D' },
++	{ "ignore-all-space",		no_argument,		NULL,	'w' },
++	{ "ignore-blank-lines",		no_argument,		NULL,	'B' },
++ 	{ "ignore-case",		no_argument,		NULL,	'i' },
++	{ "ignore-file-name-case",	no_argument,		NULL,	OPT_IGN_FN_CASE },
+ 	{ "ignore-matching-lines",	required_argument,	NULL,	'I' },
+-	{ "ignore-case",		no_argument,		NULL,	'i' },
++	{ "ignore-space-change",	no_argument,		NULL,	'b' },
++	{ "ignore-tab-expansion",	no_argument,		NULL,	'E' },
++	{ "initial-tab",		no_argument,		NULL,	'T' },
+ 	{ "label",			required_argument,	NULL,	'L' },
+-	{ "paginate",			no_argument,		NULL,	'l' },
++	/*{ "left-column",		no_argument,		NULL,	OPT_LEFTC },*/
++	{ "line-format",		required_argument,	NULL,	OPT_LF },
++	/*{ "LTYPE-line-format",		required_argument,	NULL,	OPT_LLF },*/
++	{ "minimal",			no_argument,		NULL,	'd' },
+ 	{ "new-file",			no_argument,		NULL,	'N' },
+-	{ "rcs",			no_argument,		NULL,	'n' },
+-	{ "unidirectional-new-file",	no_argument,		NULL,	'P' },
+-	{ "show-c-function",		no_argument,		NULL,	'p' },
+-	{ "brief",			no_argument,		NULL,	'q' },
++	{ "no-ignore-file-name-case",	no_argument,		NULL,	OPT_NIGN_FN_CASE },
++	{ "normal",			no_argument,		NULL,	OPT_NORMAL },
++	{ "paginate",			no_argument,		NULL,	'l' },
+ 	{ "recursive",			no_argument,		NULL,	'r' },
+-	{ "starting-file",		required_argument,	NULL,	'S' },
  	{ "report-identical-files",	no_argument,		NULL,	's' },
- 	{ "initial-tab",		no_argument,		NULL,	'T' },
- 	{ "expand-tabs",		no_argument,		NULL,	't' },
+-	{ "initial-tab",		no_argument,		NULL,	'T' },
+-	{ "expand-tabs",		no_argument,		NULL,	't' },
 -/* XXX: -u is incompatible with GNU version */
++	{ "rcs",			no_argument,		NULL,	'n' },
++	{ "show-c-function",		no_argument,		NULL,	'p' },
++	{ "show-function-line",		required_argument,	NULL,	'F' },
++	{ "side-by-side",		no_argument,		NULL,	'y' },
++	/*{ "speed-large-files",		no_argument,		NULL,	OPT_LFILES }, */
++	{ "starting-file",		required_argument,	NULL,	'S' },	
++	{ "strip-trailing-cr",		no_argument,		NULL,	OPT_STRIPCR },
++	{ "suppress-common-lines",	no_argument,		NULL,	OPT_SUPCL },
++	{ "tabsize",			optional_argument,	NULL,	OPT_TSIZE },
++	{ "text",			no_argument,		NULL,	'a' },
++	/*{ "to-file",			required_argument,	NULL,	OPT_TOFILE },*/
++	{ "unidirectional-new-file",	no_argument,		NULL,	'P' },
  	{ "unified",			optional_argument,	NULL,	'U' },
  	{ "version",			no_argument,		NULL,	'v' },
- /* XXX: UNIMPLEMENTED
+-/* XXX: UNIMPLEMENTED
+-	{ "width",			optional_argument,	NULL,	'W' }, */
+-	{ "ignore-all-space",		no_argument,		NULL,	'w' },
+-	{ "exclude-from",		required_argument,	NULL,	'X' },
+-	{ "exclude",			required_argument,	NULL,	'x' },
+-	{ "side-by-side",		no_argument,		NULL,	'y' }, 
++	/*{ "width",			optional_argument,	NULL,	'W' }, */
+ 	{ NULL,				0,			NULL,	'\0'}
+ };
+ 
 @@ -162,10 +156,10 @@ void read_excludes_file(char *);
  int
  main(int argc, char **argv)
@@ -307,7 +367,7 @@
  extern int	 format, context, status;
 diff -rupN jhagewood/diff/diff-orig/diffdir.c jhagewood/diff/diff/diffdir.c
 --- jhagewood/diff/diff-orig/diffdir.c	2012-06-18 03:07:38.000000000 -0400
-+++ jhagewood/diff/diff/diffdir.c	2012-06-20 05:19:37.000000000 -0400
++++ jhagewood/diff/diff/diffdir.c	2012-06-20 05:43:28.000000000 -0400
 @@ -20,14 +20,13 @@
  
  #include <sys/cdefs.h>
@@ -346,7 +406,56 @@
  
  	dirlen1 = strlcpy(path1, *p1 ? p1 : ".", sizeof(path1));
  	if (dirlen1 >= sizeof(path1) - 1) {
-@@ -255,8 +254,8 @@ slurpdir(char *path, char **bufp, int en
+@@ -169,17 +168,16 @@ diffdir(char *p1, char *p2)
+ static struct dirent **
+ slurpdir(char *path, char **bufp, int enoentok)
+ {
+-	char		*buf, *ebuf, *cp;
+-	size_t		 bufsize, have, need;
+-	long		 base;
+-	int		 fd, nbytes, entries;
+-	struct stat	 sb;
+-	struct dirent	**dirlist, *dp;
++	char *buf, *ebuf, *cp;
++	size_t bufsize, have, need;
++	long base;
++	int	fd, nbytes, entries;
++	struct stat	sb;
++	struct dirent **dirlist, *dp;
+ 
+ 	*bufp = NULL;
+ 	if ((fd = open(path, O_RDONLY, 0644)) == -1) {
+ 		static struct dirent *dummy;
+-
+ 		if (!enoentok || errno != ENOENT) {
+ 			warn("%s", path);
+ 			return (NULL);
+@@ -191,19 +189,17 @@ slurpdir(char *path, char **bufp, int en
+ 		close(fd);
+ 		return (NULL);
+ 	}
+-
+ 	need = roundup(sb.st_blksize, sizeof(struct dirent));
+ 	have = bufsize = roundup(MAX(sb.st_size, sb.st_blksize),
+ 	    sizeof(struct dirent)) + need;
+ 	ebuf = buf = emalloc(bufsize);
+-
+ 	do {
+ 		if (have < need) {
+-		    bufsize += need;
+-		    have += need;
+-		    cp = erealloc(buf, bufsize);
+-		    ebuf = cp + (ebuf - buf);
+-		    buf = cp;
++			bufsize += need;
++			have += need;
++			cp = erealloc(buf, bufsize);
++			ebuf = cp + (ebuf - buf);
++			buf = cp;
+ 		}
+ 		nbytes = getdirentries(fd, ebuf, have, &base);
+ 		if (nbytes == -1) {
+@@ -255,8 +251,8 @@ slurpdir(char *path, char **bufp, int en
  static int
  dircompare(const void *vp1, const void *vp2)
  {
@@ -357,7 +466,7 @@
  
  	return (strcmp(dp1->d_name, dp2->d_name));
  }
-@@ -267,7 +266,7 @@ dircompare(const void *vp1, const void *
+@@ -267,7 +263,7 @@ dircompare(const void *vp1, const void *
  static void
  diffit(struct dirent *dp, char *path1, size_t plen1, char *path2, size_t plen2)
  {


More information about the svn-soc-all mailing list