summaryrefslogtreecommitdiffstats
path: root/usr.bin/grep
diff options
context:
space:
mode:
authorgabor <gabor@FreeBSD.org>2011-08-17 13:56:33 +0000
committergabor <gabor@FreeBSD.org>2011-08-17 13:56:33 +0000
commit64a3d10a38f6d3b553b3564204cd47e0d08a8f0e (patch)
treef0b8dddc3cbaf2ef0b7699f444666e2a676926f3 /usr.bin/grep
parent28d7c808033e3e8aaf942d000108a290437a60af (diff)
downloadFreeBSD-src-64a3d10a38f6d3b553b3564204cd47e0d08a8f0e.zip
FreeBSD-src-64a3d10a38f6d3b553b3564204cd47e0d08a8f0e.tar.gz
- Fix handling of environmental variables when they are set to empty string
Submitted by: ttsestt@gmail.com Approved by: re (kib), delphij (mentor)
Diffstat (limited to 'usr.bin/grep')
-rw-r--r--usr.bin/grep/grep.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/grep/grep.c b/usr.bin/grep/grep.c
index d03c13c..73e1d3d 100644
--- a/usr.bin/grep/grep.c
+++ b/usr.bin/grep/grep.c
@@ -304,7 +304,7 @@ init_color(const char *d)
char *c;
c = getenv("GREP_COLOR");
- return (c != NULL ? c : d);
+ return (c != NULL && c[0] != '\0' ? c : d);
}
int
@@ -360,7 +360,7 @@ main(int argc, char *argv[])
/* support for extra arguments in GREP_OPTIONS */
eargc = 0;
- if (eopts != NULL) {
+ if (eopts != NULL && eopts[0] != '\0') {
char *str;
/* make an estimation of how many extra arguments we have */
@@ -373,7 +373,8 @@ main(int argc, char *argv[])
eargc = 0;
/* parse extra arguments */
while ((str = strsep(&eopts, " ")) != NULL)
- eargv[eargc++] = grep_strdup(str);
+ if (str[0] != '\0')
+ eargv[eargc++] = grep_strdup(str);
aargv = (char **)grep_calloc(eargc + argc + 1,
sizeof(char *));
OpenPOWER on IntegriCloud