Extract usage information into a separate file.
[oweals/busybox.git] / findutils / grep.c
index dec365f05be675baf00d34a01e36db85dc91dba0..a2c07c52371513e07ad41408eb9140f9230edbb3 100644 (file)
 extern int optind; /* in unistd.h */
 extern int errno;  /* for use with strerror() */
 
-static const char grep_usage[] =
-       "grep [-ihHnqvs] pattern [files...]\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
-       "\nSearch for PATTERN in each FILE or standard input.\n\n"
-       "Options:\n"
-       "\t-H\tprefix output lines with filename where match was found\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"
-       "\t-v\tselect non-matching lines\n"
-       "\t-s\tsuppress file open/read error messages\n\n"
-#endif
-       ;
-
 /* options */
 static int ignore_case       = 0;
 static int print_filename    = 0;
@@ -146,8 +131,7 @@ extern int grep_main(int argc, char **argv)
        reflags = REG_NOSUB | REG_NEWLINE; 
        if (ignore_case)
                reflags |= REG_ICASE;
-       if (bb_regcomp(&regex, argv[optind], reflags) != 0)
-               exit(1);
+       xregcomp(&regex, argv[optind], reflags);
 
        /* argv[(optind+1)..(argc-1)] should be names of file to grep through. If
         * there is more than one file to grep, we will print the filenames */
@@ -166,7 +150,7 @@ extern int grep_main(int argc, char **argv)
                        file = fopen(cur_file, "r");
                        if (file == NULL) {
                                if (!suppress_err_msgs)
-                                       fprintf(stderr, "grep: %s: %s\n", cur_file, strerror(errno));
+                                       errorMsg("%s: %s\n", cur_file, strerror(errno));
                        } else {
                                grep_file(file);
                                fclose(file);