From 6eaf14ce7957f8b1b374ed0f5301e6bb0bb43fe6 Mon Sep 17 00:00:00 2001 From: obrien Date: Fri, 30 Jan 2009 00:22:08 +0000 Subject: [PATCH] For files not named on the command line, only the basename is compared to the exclude pattern. Change this so that "grep --exclude='*/.svn/*' -[Rr] foo *" DWIM. Obtained from: dave+news001@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Dave Gibson) Obtained from: comp.unix.questions [Thu, 15 Mar 2007 18:54:38 +0000] Obtained from: http://unix.derkeiler.com/Newsgroups/comp.unix.questions/2007-03/msg00046.html --- gnu/usr.bin/grep/savedir.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/usr.bin/grep/savedir.c b/gnu/usr.bin/grep/savedir.c index 9357cada9dfc..cfba77cec4d4 100644 --- a/gnu/usr.bin/grep/savedir.c +++ b/gnu/usr.bin/grep/savedir.c @@ -17,6 +17,9 @@ /* Written by David MacKenzie . */ +#include +__FBSDID("$FreeBSD$"); + #if HAVE_CONFIG_H # include #endif @@ -137,10 +140,10 @@ savedir (const char *dir, off_t name_size, struct exclude *included_patterns, && !isdir1 (dir, dp->d_name)) { if (included_patterns - && !excluded_filename (included_patterns, dp->d_name, 0)) + && !excluded_filename (included_patterns, path, 0)) continue; if (excluded_patterns - && excluded_filename (excluded_patterns, dp->d_name, 0)) + && excluded_filename (excluded_patterns, path, 0)) continue; }