(parse_conf): Ignore leading whitespace. Use feof_unlocked instead of feof. (add_dir...
authorUlrich Drepper <drepper@redhat.com>
Tue, 8 Apr 2003 04:20:29 +0000 (04:20 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 8 Apr 2003 04:20:29 +0000 (04:20 +0000)
elf/ldconfig.c

index c41c81e..6484e31 100644 (file)
@@ -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);