diff options
author | beppu <beppu@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-06-12 23:39:04 +0000 |
---|---|---|
committer | beppu <beppu@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2000-06-12 23:39:04 +0000 |
commit | ca912bbd4ec42fbc5312462f7e81dee08d698321 (patch) | |
tree | b7b02e5968fb4db92de8b2cf2645d1a6e44ef463 /findutils/grep.c | |
parent | ebe3728bcb6feb1be35fa493cef89f60b1477580 (diff) | |
download | busybox-w32-ca912bbd4ec42fbc5312462f7e81dee08d698321.tar.gz busybox-w32-ca912bbd4ec42fbc5312462f7e81dee08d698321.tar.bz2 busybox-w32-ca912bbd4ec42fbc5312462f7e81dee08d698321.zip |
+ utility.c
CSTRING_BUFFER_LENGTH = 1024 /* so it recurses less often */
+ grep.c
uses cstring_lineFromFile(), and doesn't ever say
Line is too long, anymore
git-svn-id: svn://busybox.net/trunk/busybox@637 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'findutils/grep.c')
-rw-r--r-- | findutils/grep.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/findutils/grep.c b/findutils/grep.c index 6872ac271..bb1a14622 100644 --- a/findutils/grep.c +++ b/findutils/grep.c | |||
@@ -65,16 +65,13 @@ static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, | |||
65 | { | 65 | { |
66 | char *cp; | 66 | char *cp; |
67 | long line = 0; | 67 | long line = 0; |
68 | char haystack[BUF_SIZE]; | 68 | char *haystack; |
69 | int truth = !invertSearch; | 69 | int truth = !invertSearch; |
70 | 70 | ||
71 | while (fgets(haystack, sizeof(haystack), fp)) { | 71 | while ((haystack = cstring_lineFromFile(fp))) { |
72 | line++; | 72 | line++; |
73 | cp = &haystack[strlen(haystack) - 1]; | 73 | cp = &haystack[strlen(haystack) - 1]; |
74 | 74 | ||
75 | if (*cp != '\n') | ||
76 | fprintf(stderr, "%s: Line too long\n", fileName); | ||
77 | |||
78 | if (find_match(haystack, needle, ignoreCase) == truth) { | 75 | if (find_match(haystack, needle, ignoreCase) == truth) { |
79 | if (tellName == TRUE) | 76 | if (tellName == TRUE) |
80 | printf("%s:", fileName); | 77 | printf("%s:", fileName); |
@@ -87,6 +84,7 @@ static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, | |||
87 | 84 | ||
88 | match = TRUE; | 85 | match = TRUE; |
89 | } | 86 | } |
87 | free(haystack); | ||
90 | } | 88 | } |
91 | } | 89 | } |
92 | 90 | ||