| 83 |
output. The order is important; it is assumed that a file name is wanted for |
output. The order is important; it is assumed that a file name is wanted for |
| 84 |
all values greater than FN_DEFAULT. */ |
all values greater than FN_DEFAULT. */ |
| 85 |
|
|
| 86 |
enum { FN_NONE, FN_DEFAULT, FN_ONLY, FN_NOMATCH_ONLY, FN_FORCE }; |
enum { FN_NONE, FN_DEFAULT, FN_MATCH_ONLY, FN_NOMATCH_ONLY, FN_FORCE }; |
| 87 |
|
|
| 88 |
/* File reading styles */ |
/* File reading styles */ |
| 89 |
|
|
| 165 |
static BOOL line_offsets = FALSE; |
static BOOL line_offsets = FALSE; |
| 166 |
static BOOL multiline = FALSE; |
static BOOL multiline = FALSE; |
| 167 |
static BOOL number = FALSE; |
static BOOL number = FALSE; |
| 168 |
|
static BOOL omit_zero_count = FALSE; |
| 169 |
static BOOL only_matching = FALSE; |
static BOOL only_matching = FALSE; |
| 170 |
static BOOL quiet = FALSE; |
static BOOL quiet = FALSE; |
| 171 |
static BOOL silent = FALSE; |
static BOOL silent = FALSE; |
| 1062 |
/* If all we want is a file name, there is no need to scan any more lines |
/* If all we want is a file name, there is no need to scan any more lines |
| 1063 |
in the file. */ |
in the file. */ |
| 1064 |
|
|
| 1065 |
else if (filenames == FN_ONLY) |
else if (filenames == FN_MATCH_ONLY) |
| 1066 |
{ |
{ |
| 1067 |
fprintf(stdout, "%s\n", printname); |
fprintf(stdout, "%s\n", printname); |
| 1068 |
return 0; |
return 0; |
| 1366 |
|
|
| 1367 |
if (count_only) |
if (count_only) |
| 1368 |
{ |
{ |
| 1369 |
if (printname != NULL) fprintf(stdout, "%s:", printname); |
if (count > 0 || !omit_zero_count) |
| 1370 |
fprintf(stdout, "%d\n", count); |
{ |
| 1371 |
|
if (printname != NULL && filenames != FN_NONE) |
| 1372 |
|
fprintf(stdout, "%s:", printname); |
| 1373 |
|
fprintf(stdout, "%d\n", count); |
| 1374 |
|
} |
| 1375 |
} |
} |
| 1376 |
|
|
| 1377 |
return rc; |
return rc; |
| 1691 |
case 'H': filenames = FN_FORCE; break; |
case 'H': filenames = FN_FORCE; break; |
| 1692 |
case 'h': filenames = FN_NONE; break; |
case 'h': filenames = FN_NONE; break; |
| 1693 |
case 'i': options |= PCRE_CASELESS; break; |
case 'i': options |= PCRE_CASELESS; break; |
| 1694 |
case 'l': filenames = FN_ONLY; break; |
case 'l': omit_zero_count = TRUE; filenames = FN_MATCH_ONLY; break; |
| 1695 |
case 'L': filenames = FN_NOMATCH_ONLY; break; |
case 'L': filenames = FN_NOMATCH_ONLY; break; |
| 1696 |
case 'M': multiline = TRUE; options |= PCRE_MULTILINE|PCRE_FIRSTLINE; break; |
case 'M': multiline = TRUE; options |= PCRE_MULTILINE|PCRE_FIRSTLINE; break; |
| 1697 |
case 'n': number = TRUE; break; |
case 'n': number = TRUE; break; |