aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--posix/wordexp.c12
2 files changed, 10 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index fbb7a3b..bf90cd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-10 Ulrich Drepper <drepper@redhat.com>
+
+ * posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
+ caller makes sure this is not the case.
+ (wordexp): Simplify ifs_white creation. [Coverity CID 231]
+
2006-05-09 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp.c: Remove numerous NULL pointer tests before FREE
diff --git a/posix/wordexp.c b/posix/wordexp.c
index 188e710..adece95 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -453,8 +453,7 @@ parse_glob (char **word, size_t *word_length, size_t *max_length,
glob_list.we_offs = 0;
for (; words[*offset] != '\0'; ++*offset)
{
- if ((ifs && strchr (ifs, words[*offset])) ||
- (!ifs && strchr (" \t\n", words[*offset])))
+ if (strchr (ifs, words[*offset]) != NULL)
/* Reached IFS */
break;
@@ -2265,7 +2264,7 @@ wordexp (const char *words, wordexp_t *pwordexp, int flags)
*/
ifs = getenv ("IFS");
- if (!ifs)
+ if (ifs == NULL)
/* IFS unset - use <space><tab><newline>. */
ifs = strcpy (ifs_white, " \t\n");
else
@@ -2273,18 +2272,15 @@ wordexp (const char *words, wordexp_t *pwordexp, int flags)
char *ifsch = ifs;
char *whch = ifs_white;
- /* Start off with no whitespace IFS characters */
- ifs_white[0] = '\0';
-
while (*ifsch != '\0')
{
- if ((*ifsch == ' ') || (*ifsch == '\t') || (*ifsch == '\n'))
+ if (*ifsch == ' ' || *ifsch == '\t' || *ifsch == '\n')
{
/* Whitespace IFS. See first whether it is already in our
collection. */
char *runp = ifs_white;
- while (runp < whch && *runp != '\0' && *runp != *ifsch)
+ while (runp < whch && *runp != *ifsch)
++runp;
if (runp == whch)