about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation')
-rw-r--r--WWW/Library/Implementation/HTAnchor.c6
-rw-r--r--WWW/Library/Implementation/HTFile.c52
-rw-r--r--WWW/Library/Implementation/HTTP.c3
-rw-r--r--WWW/Library/Implementation/HTTelnet.c4
-rw-r--r--WWW/Library/Implementation/HText.h8
-rw-r--r--WWW/Library/Implementation/www_tcp.h13
6 files changed, 49 insertions, 37 deletions
diff --git a/WWW/Library/Implementation/HTAnchor.c b/WWW/Library/Implementation/HTAnchor.c
index d336cb7b..be8b59dd 100644
--- a/WWW/Library/Implementation/HTAnchor.c
+++ b/WWW/Library/Implementation/HTAnchor.c
@@ -269,13 +269,13 @@ PUBLIC HTChildAnchor * HTAnchor_findChildAndLink ARGS4(
 #ifdef DUPLICATE_ANCHOR_NAME_WORKAROUND
 	if (tag && *tag) {
 	    HTAnchor *testdest1;
-	    int nlinks;
+	    int child_links;
 	    testdest1 = child->mainLink.dest;
 	    if (testdest1) {
-		nlinks = 1 + HTList_count(child->links);
+		child_links = 1 + HTList_count(child->links);
 		CTRACE((tfp,
 		       "*** Duplicate ChildAnchor %p named `%s' with %d links",
-		       child, tag, nlinks));
+		       child, tag, child_links));
 		if (dest == testdest1 && ltype == child->mainLink.type) {
 		    CTRACE((tfp,", same dest %p and type, keeping it\n",
 			   testdest1));
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 829214e8..67e566c0 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -194,6 +194,7 @@ PRIVATE void LYListFmtParse ARGS5(
 	struct stat st;
 	char *buf = NULL;
 	char tmp[LY_MAXPATH];
+	char tmp2[LY_MAXPATH];
 	char type;
 #ifndef _WINDOWS
 	char *name;
@@ -228,7 +229,9 @@ PRIVATE void LYListFmtParse ARGS5(
 #define PTBIT(a, s)  PBIT(a, 0, 0)
 #endif
 
-	if (lstat(file, &st) < 0)
+	strcpy(tmp2, file);
+	LYTrimPathSep (tmp2);
+	if (lstat(tmp2, &st) < 0)
 		fmtstr = "    %a";	/* can't stat so just do anchor */
 
 	StrAllocCopy(str, fmtstr);
@@ -1411,7 +1414,7 @@ PUBLIC BOOL HTDirTitles ARGS3(
 	}
 	cp = NULL;
     }
-    current = strrchr(path, '/');	/* last part or "" */
+    current = LYPathLeaf (path);	/* last part or "" */
 
     {
       char * printable = NULL;
@@ -1429,7 +1432,7 @@ PUBLIC BOOL HTDirTitles ARGS3(
 	  FREE(cp);
       }
 #else
-      StrAllocCopy(printable, (current ? current + 1 : ""));
+      StrAllocCopy(printable, current);
       HTUnEscape(printable);
 #endif /* DIRED_SUPPORT */
 
@@ -1475,11 +1478,13 @@ PUBLIC BOOL HTDirTitles ARGS3(
 #ifdef DOSPATH
     if (current != path)	/* leave "/c:" alone */
 #endif
-    if (current && current[1]) {   /* was a slash AND something else too */
+    if (current - path > 1
+      && LYIsPathSep(current[-1])
+      && current[0] != '\0') {	/* was a slash AND something else too */
 	char * parent = NULL;
 	char * relative = NULL;
 
-	*current++ = '\0';
+	current[-1] = '\0';
 	parent = strrchr(path, '/');  /* penultimate slash */
 
 	if ((parent &&
@@ -1661,6 +1666,7 @@ PRIVATE int print_local_dir ARGS5(
     struct stat file_info;
     int status;
     int i;
+    int code;
 
     CTRACE((tfp, "print_local_dir() started\n"));
 
@@ -1759,14 +1765,13 @@ PRIVATE int print_local_dir ARGS5(
 		continue;
 
 	    StrAllocCopy(tmpfilename, localname);
-	    if (strcmp(localname, "/"))
-		/*
-		**  If filename is not root directory.
-		*/
-		StrAllocCat(tmpfilename, "/");
+	    /*
+	    **  If filename is not root directory, add trailing separator.
+	    */
+	    LYAddPathSep(&tmpfilename);
 
 	    StrAllocCat(tmpfilename, dirbuf->d_name);
-	    stat(tmpfilename, &file_info);
+	    code = stat(tmpfilename, &file_info);
 #ifndef DIRED_SUPPORT
 	    if (S_ISDIR(file_info.st_mode))
 		HTSprintf0(&dirname, "D%s",dirbuf->d_name);
@@ -1774,16 +1779,16 @@ PRIVATE int print_local_dir ARGS5(
 		HTSprintf0(&dirname, "F%s",dirbuf->d_name);
 		/* D & F to have first directories, then files */
 #else
-	    if (S_ISDIR(file_info.st_mode))
-	    {
-		if (dir_list_style == MIXED_STYLE)
-		    HTSprintf0(&dirname, " %s/", dirbuf->d_name);
-		else if (!strcmp(dirbuf->d_name, ".."))
+	    if (S_ISDIR(file_info.st_mode)) {
+		if (dir_list_style == MIXED_STYLE) {
+		    HTSprintf0(&dirname, " %s", dirbuf->d_name);
+		    LYAddPathSep(&dirname);
+		} else if (!strcmp(dirbuf->d_name, "..")) {
 		    HTSprintf0(&dirname, "A%s", dirbuf->d_name);
-		else
+		} else {
 		    HTSprintf0(&dirname, "D%s", dirbuf->d_name);
-	    }
-	    else if (dir_list_style == MIXED_STYLE)
+		}
+	    } else if (dir_list_style == MIXED_STYLE)
 		HTSprintf0(&dirname, " %s", dirbuf->d_name);
 	    else if (dir_list_style == FILES_FIRST)
 		HTSprintf0(&dirname, "C%s", dirbuf->d_name);
@@ -1848,11 +1853,10 @@ PRIVATE int print_local_dir ARGS5(
 		}
 #endif
 		StrAllocCopy(tmpfilename,localname);
-		if (strcmp(localname, "/"))
-		    /*
-		    **	If filename is not root directory.
-		    */
-		    LYAddHtmlSep(&tmpfilename);
+		/*
+		**	If filename is not root directory.
+		*/
+		LYAddPathSep(&tmpfilename);
 
 		entry = (char*)HTBTree_object(next_element)+1;
 		/*
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 0e7af29d..51450145 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -675,7 +675,8 @@ use_tunnel:
       first_Accept = FALSE;
       len = 0;
 
-      HTSprintf(&command, "Accept-Encoding: %s, %s%c%c",
+      if (!LYPrependBaseToSource)
+	  HTSprintf(&command, "Accept-Encoding: %s, %s%c%c",
 		    "gzip", "compress", CR, LF);
 
       if (language && *language) {
diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c
index 393e6051..b89b4c2d 100644
--- a/WWW/Library/Implementation/HTTelnet.c
+++ b/WWW/Library/Implementation/HTTelnet.c
@@ -33,6 +33,10 @@
 
 #include <LYStrings.h>
 #include <LYLeaks.h>
+#ifdef __DJGPP__
+#include <sys/exceptn.h>
+#include <go32.h>
+#endif /* __DJGPP__ */
 
 PRIVATE void do_system ARGS1(char *, command)
 {
diff --git a/WWW/Library/Implementation/HText.h b/WWW/Library/Implementation/HText.h
index b1a11ba4..d35eeed5 100644
--- a/WWW/Library/Implementation/HText.h
+++ b/WWW/Library/Implementation/HText.h
@@ -149,14 +149,6 @@ extern void HText_appendImage PARAMS((
 
 /*
 
-  DUMP DIAGNOSTICS TO STDERR
-
- */
-
-extern void HText_dump PARAMS((HText * me));
-
-/*
-
   RETURN THE ANCHOR ASSOCIATED WITH THIS NODE
 
  */
diff --git a/WWW/Library/Implementation/www_tcp.h b/WWW/Library/Implementation/www_tcp.h
index f3f5ac65..05aa61e8 100644
--- a/WWW/Library/Implementation/www_tcp.h
+++ b/WWW/Library/Implementation/www_tcp.h
@@ -553,15 +553,17 @@ extern int errno;
 #define DECL_ERRNO
 #include <errno.h>
 #include <sys/types.h>
-#include <socket.h>
 #include <io.h>
 #ifdef WATT32
+#include <sys/socket.h>
 #include <arpa/inet.h>
 #include <tcp.h>
 #ifdef word
 #undef word
 #endif /* word */
 #define select select_s
+#else
+#include <socket.h>
 #endif /* WATT32 */
 
 #undef NETWRITE
@@ -570,12 +572,21 @@ extern int errno;
 #define NETREAD read_s
 #undef NETCLOSE
 #define NETCLOSE close_s
+#ifdef UNIX
+#undef UNIX
+#endif /* UNIX */
 #ifndef WATT32
 #define getsockname getsockname_s
 #endif /* !WATT32 */
 #ifdef HAVE_GETTEXT
 #define gettext gettext__
 #endif
+#if !defined(NCURSES) && !defined(USE_SLANG)
+#define HAVE_CBREAK 1
+#endif /* !NCURSES && !USE_SLANG */
+#if defined(USE_SLANG) && !defined(NO_DJ_KEYHANDLER) && defined(HAVE_CONFIG_H)
+#define DJGPP_KEYHANDLER
+#endif /* USE_SLANG && !NO_DJ_KEYHANDLER  && HAVE_CONFIG_H */
 #endif /* DJGPP */
 
 #ifdef HAVE_UNISTD_H