diff options
author | Erik Andersen | 2000-02-08 19:58:47 +0000 |
---|---|---|
committer | Erik Andersen | 2000-02-08 19:58:47 +0000 |
commit | e49d5ecbbe51718fa925b6890a735e5937cc2aa2 (patch) | |
tree | c90bda10731ad9333ce3b404f993354c9fc104b8 /grep.c | |
parent | c0bf817bbc5c7867fbe8fb76d5c39f8ee802692f (diff) | |
download | busybox-e49d5ecbbe51718fa925b6890a735e5937cc2aa2.zip busybox-e49d5ecbbe51718fa925b6890a735e5937cc2aa2.tar.gz |
Some formatting updates (ran the code through indent)
-Erik
Diffstat (limited to 'grep.c')
-rw-r--r-- | grep.c | 182 |
1 files changed, 91 insertions, 91 deletions
@@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* * Mini grep implementation for busybox * @@ -40,126 +41,125 @@ #include <ctype.h> static const char grep_usage[] = -"grep [OPTIONS]... PATTERN [FILE]...\n\n" -"Search for PATTERN in each FILE or standard input.\n\n" -"OPTIONS:\n" -"\t-h\tsuppress the prefixing filename on output\n" -"\t-i\tignore case distinctions\n" -"\t-n\tprint line number with output lines\n" -"\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n\n" + "grep [OPTIONS]... PATTERN [FILE]...\n\n" + "Search for PATTERN in each FILE or standard input.\n\n" + "OPTIONS:\n" + "\t-h\tsuppress the prefixing filename on output\n" + "\t-i\tignore case distinctions\n" + "\t-n\tprint line number with output lines\n" + "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n\n" #if defined BB_REGEXP -"This version of grep matches full regular expresions.\n"; + "This version of grep matches full regular expresions.\n"; #else -"This version of grep matches strings (not regular expresions).\n"; + "This version of grep matches strings (not regular expresions).\n"; #endif static int match = FALSE, beQuiet = FALSE; -static void do_grep(FILE *fp, char* needle, char *fileName, int tellName, int ignoreCase, int tellLine) +static void do_grep(FILE * fp, char *needle, char *fileName, int tellName, + int ignoreCase, int tellLine) { - char *cp; - long line = 0; - char haystack[BUF_SIZE]; + char *cp; + long line = 0; + char haystack[BUF_SIZE]; - while (fgets (haystack, sizeof (haystack), fp)) { - line++; - cp = &haystack[strlen (haystack) - 1]; + while (fgets(haystack, sizeof(haystack), fp)) { + line++; + cp = &haystack[strlen(haystack) - 1]; - if (*cp != '\n') - fprintf (stderr, "%s: Line too long\n", fileName); + if (*cp != '\n') + fprintf(stderr, "%s: Line too long\n", fileName); - if (find_match(haystack, needle, ignoreCase) == TRUE) { - if (tellName==TRUE) - printf ("%s:", fileName); + if (find_match(haystack, needle, ignoreCase) == TRUE) { + if (tellName == TRUE) + printf("%s:", fileName); - if (tellLine==TRUE) - printf ("%ld:", line); + if (tellLine == TRUE) + printf("%ld:", line); - if (beQuiet==FALSE) - fputs (haystack, stdout); + if (beQuiet == FALSE) + fputs(haystack, stdout); - match = TRUE; + match = TRUE; + } } - } } -extern int grep_main (int argc, char **argv) +extern int grep_main(int argc, char **argv) { - FILE *fp; - char *cp; - char *needle; - char *fileName; - int tellName=TRUE; - int ignoreCase=TRUE; - int tellLine=FALSE; + FILE *fp; + char *cp; + char *needle; + char *fileName; + int tellName = TRUE; + int ignoreCase = TRUE; + int tellLine = FALSE; - ignoreCase = FALSE; - tellLine = FALSE; + ignoreCase = FALSE; + tellLine = FALSE; - argc--; - argv++; - if (argc < 1) { - usage(grep_usage); - } - - if (**argv == '-') { argc--; - cp = *argv++; + argv++; + if (argc < 1) { + usage(grep_usage); + } - while (*++cp) - switch (*cp) { - case 'i': - ignoreCase = TRUE; - break; + if (**argv == '-') { + argc--; + cp = *argv++; - case 'h': - tellName = FALSE; - break; + while (*++cp) + switch (*cp) { + case 'i': + ignoreCase = TRUE; + break; - case 'n': - tellLine = TRUE; - break; + case 'h': + tellName = FALSE; + break; - case 'q': - beQuiet = TRUE; - break; + case 'n': + tellLine = TRUE; + break; - default: - usage(grep_usage); - } - } - - needle = *argv++; - argc--; - - if (argc==0) { - do_grep( stdin, needle, "stdin", FALSE, ignoreCase, tellLine); - } else { - /* Never print the filename for just one file */ - if (argc==1) - tellName=FALSE; - while (argc-- > 0) { - fileName = *argv++; - - fp = fopen (fileName, "r"); - if (fp == NULL) { - perror (fileName); - continue; - } - - do_grep( fp, needle, fileName, tellName, ignoreCase, tellLine); - - if (ferror (fp)) - perror (fileName); - fclose (fp); + case 'q': + beQuiet = TRUE; + break; + + default: + usage(grep_usage); + } } - } - exit(match); -} + needle = *argv++; + argc--; -/* END CODE */ + if (argc == 0) { + do_grep(stdin, needle, "stdin", FALSE, ignoreCase, tellLine); + } else { + /* Never print the filename for just one file */ + if (argc == 1) + tellName = FALSE; + while (argc-- > 0) { + fileName = *argv++; + + fp = fopen(fileName, "r"); + if (fp == NULL) { + perror(fileName); + continue; + } + + do_grep(fp, needle, fileName, tellName, ignoreCase, tellLine); + + if (ferror(fp)) + perror(fileName); + fclose(fp); + } + } + exit(match); +} +/* END CODE */ |