about summary refs log tree commit diff stats
path: root/WWW/Library
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1998-12-16 22:06:07 -0500
committerThomas E. Dickey <dickey@invisible-island.net>1998-12-16 22:06:07 -0500
commit10f6c5df5fbd3e8a2be8a0640035680235b3f8a3 (patch)
treef46df4582b5b527aff7ed4294e065bc5b6076a33 /WWW/Library
parent08fc6e5c6582f05f43c968931b04d698cf7abc86 (diff)
downloadlynx-snapshots-10f6c5df5fbd3e8a2be8a0640035680235b3f8a3.tar.gz
snapshot of project "lynx", label v2-8-2dev_10
Diffstat (limited to 'WWW/Library')
-rw-r--r--WWW/Library/Implementation/HTMLDTD.c27
-rw-r--r--WWW/Library/Implementation/HTMLDTD.h9
-rw-r--r--WWW/Library/Implementation/HTString.c2
-rw-r--r--WWW/Library/Implementation/HTString.h3
-rw-r--r--WWW/Library/Implementation/HTTCP.c12
-rw-r--r--WWW/Library/Implementation/HTTP.c3
-rw-r--r--WWW/Library/Implementation/HTTelnet.c6
-rw-r--r--WWW/Library/Implementation/HTUtils.h6
-rw-r--r--WWW/Library/Implementation/SGML.h2
-rw-r--r--WWW/Library/Implementation/tcp.h1
-rw-r--r--WWW/Library/djgpp/makefile1
-rw-r--r--WWW/Library/unix/makefile.in4
12 files changed, 54 insertions, 22 deletions
diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c
index 4b4cc542..be390b3d 100644
--- a/WWW/Library/Implementation/HTMLDTD.c
+++ b/WWW/Library/Implementation/HTMLDTD.c
@@ -941,6 +941,7 @@ static attr table_attr[] = {			/* TABLE attributes */
 	{ "NOWRAP" },
 	{ "RULES" },
 	{ "STYLE" },
+	{ "SUMMARY" },
 	{ "TITLE" },
 	{ "UNITS" },
 	{ "WIDTH" },
@@ -1085,7 +1086,7 @@ static attr ulist_attr[] = {			/* UL attributes */
 
 /*			self	contain icont'n contn'd icont'd canclos omit */
  /* { "A"	, a_attr,	HTML_A_ATTRIBUTES,	SGML_MIXED }, */
-#define T_A		0x0008, 0x0B007,0x0FF17,0x37787,0x77BA7,0x8604F,0x00004
+#define T_A		0x0008, 0x0B007,0x0FF17,0x37787,0x77BA7,0x8604F,0x00014
  /* { "ABBREV"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_ABBREV	0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000
  /* { "ACRONYM" , gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
@@ -1101,7 +1102,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "AUTHOR"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_AUTHOR	0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00003,0x00000
  /* { "B"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_B		0x0001, 0x8B04F,0xAFFFF,0xA778F,0xF7FBF,0x00001,0x00004
+#define T_B		0x0001, 0x8B04F,0xAFFFF,0xA778F,0xF7FBF,0x00001,0x00014
  /* { "BANNER"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_BANNER	0x0200, 0x0FB8F,0x0FFFF,0x30000,0x30000,0x8031F,0x00000
  /* { "BASE"	, base_attr,	HTML_BASE_ATTRIBUTES,	SGML_EMPTY }, */
@@ -1113,9 +1114,9 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "BGSOUND" , bgsound_attr, HTML_BGSOUND_ATTRIBUTES, SGML_EMPTY }, */
 #define T_BGSOUND	0x1000, 0x00000,0x00000,0x777AF,0x77FAF,0x8730F,0x00001
  /* { "BIG"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_BIG		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00004
+#define T_BIG		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014
  /* { "BLINK"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_BLINK 	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00001,0x00004
+#define T_BLINK 	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00001,0x00014
  /* { "BLOCKQUOTE", bq_attr,	HTML_BQ_ATTRIBUTES,	SGML_MIXED }, */
 #define T_BLOCKQUOTE	0x0200, 0xAFBCF,0xAFFFF,0xB6680,0xB6FAF,0x8031F,0x00000
  /* { "BODY"	, body_attr,	HTML_BODY_ATTRIBUTES,	SGML_MIXED }, */
@@ -1132,7 +1133,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "CENTER"	, div_attr,	HTML_DIV_ATTRIBUTES,	SGML_MIXED }, */
 #define T_CENTER	0x0200, 0x8FBCF,0x8FFFF,0xB6680,0xB6FA7,0x8071F,0x00000
  /* { "CITE"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_CITE		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000
+#define T_CITE		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010
  /* { "CODE"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_CODE		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000
  /* { "COL"	, col_attr,	HTML_COL_ATTRIBUTES,	SGML_EMPTY }, */
@@ -1160,7 +1161,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "DT"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_DT		0x0400, 0x0B04F,0x0B1FF,0x00800,0x17FFF,0x8071F,0x00001
  /* { "EM"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_EM		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00000
+#define T_EM		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010
  /* { "EMBED"	, embed_attr,	HTML_EMBED_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_EMBED 	0x2000, 0x8F107,0x8FFF7,0xB6FBF,0xB7FBF,0x1FF7F,0x00001
  /* { "FIELDSET", fieldset_attr,HTML_FIELDSET_ATTRIBUTES, SGML_MIXED }, */
@@ -1170,7 +1171,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "FN"	, fn_attr,	HTML_FN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_FN		0x0200, 0x8FBCF,0x8FFFF,0xB6680,0xB7EBF,0x8114F,0x00000
  /* { "FONT"	, font_attr,	HTML_FONT_ATTRIBUTES,	SGML_EMPTY }, */
-#define T_FONT		0x0001, 0x8B04F,0x8FFFF,0xB778F,0xF7FBF,0x00001,0x00004
+#define T_FONT		0x0001, 0x8B04F,0x8FFFF,0xB778F,0xF7FBF,0x00001,0x00014
  /* { "FORM"	, form_attr,	HTML_FORM_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_FORM		0x0080, 0x0FF6F,0x0FF7F,0x36E07,0x33F07,0x88DFF,0x00000
  /* { "FRAME"	, frame_attr,	HTML_FRAME_ATTRIBUTES,	SGML_EMPTY }, */
@@ -1197,7 +1198,7 @@ static attr ulist_attr[] = {			/* UL attributes */
 #define T_HTML		0x10000,0x7FB8F,0x7FFFF,0x00000,0x00000,0x1FFFF,0x00003
 #define T_HY		0x1000, 0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001
  /* { "I"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_I		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00004
+#define T_I		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014
 #define T_IFRAME	0x2000, 0x8FBCF,0x8FFFF,0xB679F,0xB6FBF,0xD335F,0x00000
  /* { "IMG"	, img_attr,	HTML_IMG_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_IMG		0x1000, 0x00000,0x00000,0x3779F,0x37FBF,0x80000,0x00001
@@ -1259,14 +1260,14 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "S"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_S		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000
  /* { "SAMP"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_SAMP		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00000
+#define T_SAMP		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00002,0x00010
  /* { "SCRIPT"	, script_attr,	HTML_SCRIPT_ATTRIBUTES, SGML_LITTERAL }, */
 #define T_SCRIPT	0x2000, 0x00000,0x00000,0x77F9F,0x77FFF,0x87F5F,0x00000
  /* { "SELECT"	, select_attr,	HTML_SELECT_ATTRIBUTES, SGML_MIXED }, */
 #define T_SELECT	0x0040, 0x08000,0x08000,0x03FAF,0x13FBF,0x80F5F,0x00008
 #define T_SHY		0x1000, 0x00000,0x00000,0x3779F,0x77FBF,0x8101F,0x00001
  /* { "SMALL"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_SMALL 	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00004
+#define T_SMALL 	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014
  /* { "SPAN"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_SPAN		0x0002, 0x0B04F,0x0FFFF,0x2778F,0x77FBF,0x80003,0x00000
  /* { "SPOT"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_EMPTY }, */
@@ -1274,7 +1275,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "STRIKE"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_STRIKE	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000
  /* { "STRONG"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_STRONG	0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00000
+#define T_STRONG	0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FAF,0x00003,0x00010
  /* { "STYLE"	, style_attr,	HTML_STYLE_ATTRIBUTES,	SGML_LITTERAL }, */
 #define T_STYLE 	0x40000,0x00000,0x00000,0x7638F,0x76FAF,0x8001F,0x00000
  /* { "SUB"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
@@ -1304,9 +1305,9 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "TR"	, tr_attr,	HTML_TR_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_TR		0x0020, 0x00400,0x8FFFF,0x00820,0xB7FB7,0x8C75F,0x00001
  /* { "TT"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_TT		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00000
+#define T_TT		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00010
  /* { "U"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_U		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00004
+#define T_U		0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014
  /* { "UL"	, ulist_attr,	HTML_UL_ATTRIBUTES,	SGML_MIXED }, */
 #define T_UL		0x0800, 0x0C480,0x8FFFF,0x36680,0xB7FFF,0x8075F,0x00000
  /* { "VAR"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
diff --git a/WWW/Library/Implementation/HTMLDTD.h b/WWW/Library/Implementation/HTMLDTD.h
index a112b7e5..f9e157ac 100644
--- a/WWW/Library/Implementation/HTMLDTD.h
+++ b/WWW/Library/Implementation/HTMLDTD.h
@@ -871,10 +871,11 @@ Attribute numbers
 #define HTML_TABLE_NOWRAP      14
 #define HTML_TABLE_RULES       15
 #define HTML_TABLE_STYLE       16
-#define HTML_TABLE_TITLE       17
-#define HTML_TABLE_UNITS       18
-#define HTML_TABLE_WIDTH       19
-#define HTML_TABLE_ATTRIBUTES  20
+#define HTML_TABLE_SUMMARY     17
+#define HTML_TABLE_TITLE       18
+#define HTML_TABLE_UNITS       19
+#define HTML_TABLE_WIDTH       20
+#define HTML_TABLE_ATTRIBUTES  21
 
 #define HTML_TD_ALIGN           0
 #define HTML_TD_AXES            1
diff --git a/WWW/Library/Implementation/HTString.c b/WWW/Library/Implementation/HTString.c
index e2451c83..36d0ec64 100644
--- a/WWW/Library/Implementation/HTString.c
+++ b/WWW/Library/Implementation/HTString.c
@@ -695,7 +695,7 @@ PRIVATE CONST char *HTAfterCommandArg ARGS2(
  * quote it properly).  We're given the index of the newest parameter we're
  * processing.  Zero indicates none, so a value of '1' indicates that we copy
  * from the beginning of the command string up to the first parameter,
- * substitute the quoted parameter and return the resul.
+ * substitute the quoted parameter and return the result.
  *
  * Parameters are substituted at "%s" tokens, like printf.  Other printf-style
  * tokens are not substituted; they are passed through without change.
diff --git a/WWW/Library/Implementation/HTString.h b/WWW/Library/Implementation/HTString.h
index 26c1fec2..5c093599 100644
--- a/WWW/Library/Implementation/HTString.h
+++ b/WWW/Library/Implementation/HTString.h
@@ -79,4 +79,7 @@ extern int HTCountCommandArgs PARAMS((CONST char * command));
 extern void HTAddParam PARAMS((char ** result, CONST char * command, int number, CONST char * parameter));
 extern void HTEndParam PARAMS((char ** result, CONST char * command, int number));
 
+/* Force an option, with leading blanks, to be appended without quoting them */
+#define HTOptParam(result, command, number, parameter) HTSACat(result, parameter)
+
 #endif /* HTSTRING_H */
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 8ae0e0c3..42821b4e 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -1102,6 +1102,18 @@ PUBLIC int HTDoRead ARGS3(
     int nb;
 #endif /* UCX, BSN */
 
+#ifdef UNIX
+    if (fildes == 0) {
+	/*
+	 *  0 can be a valid socket fd, but if it's a tty something must
+	 *  have gone wrong. - kw
+	 */
+	if (isatty(fildes)) {
+	    CTRACE(tfp, "HTDoRead - refusing to read fd 0 which is a tty!\n");
+	    return -1;
+	}
+    } else
+#endif
     if (fildes <= 0)
 	return -1;
 
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index f6e87fb7..dd93e142 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -16,7 +16,7 @@
 #define HTTPS_PORT  443
 #define SNEWS_PORT  563
 
-#define INIT_LINE_SIZE		1024	/* Start with line buffer this big */
+#define INIT_LINE_SIZE		1536	/* Start with line buffer this big */
 #define LINE_EXTEND_THRESH	256	/* Minimum read size */
 #define VERSION_LENGTH		20	/* for returned protocol version */
 
@@ -440,6 +440,7 @@ try_again:
 		    FREE(command);
 		    FREE(hostname);
 		    FREE(docname);
+		    FREE(abspath);
 		    FREE(host2);
 		    FREE(path2);
 		    status = HT_NOT_LOADED;
diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c
index dd8a7b35..2b9039ab 100644
--- a/WWW/Library/Implementation/HTTelnet.c
+++ b/WWW/Library/Implementation/HTTelnet.c
@@ -50,7 +50,7 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 	char * cp;
 	char * hostname;
 	char * port;
-	char * command;
+	char * command = NULL;
 	enum _login_protocol { telnet, rlogin, tn3270 } login_protocol =
 		strcmp(acc_method, "rlogin") == 0 ? rlogin :
 		strcmp(acc_method, "tn3270") == 0 ? tn3270 : telnet;
@@ -140,7 +140,7 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 #define FMT_TELNET "%s%s%s %s %s"
 
 	HTAddParam(&command, FMT_TELNET, 1, TELNET_COMMAND);
-	HTAddParam(&command, FMT_TELNET, 2, user ? " -l " : "");
+	HTOptParam(&command, FMT_TELNET, 2, user ? " -l " : "");
 	HTAddParam(&command, FMT_TELNET, 3, user);
 	HTAddParam(&command, FMT_TELNET, 4, hostname);
 	HTAddParam(&command, FMT_TELNET, 5, port);
@@ -163,7 +163,7 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 
 	    HTAddParam(&command, FMT_RLOGIN, 1, RLOGIN_COMMAND);
 	    HTAddParam(&command, FMT_RLOGIN, 2, hostname);
-	    HTAddParam(&command, FMT_RLOGIN, 3, user ? " -l " : "");
+	    HTOptParam(&command, FMT_RLOGIN, 3, user ? " -l " : "");
 	    HTAddParam(&command, FMT_RLOGIN, 4, user);
 	    HTEndParam(&command, FMT_RLOGIN, 4);
 
diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h
index 2706b0e5..63843de3 100644
--- a/WWW/Library/Implementation/HTUtils.h
+++ b/WWW/Library/Implementation/HTUtils.h
@@ -19,6 +19,10 @@
 
 #else
 
+#ifdef DJGPP
+#include <sys/config.h>	/* pseudo-autoconf values for DJGPP libc/headers */
+#endif /* DJGPP */
+
 #include <stdio.h>
 
 #define DONT_TRACK_INTERNAL_LINKS 1
@@ -34,6 +38,7 @@
 
 #if defined(__STDC__) || defined(VMS)
 #define ANSI_VARARGS 1
+#undef HAVE_STDARG_H
 #define HAVE_STDARG_H 1
 #endif
 
@@ -75,6 +80,7 @@
 #endif
 
 #ifndef NO_UNISTD_H
+#undef  HAVE_UNISTD_H
 #define HAVE_UNISTD_H 1
 #endif
 
diff --git a/WWW/Library/Implementation/SGML.h b/WWW/Library/Implementation/SGML.h
index f4643ad2..860151d5 100644
--- a/WWW/Library/Implementation/SGML.h
+++ b/WWW/Library/Implementation/SGML.h
@@ -90,6 +90,8 @@ typedef int TagFlags;
 				      (if found invalid) */
 #define Tgf_strict	0x00008	/* Ignore contained invalid elements,
 				      don't pass them on */
+#define Tgf_nreie	0x00010	/* Not Really Empty If Empty,
+				      used by color style code */
 
 /*              A tag structure describes an SGML element.
 **              -----------------------------------------
diff --git a/WWW/Library/Implementation/tcp.h b/WWW/Library/Implementation/tcp.h
index 54cb8b89..b4525416 100644
--- a/WWW/Library/Implementation/tcp.h
+++ b/WWW/Library/Implementation/tcp.h
@@ -59,6 +59,7 @@ typedef struct sockaddr_in SockA;  /* See netinet/in.h */
 #include <sys/types.h>
 
 #if defined(__DJGPP__) || defined(__BORLANDC__)
+#undef HAVE_DIRENT_H
 #define HAVE_DIRENT_H
 #undef HAVE_SYS_FILIO_H
 #endif /* DJGPP or __BORLANDC__ */
diff --git a/WWW/Library/djgpp/makefile b/WWW/Library/djgpp/makefile
index 71408d21..b89f9295 100644
--- a/WWW/Library/djgpp/makefile
+++ b/WWW/Library/djgpp/makefile
@@ -11,6 +11,7 @@ CFLAGS = -O3 -DUSE_ZLIB -DDOSPATH -DNOUSERS -DDEBUG -DDISP_PARTIAL \
 -I../Implementation \
 -I../../../djgpp/tcplib/include \
 -I../../../djgpp/tcplib/include/tcp \
+-I../../../curses \
 -I../../../src \
 -I../../..
 LFLAGS =
diff --git a/WWW/Library/unix/makefile.in b/WWW/Library/unix/makefile.in
index abe5d105..9d9b64bd 100644
--- a/WWW/Library/unix/makefile.in
+++ b/WWW/Library/unix/makefile.in
@@ -34,6 +34,7 @@ CPPOPTS		= $(DEFS) $(CPPFLAGS) $(LYFLAGS) \
 		-I$(top_srcdir)/WWW/Library/Implementation
 LY_CFLAGS	= @CFLAGS@
 CFLAGS		= $(CPPOPTS) $(LY_CFLAGS)
+LINT		= @LINT@
 
 # Directory for installed binary:
 BINDIR		= @bindir@
@@ -57,6 +58,9 @@ RANLIB	= @RANLIB@
 
 all : $(LOB)/libwww.a
 
+lint:
+	$(LINT) $(LINTOPTS) $(CPPOPTS) $(srcdir)/../Implementation/*.c  > ../../../lint.libwww
+
 .SUFFIXES: .i .h .html
 
 .c.o: