about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-09-29 06:19:13 +0000
committerUlrich Drepper <drepper@redhat.com>2000-09-29 06:19:13 +0000
commitf0189a54434b816a53f9b0fce234fc3e88dbb8ed (patch)
treeffa00f7a127e3a4322f857705ebf8c8a7bdea9fb
parent77586df3f9c466e6c5abb708b6771107d13f273d (diff)
downloadglibc-f0189a54434b816a53f9b0fce234fc3e88dbb8ed.tar.gz
glibc-f0189a54434b816a53f9b0fce234fc3e88dbb8ed.tar.xz
glibc-f0189a54434b816a53f9b0fce234fc3e88dbb8ed.zip
Update.
	* elf/ldconfig.c (parse_conf): Print full name of config dir
	including chroot() path.
	(main): Remove trailing / from opt_chroot string.
-rw-r--r--ChangeLog4
-rw-r--r--elf/ldconfig.c13
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 508e0c3487..2b6441e6b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-09-28  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/ldconfig.c (parse_conf): Print full name of config dir
+	including chroot() path.
+	(main): Remove trailing / from opt_chroot string.
+
 	* include/features.h: Correct description of what happens if no
 	*_SOURCE macro is defined.
 
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index ce4d9298cc..9202567a10 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -525,7 +525,7 @@ search_dir (const struct dir_entry *entry)
 
   file_name_len = PATH_MAX;
   file_name = alloca (file_name_len);
-  
+
   dlibs = NULL;
 
   if (opt_verbose)
@@ -570,7 +570,7 @@ search_dir (const struct dir_entry *entry)
 	  file_name_len = len + 1;
 	  file_name = alloca (file_name_len);
 	}
-      sprintf (file_name , "%s/%s", entry->path, direntry->d_name);      
+      sprintf (file_name , "%s/%s", entry->path, direntry->d_name);
 #ifdef _DIRENT_HAVE_D_TYPE
       if (direntry->d_type != DT_UNKNOWN)
 	stat_buf.st_mode = DTTOIF (direntry->d_type);
@@ -734,7 +734,8 @@ parse_conf (const char *filename)
 
   if (file == NULL)
     {
-      error (0, errno, _("Can't open configuration file %s"), filename);
+      error (0, errno, _("Can't open configuration file %s%s%s"),
+	     opt_chroot ?: "", opt_chroot ? "/" : "", filename);
       return;
     }
 
@@ -791,6 +792,12 @@ main (int argc, char **argv)
   /* Chroot first.  */
   if (opt_chroot)
     {
+      /* Normalize the path a bit, we might need it for printing later.  */
+      char *endp = strchr (opt_chroot, '\0');
+      while (endp > opt_chroot + 1 && endp[-1] == '/')
+	--endp;
+      *endp = '\0';
+
       if (chroot (opt_chroot))
 	/* Report failure and exit program.  */
 	error (EXIT_FAILURE, errno, _("Can't chroot to %s"), opt_chroot);