diff options
Diffstat (limited to 'findutils/grep.c')
-rw-r--r-- | findutils/grep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/findutils/grep.c b/findutils/grep.c index 5b8644c36..84a6f7b1c 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -762,8 +762,9 @@ int grep_main(int argc UNUSED_PARAM, char **argv) if (option_mask32 & OPT_f) { load_regexes_from_file(fopt); if (!pattern_head) { /* -f EMPTY_FILE? */ - /* GNU grep treats it as "nothing matches" */ - llist_add_to(&pattern_head, new_grep_list_data((char*) "", 0)); + /* GNU grep treats it as "nothing matches" except when -x */ + const char *data = (option_mask32 & OPT_x) ? ".*" : ""; + llist_add_to(&pattern_head, new_grep_list_data((char*)data, 0)); invert_search ^= 1; } } |