-
- argc--, argv++;
- while (argc > 0 && argv[0][0] == '-') {
- register int i;
- if (argv[0][1] == 0)
- asdata++;
- else for (i = 1; argv[0][i] != 0; i++) switch (argv[0][i]) {
-
- case 'o':
- oflg++;
- break;
-
- case 'a':
- asdata++;
- break;
-
- default:
- if (!isdigit(argv[0][i])) {
- fprintf(stderr, "Usage: strings [ -a ] [ -o ] [ -# ] [ file ... ]\n");
- exit(1);
+ register int ch, /* character */
+ cnt; /* general counter */
+ register u_char *C; /* bfr pointer */
+ EXEC *head; /* exec header pointer */
+ int minlen = DEF_LEN; /* minimum string length */
+ short asdata = NO, /* look in everything */
+ oflg; /* print octal location */
+ u_char *bfr; /* collection buffer */
+ char *file, /* file name for error */
+ *malloc();
+
+ /*
+ * for backward compatibility, allow '-' to specify 'a' flag; no
+ * longer documented in the man page or usage string.
+ */
+ for (++argv;*argv && **argv == '-';++argv) {
+ for (cnt = 1;(*argv)[cnt];++cnt)
+ switch ((*argv)[cnt]) {
+ case 'a':
+ asdata = YES;
+ break;
+ case 'o':
+ oflg = YES;
+ break;
+ default: /* getopt message compatible */
+ if (!isdigit((*argv)[cnt])) {
+ fprintf(stderr,"strings: illegal option -- %c\nusage: strings [-ao] [-#] [file ... ]\n",(*argv)[cnt]);
+ exit(ERREXIT);
+ }
+ minlen = atoi(*argv + 1);
+ break;