aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-08 04:20:29 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-08 04:20:29 +0000
commit69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9 (patch)
treecedcdc7be01a28fbe581588907c163cdec9936b5 /elf
parent0a7cfefb94e7dda31e058fae59a3cdae211ada5b (diff)
downloadglibc-69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9.tar
glibc-69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9.tar.gz
glibc-69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9.tar.bz2
glibc-69acbe9f1d6e5f56b22de23fd1b2a851fbf066f9.zip
(parse_conf): Ignore leading whitespace. Use feof_unlocked instead of feof. (add_dir): Ignire trailing whitespace.
Diffstat (limited to 'elf')
-rw-r--r--elf/ldconfig.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index c41c81e3b8..6484e311aa 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);