- Fixed a problem with full_fname() when curr_dir was "/".
authorWayne Davison <wayned@samba.org>
Wed, 23 Feb 2005 02:56:42 +0000 (02:56 +0000)
committerWayne Davison <wayned@samba.org>
Wed, 23 Feb 2005 02:56:42 +0000 (02:56 +0000)
- Made full_fname() consistently output a leading "/" for
  module paths no matter if chroot is in use or not.

util.c

diff --git a/util.c b/util.c
index fc670af..a43cfb0 100644 (file)
--- a/util.c
+++ b/util.c
@@ -922,25 +922,21 @@ char *full_fname(const char *fn)
                p1 = p2 = "";
        else {
                p1 = curr_dir;
-               p2 = "/";
+               for (p2 = p1; *p2 == '/'; p2++) {}
+               if (*p2)
+                       p2 = "/";
        }
        if (module_id >= 0) {
                m1 = " (in ";
                m2 = lp_name(module_id);
                m3 = ")";
-               if (*p1) {
+               if (p1 == curr_dir) {
                        if (!lp_use_chroot(module_id)) {
                                char *p = lp_path(module_id);
                                if (*p != '/' || p[1])
                                        p1 += strlen(p);
                        }
-                       if (!*p1)
-                               p2++;
-                       else
-                               p1++;
                }
-               else
-                       fn++;
        } else
                m1 = m2 = m3 = "";