about summary refs log tree commit diff stats
path: root/WWW/Library
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library')
-rw-r--r--WWW/Library/Implementation/HTFile.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 4cb68047..9d8c8efa 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -577,7 +577,8 @@ PUBLIC char * HTnameOfFile_WWW ARGS3(
     else
 	HTUnEscapeSome(path, "/");	/* Interpret % signs for path delims */
 
-    if (0 == strcmp(acc_method, "file")) { /* local file */
+    if (0 == strcmp(acc_method, "file")	/* local file */
+     || !*acc_method) {			/* implicitly local? */
 	if ((0 == strcasecomp(host, HTHostName())) ||
 	    (0 == strcasecomp(host, "localhost")) || !*host) {
 	    CTRACE(tfp, "Node `%s' means path `%s'\n", name, path);
@@ -1232,11 +1233,11 @@ PUBLIC BOOL HTDirTitles ARGS3(
       char * printable = NULL;
 
 #ifdef DIRED_SUPPORT
-      if (0 == strncasecomp(path, "/%2F", 4))
-	  StrAllocCopy(printable, (path+1));
-      else
-	  StrAllocCopy(printable, path);
-      if (0 == strncasecomp(printable, "/vmsysu%2b", 10) ||
+      printable = HTfullURL_toFile(
+	    (0 == strncasecomp(path, "/%2F", 4))	/* "//" ? */
+	    ? (path+1)
+	    : path);
+      if (0 == strncasecomp(printable, "/vmsysu:", 8) ||
 	  0 == strncasecomp(printable, "/anonymou.", 10)) {
 	  StrAllocCopy(cp, (printable+1));
 	  StrAllocCopy(printable, cp);
@@ -1244,11 +1245,11 @@ PUBLIC BOOL HTDirTitles ARGS3(
       }
 #else
       StrAllocCopy(printable, (current ? current + 1 : ""));
+      HTUnEscape(printable);
 #endif /* DIRED_SUPPORT */
 
       START(HTML_HEAD);
       PUTS("\n");
-      HTUnEscape(printable);
       START(HTML_TITLE);
       PUTS(*printable ? printable : "Welcome");
       PUTS(" directory");