From c7ccfc99fc3ce621cc3739896493670316184dec Mon Sep 17 00:00:00 2001 From: John Beppu Date: Mon, 12 Jun 2000 23:39:04 +0000 Subject: + 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 --- findutils/grep.c | 8 +++----- grep.c | 8 +++----- utility.c | 2 +- 3 files changed, 7 insertions(+), 11 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, { char *cp; long line = 0; - char haystack[BUF_SIZE]; + char *haystack; int truth = !invertSearch; - while (fgets(haystack, sizeof(haystack), fp)) { + while ((haystack = cstring_lineFromFile(fp))) { line++; cp = &haystack[strlen(haystack) - 1]; - if (*cp != '\n') - fprintf(stderr, "%s: Line too long\n", fileName); - if (find_match(haystack, needle, ignoreCase) == truth) { if (tellName == TRUE) printf("%s:", fileName); @@ -87,6 +84,7 @@ static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, match = TRUE; } + free(haystack); } } diff --git a/grep.c b/grep.c index 6872ac271..bb1a14622 100644 --- a/grep.c +++ b/grep.c @@ -65,16 +65,13 @@ static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, { char *cp; long line = 0; - char haystack[BUF_SIZE]; + char *haystack; int truth = !invertSearch; - while (fgets(haystack, sizeof(haystack), fp)) { + while ((haystack = cstring_lineFromFile(fp))) { line++; cp = &haystack[strlen(haystack) - 1]; - if (*cp != '\n') - fprintf(stderr, "%s: Line too long\n", fileName); - if (find_match(haystack, needle, ignoreCase) == truth) { if (tellName == TRUE) printf("%s:", fileName); @@ -87,6 +84,7 @@ static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, match = TRUE; } + free(haystack); } } diff --git a/utility.c b/utility.c index 48aaeb85d..b9c7a76cd 100644 --- a/utility.c +++ b/utility.c @@ -1573,7 +1573,7 @@ extern int find_real_root_device_name(char* name) } #endif -const unsigned int CSTRING_BUFFER_LENGTH = 128; +const unsigned int CSTRING_BUFFER_LENGTH = 1024; /* recursive parser that returns cstrings of arbitrary length * from a FILE* */ -- cgit v1.2.3