aboutsummaryrefslogtreecommitdiff
path: root/findutils
diff options
context:
space:
mode:
Diffstat (limited to 'findutils')
-rw-r--r--findutils/grep.c5
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;
}
}