aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2008-05-29 20:18:07 +0000
committerStefan Monnier <[email protected]>2008-05-29 20:18:07 +0000
commit2926947a670b0679a34f90841fa7abc3f788474e (patch)
tree7107101400efee9a8dec8ab9c503061a3e92aa36 /lib-src
parentdfb4dab1a22926befbef30fb9f2105f515374e46 (diff)
(relative_filename): Treat "///" like "/" in filenames.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog4
-rw-r--r--lib-src/etags.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 2dd6fb6bfa..dc0d597e50 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-29 Tom Tromey <[email protected]>
+
+ * etags.c (relative_filename): Treat "///" like "/" in filenames.
+
2008-05-09 Eli Zaretskii <[email protected]>
* ntlib.c: Include sys/types.h, sys/stat.h, and errno.h.
diff --git a/lib-src/etags.c b/lib-src/etags.c
index d18ee6c9f9..675e926f20 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -6790,8 +6790,14 @@ relative_filename (file, dir)
/* Build a sequence of "../" strings for the resulting relative file name. */
i = 0;
+ while (*dp == '/')
+ ++dp;
while ((dp = etags_strchr (dp + 1, '/')) != NULL)
- i += 1;
+ {
+ i += 1;
+ while (*dp == '/')
+ ++dp;
+ }
res = xnew (3*i + strlen (fp + 1) + 1, char);
res[0] = '\0';
while (i-- > 0)