diff options
author | gabor <gabor@FreeBSD.org> | 2011-08-17 13:56:33 +0000 |
---|---|---|
committer | gabor <gabor@FreeBSD.org> | 2011-08-17 13:56:33 +0000 |
commit | 64a3d10a38f6d3b553b3564204cd47e0d08a8f0e (patch) | |
tree | f0b8dddc3cbaf2ef0b7699f444666e2a676926f3 /usr.bin/grep | |
parent | 28d7c808033e3e8aaf942d000108a290437a60af (diff) | |
download | FreeBSD-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.c | 7 |
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 *)); |