socsvn commit: r238986 - in soc2012/jhagewood: diff diff/diff sdiff
sdiff/sdiff
jhagewood at FreeBSD.org
jhagewood at FreeBSD.org
Thu Jul 5 04:20:33 UTC 2012
Author: jhagewood
Date: Thu Jul 5 04:20:30 2012
New Revision: 238986
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=238986
Log:
Modified:
soc2012/jhagewood/diff/diff/diffreg.c
soc2012/jhagewood/diff/hagewood-diff.patch
soc2012/jhagewood/sdiff/hagewood-sdiff.patch
soc2012/jhagewood/sdiff/sdiff/sdiff.c
Modified: soc2012/jhagewood/diff/diff/diffreg.c
==============================================================================
--- soc2012/jhagewood/diff/diff/diffreg.c Thu Jul 5 00:52:23 2012 (r238985)
+++ soc2012/jhagewood/diff/diff/diffreg.c Thu Jul 5 04:20:30 2012 (r238986)
@@ -1354,22 +1354,20 @@
static int
istextfile(FILE *f)
{
- char buf[BUFSIZ];
- int cnt, check_size;
+ int i, check_size;
+ char ch;
if (aflag || f == NULL)
return (1);
rewind(f);
- fread(buf, 1, BUFSIZ, f);
- if (BUFSIZ >= MAX_CHECK)
- check_size = MAX_CHECK;
- else
- check_size = BUFSIZ;
- /*
- * XXX Currently returns NULL even for file with no NULL chars?
- if (memchr(buf, '\0', check_size) != NULL) {
- return (0);
- }*/
+ for (i = 0; i <= MAX_CHECK || ch != EOF; i++) {
+ ch = fgetc(f);
+ if (ch == '\0') {
+ rewind(f);
+ return (0);
+ }
+ }
+ rewind(f);
return (1);
}
Modified: soc2012/jhagewood/diff/hagewood-diff.patch
==============================================================================
--- soc2012/jhagewood/diff/hagewood-diff.patch Thu Jul 5 00:52:23 2012 (r238985)
+++ soc2012/jhagewood/diff/hagewood-diff.patch Thu Jul 5 04:20:30 2012 (r238986)
@@ -664,7 +664,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-07-02 15:05:57.000000000 -0400
-+++ jhagewood/diff/diff/diffreg.c 2012-07-03 16:22:08.000000000 -0400
++++ jhagewood/diff/diff/diffreg.c 2012-07-05 04:19:42.000000000 -0400
@@ -62,15 +62,13 @@
* @(#)diffreg.c 8.1 (Berkeley) 6/6/93
*/
@@ -1178,7 +1178,7 @@
sum = 1;
space = 0;
-@@ -1305,20 +1346,30 @@ readhash(FILE *f)
+@@ -1305,20 +1346,28 @@ readhash(FILE *f)
return (sum == 0 ? 1 : sum);
}
@@ -1193,8 +1193,8 @@
{
- char buf[BUFSIZ];
- int i, cnt;
-+ char buf[BUFSIZ];
-+ int cnt, check_size;
++ int i, check_size;
++ char ch;
if (aflag || f == NULL)
return (1);
@@ -1203,21 +1203,18 @@
- cnt = fread(buf, 1, sizeof(buf), f);
- for (i = 0; i < cnt; i++)
- if (!isprint(buf[i]) && !isspace(buf[i]))
-- return (0);
-+ fread(buf, 1, BUFSIZ, f);
-+ if (BUFSIZ >= MAX_CHECK)
-+ check_size = MAX_CHECK;
-+ else
-+ check_size = BUFSIZ;
-+ /*
-+ * XXX Currently returns NULL even for file with no NULL chars?
-+ if (memchr(buf, '\0', check_size) != NULL) {
-+ return (0);
-+ }*/
++ for (i = 0; i <= MAX_CHECK || ch != EOF; i++) {
++ ch = fgetc(f);
++ if (ch == '\0') {
++ rewind(f);
+ return (0);
++ }
++ }
++ rewind(f);
return (1);
}
-@@ -1327,10 +1378,10 @@ asciifile(FILE *f)
+@@ -1327,10 +1376,10 @@ asciifile(FILE *f)
static char *
match_function(const long *f, int pos, FILE *file)
{
@@ -1232,7 +1229,7 @@
lastline = pos;
while (pos > last) {
-@@ -1342,7 +1393,6 @@ match_function(const long *f, int pos, F
+@@ -1342,7 +1391,6 @@ match_function(const long *f, int pos, F
if (nc > 0) {
buf[nc] = '\0';
buf[strcspn(buf, "\n")] = '\0';
@@ -1240,7 +1237,7 @@
if (isalpha(buf[0]) || buf[0] == '_' || buf[0] == '$') {
if (begins_with(buf, "private:")) {
if (!state)
-@@ -1373,9 +1423,9 @@ static void
+@@ -1373,9 +1421,9 @@ static void
dump_context_vec(FILE *f1, FILE *f2)
{
struct context_vec *cvp = context_vec_start;
@@ -1253,7 +1250,7 @@
if (context_vec_start > context_vec_ptr)
return;
-@@ -1390,8 +1440,8 @@ dump_context_vec(FILE *f1, FILE *f2)
+@@ -1390,8 +1438,8 @@ dump_context_vec(FILE *f1, FILE *f2)
if (pflag) {
f = match_function(ixold, lowa-1, f1);
if (f != NULL) {
@@ -1264,7 +1261,7 @@
}
}
printf("\n*** ");
-@@ -1478,9 +1528,9 @@ static void
+@@ -1478,9 +1526,9 @@ static void
dump_unified_vec(FILE *f1, FILE *f2)
{
struct context_vec *cvp = context_vec_start;
@@ -1277,7 +1274,7 @@
if (context_vec_start > context_vec_ptr)
return;
-@@ -1491,19 +1541,19 @@ dump_unified_vec(FILE *f1, FILE *f2)
+@@ -1491,19 +1539,19 @@ dump_unified_vec(FILE *f1, FILE *f2)
lowc = MAX(1, cvp->c - context);
upd = MIN(len[1], context_vec_ptr->d + context);
@@ -1303,7 +1300,7 @@
/*
* Output changes in "unified" diff format--the old and new lines
-@@ -1551,16 +1601,43 @@ dump_unified_vec(FILE *f1, FILE *f2)
+@@ -1551,16 +1599,43 @@ dump_unified_vec(FILE *f1, FILE *f2)
static void
print_header(const char *file1, const char *file2)
{
Modified: soc2012/jhagewood/sdiff/hagewood-sdiff.patch
==============================================================================
--- soc2012/jhagewood/sdiff/hagewood-sdiff.patch Thu Jul 5 00:52:23 2012 (r238985)
+++ soc2012/jhagewood/sdiff/hagewood-sdiff.patch Thu Jul 5 04:20:30 2012 (r238986)
@@ -1,6 +1,6 @@
diff -rupN jhagewood/sdiff/sdiff-orig/sdiff.c jhagewood/sdiff/sdiff/sdiff.c
--- jhagewood/sdiff/sdiff-orig/sdiff.c 2012-07-02 15:05:58.000000000 -0400
-+++ jhagewood/sdiff/sdiff/sdiff.c 2012-07-03 16:56:41.000000000 -0400
++++ jhagewood/sdiff/sdiff/sdiff.c 2012-07-03 17:10:59.000000000 -0400
@@ -34,7 +34,7 @@
#include "common.h"
#include "extern.h"
@@ -20,18 +20,16 @@
/* pid from the diff parent (if applicable) */
DIFF_PID,
-@@ -363,7 +364,9 @@ main(int argc, char **argv)
+@@ -363,7 +364,7 @@ main(int argc, char **argv)
diffargv[diffargc++] = NULL;
/* Subtract column divider and divide by two. */
- width = (wflag - 3) / 2;
+ width = ((wflag - 3) / 2) - 2;
-+ if (!wflag)
-+ width = ((wflag - 3) / 2);
/* Make sure line_width can fit in size_t. */
if (width > (SIZE_MAX - 3) / 2)
errx(2, "width is too large: %zu", width);
-@@ -383,7 +386,6 @@ main(int argc, char **argv)
+@@ -383,7 +384,6 @@ main(int argc, char **argv)
err(2, "child could not duplicate descriptor");
/* Free unused descriptor. */
close(fd[1]);
Modified: soc2012/jhagewood/sdiff/sdiff/sdiff.c
==============================================================================
--- soc2012/jhagewood/sdiff/sdiff/sdiff.c Thu Jul 5 00:52:23 2012 (r238985)
+++ soc2012/jhagewood/sdiff/sdiff/sdiff.c Thu Jul 5 04:20:30 2012 (r238986)
@@ -365,8 +365,6 @@
/* Subtract column divider and divide by two. */
width = ((wflag - 3) / 2) - 2;
- if (!wflag)
- width = ((wflag - 3) / 2);
/* Make sure line_width can fit in size_t. */
if (width > (SIZE_MAX - 3) / 2)
errx(2, "width is too large: %zu", width);
More information about the svn-soc-all
mailing list