From: Ulrich Drepper Date: Tue, 8 Apr 2003 04:20:29 +0000 (+0000) Subject: (parse_conf): Ignore leading whitespace. Use feof_unlocked instead of feof. (add_dir... X-Git-Tag: cvs/glibc-2_3_3~931 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9;p=thirdparty%2Fglibc.git (parse_conf): Ignore leading whitespace. Use feof_unlocked instead of feof. (add_dir): Ignire trailing whitespace. --- diff --git a/elf/ldconfig.c b/elf/ldconfig.c index c41c81e3b86..6484e311aa9 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -342,13 +342,15 @@ add_dir (const char *line) entry->flag = FLAG_ANY; } - /* Canonify path: for now only remove trailing slashes. */ + /* Canonify path: for now only remove leading and trailing + whitespace and the trailing slashes slashes. */ i = strlen (entry->path) - 1; + + while (isspace (entry->path[i]) && i > 0) + entry->path[i--] = '\0'; + while (entry->path[i] == '/' && i > 0) - { - entry->path[i] = '\0'; - --i; - } + entry->path[i--] = '\0'; if (stat64 (entry->path, &stat_buf)) { @@ -963,12 +965,18 @@ parse_conf (const char *filename) make it terminating the line. */ *strchrnul (line, '#') = '\0'; + /* Remove leading whitespace. NUL is no whitespace character. */ + char *cp = line; + while (isspace (*cp)) + ++cp; + /* If the line is blank it is ignored. */ - if (line[0] == '\0') + if (cp[0] == '\0') continue; - add_dir (line); - } while (!feof (file)); + add_dir (cp); + } + while (!feof_unlocked (file)); /* Free buffer and close file. */ free (line);