summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorhubertf <hubertf>2000-01-15 17:44:20 +0000
committerhubertf <hubertf>2000-01-15 17:44:20 +0000
commit60ce538b4e9bd0ea4ed25a3107c3883a7d254d00 (patch)
treed75559f1b71efa57f22e3200b37379024b37ffb6 /www
parentf86eddd94d8afdcc96cf861c41a717193cf0d417 (diff)
downloadpkgsrc-60ce538b4e9bd0ea4ed25a3107c3883a7d254d00.tar.gz
next part of IPv6ification of lynx (KAME patch)
Diffstat (limited to 'www')
-rw-r--r--www/lynx/patches.v6/patch-aa389
-rw-r--r--www/lynx/patches.v6/patch-ab211
-rw-r--r--www/lynx/patches.v6/patch-ac130
-rw-r--r--www/lynx/patches.v6/patch-ad646
-rw-r--r--www/lynx/patches.v6/patch-ae152
-rw-r--r--www/lynx/patches.v6/patch-af218
-rw-r--r--www/lynx/patches.v6/patch-ag114
-rw-r--r--www/lynx/patches.v6/patch-ah214
-rw-r--r--www/lynx/patches.v6/patch-ai71
-rw-r--r--www/lynx/patches.v6/patch-aj284
-rw-r--r--www/lynx/patches.v6/patch-ak164
-rw-r--r--www/lynx/patches.v6/patch-al120
-rw-r--r--www/lynx/patches.v6/patch-am303
-rw-r--r--www/lynx/patches.v6/patch-an134
-rw-r--r--www/lynx/patches.v6/patch-ao713
-rw-r--r--www/lynx/patches.v6/patch-ap31
-rw-r--r--www/lynx/patches.v6/patch-aq191
-rw-r--r--www/lynx/patches.v6/patch-ar36
-rw-r--r--www/lynx/patches.v6/patch-as1100
-rw-r--r--www/lynx/patches.v6/patch-at19
-rw-r--r--www/lynx/patches.v6/patch-au76
-rw-r--r--www/lynx/patches.v6/patch-av17
-rw-r--r--www/lynx/patches.v6/patch-aw5045
-rw-r--r--www/lynx/patches.v6/patch-ax20
-rw-r--r--www/lynx/patches.v6/patch-ay30
-rw-r--r--www/lynx/patches.v6/patch-az13
26 files changed, 10441 insertions, 0 deletions
diff --git a/www/lynx/patches.v6/patch-aa b/www/lynx/patches.v6/patch-aa
new file mode 100644
index 00000000000..1b184edf76b
--- /dev/null
+++ b/www/lynx/patches.v6/patch-aa
@@ -0,0 +1,389 @@
+$NetBSD: patch-aa,v 1.1 2000/01/15 17:44:20 hubertf Exp $
+
+diff -x *.orig -urN ./WWW/Library/Implementation/CommonMakefile /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/CommonMakefile
+--- ./WWW/Library/Implementation/CommonMakefile Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/CommonMakefile Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,383 @@
++# Common Makefile for W3 Library Code
++# -----------------------------------
++#
++# (c) CERN 1990, 1991 -- see Copyright.html for conditions
++#
++# This file should be invariant between systems.
++# DEPENDENCIES NOT COMPLETE @@
++#
++# make Compile and link the software (private version)
++# make install Copy it into the system (implies make)
++# make update Copy installed version into installed version
++# make uninstall Unlink installed version from the system
++# make clean Remove intermediate files
++# make cleanall Remove intremediate files and products
++#
++# Macros required to be defined already for make:
++#
++# CC The C compiler
++# CFLAGS Flags for $(CC) -- except the -I which are below
++# LFLAGS Flags for ld
++# LYFLAGS Flags for Lynx
++#
++# WWW The WWW source tree directory
++#
++# Macros needed for make install:
++#
++# LIBDIR Directory for installed library
++#______________________________________________________________________
++
++# If this env var is set to something else Some makes will use that instead
++SHELL = /bin/sh
++
++RANLIB = ranlib
++
++# .h files are distributed but originally are made from the
++# self-documenting hypertext files.
++
++.SUFFIXES: .h .html
++.html.h:
++# - chmod +w $*.h
++ www -w90 -na -to text/x-c $*.html > $*.h
++# chmod -w $*.h
++
++# If this is actually run in a subdirectory,
++#
++# WWW = ../../..
++# WWW = ../.. For [cernlib] build in this directory
++
++WC = $(WWW)/Library
++CMN = $(WWW)/Library/Implementation/
++VMS = $(CMN)vms
++# Where shall we put the objects and built library?
++
++LOB = $(WTMP)/Library/$(WWW_MACH)
++
++# Only needed if HTWAIS.c is to be compiled. Put into your Makefile.include
++# uncomment these and fill in WAISINC for adding direct wais access
++# to Lynx.
++#HTWAIS_c = $(CMN)/HTWAIS.c
++#HTWAIS_o = $(LOB)/HTWAIS.o
++#WAIS = YES
++#WAISINC = -I../../../../freeWAIS-0.202/ir
++#WAISCFLAGS = -DDIRECT_WAIS
++#
++
++# XMOsAIC hack is only for server to cope with xmosaic kludge for mmedia
++#
++# add -DNEW_GATEWAY here for the new gateway config stuff
++CFLAGS2 = $(CFLAGS) $(LYFLAGS) $(WAISCFLAGS) -I$(CMN) -DXMOSAIC_HACK -DACCESS_AUTH
++
++COMPILE = $(ECHO) $(CC) $(CFLAGS2) -c
++
++CERNLIBBIN = $(WWW)/bin
++
++COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
++ $(LOB)/HTFile.o $(LOB)/HTBTree.o $(LOB)/HTFTP.o $(LOB)/HTTCP.o \
++ $(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
++ $(LOB)/HTPlain.o $(LOB)/HTWriter.o \
++ $(LOB)/HTMLGen.o \
++ $(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
++ $(LOB)/HTList.o $(LOB)/HTString.o \
++ $(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTMIME.o \
++ $(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
++ $(LOB)/HTTelnet.o $(LOB)/HTFinger.o $(LOB)/HTWSRC.o $(HTWAIS_o) \
++ $(LOB)/HTAAUtil.o $(LOB)/HTAAServ.o $(LOB)/HTAABrow.o \
++ $(LOB)/HTAAFile.o $(LOB)/HTPasswd.o $(LOB)/HTGroup.o \
++ $(LOB)/HTACL.o $(LOB)/HTAuth.o $(LOB)/HTAAProt.o \
++ $(LOB)/HTAssoc.o $(LOB)/HTLex.o $(LOB)/HTUU.o \
++ $(LOB)/HTDOS.o
++
++CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
++ $(CMN)HTBTree.c \
++ $(CMN)HTFTP.c $(CMN)HTTCP.c $(CMN)SGML.c \
++ $(CMN)HTMLDTD.c \
++ $(CMN)HTPlain.c $(CMN)HTWriter.c \
++ $(CMN)HTMLGen.c \
++ $(CMN)HTChunk.c $(CMN)HTAtom.c $(CMN)HTAnchor.c $(CMN)HTStyle.c \
++ $(CMN)HTList.c $(CMN)HTString.c $(CMN)HTRules.c \
++ $(CMN)HTFormat.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
++ $(CMN)HTNews.c $(CMN)HTGopher.c $(CMN)HTTelnet.c \
++ $(CMN)HTFinger.c $(HTWAIS_c) $(CMN)HTWSRC.c \
++ $(CMN)HTAAUtil.c $(CMN)HTAAServ.c $(CMN)HTAABrow.c \
++ $(CMN)HTAAFile.c $(CMN)HTPasswd.c $(CMN)HTGroup.c \
++ $(CMN)HTACL.c $(CMN)HTAuth.c $(CMN)HTAAProt.c \
++ $(CMN)HTAssoc.c $(CMN)HTLex.c $(CMN)HTUU.c
++
++HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
++ $(CMN)HTBTree.h $(CMN)HTFTP.h $(CMN)HTTCP.h \
++ $(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
++ $(CMN)HTPlain.h $(CMN)HTWriter.h \
++ $(CMN)HTFWriter.h $(CMN)HTMLGen.h \
++ $(CMN)HTStream.h \
++ $(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
++ $(CMN)HTList.h \
++ $(CMN)HTString.h $(CMN)HTRules.h \
++ $(CMN)HTFormat.h $(CMN)HTInit.h \
++ $(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
++ $(CMN)HTGopher.h \
++ $(CMN)HTUtils.h $(CMN)tcp.h $(CMN)HText.h \
++ $(CMN)HTTelnet.h $(CMN)HTFinger.h \
++ $(CMN)HTWAIS.h $(CMN)HTWSRC.h \
++ $(CMN)HTAAUtil.h $(CMN)HTAAServ.h $(CMN)HTAABrow.h \
++ $(CMN)HTAAFile.h $(CMN)HTPasswd.h $(CMN)HTGroup.h \
++ $(CMN)HTACL.h $(CMN)HTAuth.h $(CMN)HTAAProt.h \
++ $(CMN)HTAssoc.h $(CMN)HTLex.h $(CMN)HTUU.h
++
++SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make \
++ $(CMN)CommonMakefile $(CMN)Makefile \
++ $(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD $(WWW)/Makefile
++SPECIFIC = $(WWW)/All/*/Makefile.include $(WWW)/All/Implementation/Makefile* \
++ $(VMS)/descrip.mms $(VMS)/build_multinet.com \
++ $(VMS)/COPYING.LIB $(VMS)/setup.com $(VMS)/multinet.opt \
++ $(VMS)/patchlevel.h $(VMS)/ufc-crypt.h \
++ $(VMS)/crypt.c $(VMS)/crypt_util.c \
++ $(VMS)/getline.c $(VMS)/getpass.c \
++ $(VMS)/HTVMSUtils.h $(VMS)/HTVMSUtils.c
++
++
++# Library
++#
++# On SGI, ranlib is unnecessary and does not exist so we ignore errors
++# for that step
++$(LOB)/libwww.a : $(COMMON)
++ ar r $(LOB)/libwww.a $(COMMON)
++ -$(RANLIB) $(LOB)/libwww.a
++
++# Clean up everything generatable except final products
++clean :
++ rm $(LOB)/*.o $(LOB)/.created
++ -rmdir $(LOB)
++
++# Clean up everything generatable including final products
++
++cleanall : clean
++ rm $(LOB)/libwww.a
++
++# Install W3 library into system space (not normally necessary)
++
++install : libwww.a
++ if [ ! -r $(LIBDIR) ] mkdir $(LIBDIR)
++ cp libwww.a $(LIBDIR)/libwww.a
++
++uninstall :
++ rm $(LIBDIR)/libwww.a
++
++# Distribution use only:
++# ----------------------
++
++# Needs www version 2.4 or later to do this
++inc : $(HFILES)
++ echo Include files generated from hypertext.
++
++binary : /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
++ echo FTP archive binary Libray $(VC) for $(WWW_MACH) up to date.
++
++
++/pub/www/bin/$(WWW_MACH)/libwww_$(VC).a : libwww.a
++ -mkdir /pub/www/bin/$(WWW_MACH)
++ cp libwww.a /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
++
++# Source Distribution:
++
++distribute : /pub/www/README.txt /pub/www/Copyright.txt
++ (cd $(WWW)/..; WWW=WWW ABS=`pwd`/ make $(MFLAGS) \
++ -f WWW/Library/Implementation/CommonMakefile \
++ /pub/www/src/WWWLibrary_$(VC).tar.Z)
++ (cd ../Implementation; cvs tag \
++ `sed -e 's/VC = /v/' Version.make | sed -e 's?\.?/?'` )
++ echo Distribution of Library version $(VC) up to date.
++
++/pub/www/src/WWWLibrary_$(VC).tar.Z : $(SOURCES)
++ tar cf /pub/www/src/WWWLibrary_$(VC).tar \
++ $(SOURCES) $(SPECIFIC) $(WC)/*/Makefile
++ compress /pub/www/src/WWWLibrary_$(VC).tar
++
++
++# Hypertext supplied in text format
++# ---------------------------------
++
++$(WWW)/README.txt : $(WWW)/../README.html
++ www -n -p66 http://www.w3.org/hypertext/README.html \
++ > $(WWW)/README.txt
++/pub/www/README.txt : $(WWW)/README.txt
++ cp $(WWW)/README.txt /pub/www/README.txt
++
++$(WWW)/Copyright.txt : $(WWW)/../Copyright.html
++ www -n -p66 http://www.w3.org/hypertext/Copyright.html \
++ > $(WWW)/Copyright.txt
++/pub/www/Copyright.txt : $(WWW)/Copyright.txt
++ cp $(WWW)/Copyright.txt /pub/www/Copyright.txt
++
++# Common code
++# -----------
++
++# Directory for object files - .created checks it exists
++
++OE = $(LOB)/.created
++$(OE) :
++ if [ ! -r $(WTMP) ] ; then mkdir $(WTMP); else echo OK ; fi
++ if [ ! -r $(WTMP)/Library ] ; then mkdir $(WTMP)/Library; else echo OK ; fi
++ if [ ! -r $(WTMP)/Library/$(WWW_MACH) ] ; \
++ then mkdir $(WTMP)/Library/$(WWW_MACH); else echo OK ; fi
++ touch $@
++
++$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTList.c
++
++$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTAnchor.c
++
++$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTFormat.c
++
++$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTMIME.c
++
++$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTHistory.c
++
++$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h\
++ $(CMN)HTMLDTD.h
++ $(COMPILE) $(CMN)HTNews.c
++
++$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h \
++ $(CMN)HTMLDTD.h
++ $(COMPILE) $(CMN)HTGopher.c
++
++$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h $(CMN)../../../userdefs.h
++ $(COMPILE) $(CMN)HTTelnet.c
++
++$(LOB)/HTFinger.o : $(OE) $(CMN)HTFinger.c $(CMN)HTUtils.h $(CMN)HTList.h \
++ $(CMN)HTMLDTD.h
++ $(COMPILE) $(CMN)HTFinger.c
++
++$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTStyle.c
++
++$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTAtom.c
++
++$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTChunk.c
++
++$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
++ $(COMPILE) -DVC=\"$(VC)\" $(CMN)HTString.c
++
++$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make \
++ $(CMN)HTAAServ.h $(CMN)HTAAProt.h
++ $(COMPILE) -DVC=\"$(VC)\" $(CMN)HTRules.c
++
++$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h $(CMN)UCAux.h
++ $(COMPILE) $(CMN)SGML.c
++
++$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
++ $(COMPILE) $(CMN)HTMLGen.c
++
++$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
++ $(COMPILE) $(CMN)HTMLDTD.c
++
++$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h \
++ $(CMN)UCAux.h
++ $(COMPILE) $(CMN)HTPlain.c
++
++$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(WAISINC) $(CMN)HTWAIS.c
++
++$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTWSRC.c
++
++$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
++ $(COMPILE) $(CMN)HTWriter.c
++
++
++# Access Authorization
++
++$(LOB)/HTAAUtil.o : $(OE) $(CMN)HTAAUtil.c $(CMN)HTAAUtil.h \
++ $(CMN)HTUtils.h $(CMN)HTString.h
++ $(COMPILE) $(CMN)HTAAUtil.c
++
++$(LOB)/HTAAFile.o : $(OE) $(CMN)HTAAFile.c $(CMN)HTAAFile.h \
++ $(CMN)HTAAUtil.h $(CMN)HTUtils.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTAAFile.c
++
++$(LOB)/HTPasswd.o : $(OE) $(CMN)HTPasswd.c $(CMN)HTPasswd.h \
++ $(CMN)HTAAUtil.h $(CMN)HTAAFile.h
++ $(COMPILE) $(CMN)HTPasswd.c
++
++$(LOB)/HTGroup.o : $(OE) $(CMN)HTGroup.c $(CMN)HTGroup.h \
++ $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
++ $(CMN)HTAssoc.h $(CMN)HTLex.h
++ $(COMPILE) $(CMN)HTGroup.c
++
++$(LOB)/HTACL.o : $(OE) $(CMN)HTACL.c $(CMN)HTACL.h \
++ $(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTGroup.h \
++ $(CMN)HTAssoc.h
++ $(COMPILE) $(CMN)HTACL.c
++
++$(LOB)/HTAuth.o : $(OE) $(CMN)HTAuth.c $(CMN)HTAuth.h \
++ $(CMN)HTAAUtil.h $(CMN)HTPasswd.h $(CMN)HTAAFile.h \
++ $(CMN)HTAssoc.h
++ $(COMPILE) $(CMN)HTAuth.c
++
++$(LOB)/HTAAServ.o : $(OE) $(CMN)HTAAServ.c $(CMN)HTAAServ.h \
++ $(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTPasswd.h \
++ $(CMN)HTGroup.h $(CMN)HTACL.h $(CMN)HTAuth.h \
++ $(CMN)HTUU.h $(CMN)HTParse.h $(CMN)HTList.h \
++ $(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTRules.h \
++ $(CMN)HTAAProt.h $(CMN)HTAssoc.h $(CMN)HTLex.h
++ $(COMPILE) $(CMN)HTAAServ.c
++
++$(LOB)/HTAABrow.o : $(OE) $(CMN)HTAABrow.c $(CMN)HTAABrow.h \
++ $(CMN)HTAAUtil.h $(CMN)HTUU.h \
++ $(CMN)HTUtils.h $(CMN)HTString.h \
++ $(CMN)HTParse.h $(CMN)HTList.h \
++ $(CMN)HTAssoc.h
++ $(COMPILE) $(CMN)HTAABrow.c
++
++$(LOB)/HTAAProt.o : $(OE) $(CMN)HTAAProt.c $(CMN)HTAAProt.h \
++ $(CMN)HTUtils.h $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
++ $(CMN)HTAssoc.h $(CMN)HTLex.h
++ $(COMPILE) $(CMN)HTAAProt.c
++
++$(LOB)/HTAssoc.o : $(OE) $(CMN)HTAssoc.c $(CMN)HTAssoc.h \
++ $(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTList.h
++ $(COMPILE) $(CMN)HTAssoc.c
++
++$(LOB)/HTLex.o : $(OE) $(CMN)HTLex.c $(CMN)HTLex.h $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTLex.c
++
++$(LOB)/HTUU.o : $(OE) $(CMN)HTUU.c $(CMN)HTUU.h $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTUU.c
++
++
++# Communications & Files
++
++$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h $(CMN)HTAABrow.h
++ $(COMPILE) $(CMN)HTTP.c
++
++$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTTCP.c
++
++$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h \
++ $(CMN)HTMLDTD.h $(CMN)HTAAServ.h
++ $(COMPILE) $(CMN)HTFile.c
++
++$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTBTree.c
++
++$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTFTP.c
++
++$(LOB)/HTAccess.o : $(OE) $(CMN)HTAccess.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTAccess.c
++
++$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTParse.c
++
++$(LOB)/HTVMS_WaisUI.o : $(OE) $(CMN)HTVMS_WaisUI.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTVMS_WaisUI.c
++
++$(LOB)/HTDOS.o : $(OE) $(CMN)HTDOS.c $(CMN)HTUtils.h
++ $(COMPILE) $(CMN)HTDOS.c
++
diff --git a/www/lynx/patches.v6/patch-ab b/www/lynx/patches.v6/patch-ab
new file mode 100644
index 00000000000..4ce157884a9
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ab
@@ -0,0 +1,211 @@
+$NetBSD: patch-ab,v 1.1 2000/01/15 17:44:20 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAAFile.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.c
+--- ./WWW/Library/Implementation/HTAAFile.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.c Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,203 @@
++/* MODULE HTAAFile.c
++** FILE ROUTINES FOR AUTHENTICATION
++** (PASSWD AND GROUP FILES) AND
++** ACCESS CONTROL LIST (.www_acl)
++** AUTHORS:
++** AL Ari Luotonen luotonen@dxcern.cern.ch
++**
++** HISTORY:
++**
++**
++** BUGS:
++**
++**
++*/
++
++#include <HTUtils.h>
++
++#include <HTAAUtil.h> /* Common utilities used in AA */
++#include <HTAAFile.h> /* Implemented here */
++
++#include <LYLeaks.h>
++
++#define SPACE ' '
++#define TAB '\t'
++
++
++
++/* PUBLIC HTAAFile_nextRec()
++** GO TO THE BEGINNING OF THE NEXT RECORD
++** ON ENTRY:
++** fp is the file from which records are read from.
++**
++** ON EXIT:
++** returns nothing. File read pointer is located at the beginning
++** of the next record. Handles continuation lines
++** (lines ending in comma indicate a following
++** continuation line).
++**
++*/
++PUBLIC void HTAAFile_nextRec ARGS1(FILE *, fp)
++{
++ int ch = getc(fp);
++ int last = (char)0;
++
++ do {
++ while (ch != EOF && ch != CR && ch != LF) {
++ if (ch != ' ' && ch != '\t')
++ last = ch; /* Last non-whitespace */
++ ch = getc(fp); /* Skip until end-of-line */
++ }
++ while (ch != EOF &&
++ (ch == CR || ch == LF))/*Skip carriage returns and linefeeds*/
++ ch = getc(fp);
++ if (ch != EOF)
++ ungetc(ch, fp);
++ } while (last == ',' && ch != EOF); /* Skip also continuation lines */
++}
++
++
++/* PRIVATE read_item()
++** READ AN ITEM FROM A PASSWORD, GROUP
++** OR ACCESS CONTROL LIST FILE
++** i.e. either a field, or a list item.
++** ON ENTRY:
++** fp is the file to read the characters from
++** contents is the character array to put the characters
++** reading_list if TRUE, read a list item (ends either in
++** acomma or acolon),
++** if FALSE, read a field (ends in acolon).
++** max_len is the maximum number of characters that may
++** be read (i.e. the size of dest minus one for
++** terminating null).
++** ON EXIT:
++** returns the terminating character
++** (i.e. either separator or CR or LF or EOF).
++** contents contains a null-terminated string representing
++** the read field.
++** NOTE 1:
++** Ignores leading and trailing blanks and tabs.
++** NOTE 2:
++** If the item is more than max_len characters
++** long, the rest of the characters in that item
++** are ignored. However, contents is always
++** null-terminated!
++*/
++PRIVATE int read_item ARGS4(FILE *, fp,
++ char *, contents,
++ BOOL, reading_list,
++ int, max_len)
++{
++ char * dest = contents;
++ char * end = contents;
++ int cnt = 0;
++ int ch = getc(fp);
++
++ while (SPACE == ch || TAB == ch) /* Skip spaces and tabs */
++ ch = getc(fp);
++
++ while (ch != FIELD_SEPARATOR &&
++ (!reading_list || ch != LIST_SEPARATOR) &&
++ ch != CR && ch != LF && ch != EOF && cnt < max_len) {
++ *(dest++) = ch;
++ cnt++;
++ if (ch != SPACE && ch != TAB)
++ end = dest;
++ ch = getc(fp);
++ } /* while not eol or eof or too many read */
++
++ if (cnt == max_len) {
++ /* If the field was too long (or exactly maximum) ignore the rest */
++ while (ch != FIELD_SEPARATOR &&
++ (!reading_list || ch != LIST_SEPARATOR) &&
++ ch != CR && ch != LF && ch != EOF)
++ ch = getc(fp);
++ }
++
++ if (ch == CR || ch == LF)
++ ungetc(ch, fp); /* Push back the record separator (NL or LF) */
++
++ /* Terminate the string, truncating trailing whitespace off.
++ ** Otherwise (if whitespace would be included), here would
++ ** be *dest='\0'; and cnt -= ... would be left out.
++ */
++ *end = '\0';
++ cnt -= dest-end;
++
++ return ch; /* Return the terminating character */
++}
++
++
++
++/* PUBLIC HTAAFile_readField()
++** READ A FIELD FROM A PASSWORD, GROUP
++** OR ACCESS CONTROL LIST FILE
++** i.e. an item terminated by colon,
++** end-of-line, or end-of-file.
++** ON ENTRY:
++** fp is the file to read the characters from
++** contents is the character array to put the characters
++** max_len is the maximum number of characters that may
++** be read (i.e. the size of dest minus one for
++** terminating null).
++** ON EXIT:
++** returns the terminating character
++** (i.e. either separator or CR or LF or EOF).
++** contents contains a null-terminated string representing
++** the read field.
++** NOTE 1:
++** Ignores leading and trailing blanks and tabs.
++** NOTE 2:
++** If the field is more than max_len characters
++** long, the rest of the characters in that item
++** are ignored. However, contents is always
++** null-terminated!
++*/
++PUBLIC int HTAAFile_readField ARGS3(FILE *, fp,
++ char *, contents,
++ int, max_len)
++{
++ return read_item(fp, contents, NO, max_len);
++}
++
++
++
++
++/* PUBLIC HTAAFile_readList()
++**
++** READ A LIST OF STRINGS SEPARATED BY COMMAS
++** (FROM A GROUP OR ACCESS CONTROL LIST FILE)
++** ON ENTRY:
++** fp is a pointer to the input file.
++** result is the list to which append the read items.
++** max_len is the maximum number of characters in each
++** list entry (extra characters are ignored).
++** ON EXIT:
++** returns the number of items read.
++**
++*/
++PUBLIC int HTAAFile_readList ARGS3(FILE *, fp,
++ HTList *, result,
++ int, max_len)
++{
++ char *item = NULL;
++ int terminator;
++ int cnt = 0;
++
++ do {
++ if (!item && !(item = (char*)malloc(max_len+1)))
++ outofmem(__FILE__, "HTAAFile_readList");
++ terminator = read_item(fp, item, YES, max_len);
++ if (strlen(item) > 0) {
++ cnt++;
++ HTList_addObject(result, (void*)item);
++ item = NULL;
++ }
++ } while (terminator != FIELD_SEPARATOR &&
++ terminator != CR && terminator != LF &&
++ terminator != EOF);
++
++ FREE(item); /* This was not needed */
++ return cnt;
++}
++
diff --git a/www/lynx/patches.v6/patch-ac b/www/lynx/patches.v6/patch-ac
new file mode 100644
index 00000000000..7962d397207
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ac
@@ -0,0 +1,130 @@
+$NetBSD: patch-ac,v 1.1 2000/01/15 17:44:21 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAAFile.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.h
+--- ./WWW/Library/Implementation/HTAAFile.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAFile.h Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,122 @@
++/* FILE ROUTINES FOR ACCESS AUTHORIZATION PACKAGE
++
++ This module implements the routines used for accessing (and parsing) the files used in
++ the access authorization:
++
++ password file
++
++ group file
++
++ access control list (ACL) file
++
++ */
++
++
++#ifndef HTAAFILE_H
++#define HTAAFILE_H
++
++#include <HTList.h> /* HTList */
++
++#ifdef SHORT_NAMES
++#define HTAAFnRe HTAAFile_nextRec
++#define HTAAFrFi HTAAFile_readField
++#define HTAAFrLi HTAAFile_readList
++#endif /*SHORT_NAMES*/
++
++
++/* Used field separators */
++
++#define FIELD_SEPARATOR ':' /* Used to separate fields */
++#define LIST_SEPARATOR ',' /* Used to separate items in a list */
++ /* in group and ALC files. */
++
++/*
++
++Naming conventions
++
++ Record is an entire line in file.
++
++ Field is an entity separated by colons and/or by end-of-line.
++
++ List is a field in which there are items separated by commas.
++
++Record-oriented Read Routines
++
++ Password, group and ACL are internally read in by the following functions:
++
++ HTAAFile_nextRec() skips to the beginning of the next record (must be called even
++ after the last field of a record is read to proceed to the next
++ record).
++
++ HTAAFile_readField() reads a field (separated by colons).
++
++ HTAAFile_readList() reads a field containing a comma-separated list of items.
++
++ */
++
++/* PUBLIC HTAAFile_nextRec()
++** GO TO THE BEGINNING OF THE NEXT RECORD
++** ON ENTRY:
++** fp is the file from which records are read from.
++**
++** ON EXIT:
++** returns nothing. File read pointer is located at the beginning
++** of the next record.
++**
++*/
++PUBLIC void HTAAFile_nextRec PARAMS((FILE * fp));
++
++
++/* PUBLIC HTAAFile_readField()
++** READ A FIELD FROM A PASSWORD, GROUP
++** OR ACCESS CONTROL LIST FILE
++** i.e. an item terminated by colon,
++** end-of-line, or end-of-file.
++** ON ENTRY:
++** fp is the file to read the characters from
++** contents is the character array to put the characters
++** max_len is the maximum number of characters that may
++** be read (i.e. the size of dest minus one for
++** terminating null).
++** ON EXIT:
++** returns the terminating character
++** (i.e. either separator or CR or LF or EOF).
++** contents contains a null-terminated string representing
++** the read field.
++** NOTE 1:
++** Ignores leading and trailing blanks and tabs.
++** NOTE 2:
++** If the field is more than max_len characters
++** long, the rest of the characters in that item
++** are ignored. However, contents is always
++** null-terminated!
++*/
++PUBLIC int HTAAFile_readField PARAMS((FILE * fp,
++ char * contents,
++ int max_len));
++
++
++/* PUBLIC HTAAFile_readList()
++**
++** READ A LIST OF STRINGS SEPARATED BY COMMAS
++** (FROM A GROUP OR ACCESS CONTROL LIST FILE)
++** ON ENTRY:
++** fp is a pointer to the input file.
++** result is the list to which append the read items.
++** max_len is the maximum number of characters in each
++** list entry (extra characters are ignored).
++** ON EXIT:
++** returns the number of items read.
++**
++*/
++PUBLIC int HTAAFile_readList PARAMS((FILE * fp,
++ HTList * result,
++ int max_len));
++/*
++
++ */
++
++#endif /* not HTAAFILE_H */
++/*
++
++ End of file HTAAFile.h. */
diff --git a/www/lynx/patches.v6/patch-ad b/www/lynx/patches.v6/patch-ad
new file mode 100644
index 00000000000..418ecce598b
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ad
@@ -0,0 +1,646 @@
+$NetBSD: patch-ad,v 1.1 2000/01/15 17:44:21 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAAServ.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAServ.c
+--- ./WWW/Library/Implementation/HTAAServ.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAServ.c Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,638 @@
++
++/* MODULE HTAAServ.c
++** SERVER SIDE ACCESS AUTHORIZATION MODULE
++**
++** Contains the means for checking the user access
++** authorization for a file.
++**
++** IMPORTANT:
++** Routines in this module use dynamic allocation, but free
++** automatically all the memory reserved by them.
++**
++** Therefore the caller never has to (and never should)
++** free() any object returned by these functions.
++**
++** Therefore also all the strings returned by this package
++** are only valid until the next call to the same function
++** is made. This approach is selected, because of the nature
++** of access authorization: no string returned by the package
++** needs to be valid longer than until the next call.
++**
++** This also makes it easy to plug the AA package in:
++** you don't have to ponder whether to free() something
++** here or is it done somewhere else (because it is always
++** done somewhere else).
++**
++** The strings that the package needs to store are copied
++** so the original strings given as parameters to AA
++** functions may be freed or modified with no side effects.
++**
++** The AA package does not free() anything else than what
++** it has itself allocated.
++**
++** AUTHORS:
++** AL Ari Luotonen luotonen@dxcern.cern.ch
++**
++** HISTORY:
++**
++**
++** BUGS:
++**
++**
++*/
++
++#include <HTUtils.h>
++
++#include <HTString.h>
++#include <HTAccess.h> /* HTSecure */
++#include <HTFile.h> /* HTLocalName */
++#include <HTRules.h> /* */
++#include <HTParse.h> /* URL parsing function */
++#include <HTList.h> /* HTList object */
++
++#include <HTAAUtil.h> /* AA common parts */
++#include <HTAuth.h> /* Authentication */
++#include <HTACL.h> /* Access Control List */
++#include <HTGroup.h> /* Group handling */
++#include <HTAAProt.h> /* Protection file parsing */
++#include <HTAAServ.h> /* Implemented here */
++
++#include <LYLeaks.h>
++
++/*
++** Global variables
++*/
++PUBLIC time_t theTime;
++
++
++/*
++** Module-wide global variables
++*/
++PRIVATE FILE * htaa_logfile = NULL; /* Log file */
++PRIVATE HTAAUser *htaa_user = NULL; /* Authenticated user */
++PRIVATE HTAAFailReasonType HTAAFailReason = HTAA_OK; /* AA fail reason */
++
++
++/* SERVER PUBLIC HTAA_statusMessage()
++** RETURN A STRING EXPLAINING ACCESS
++** AUTHORIZATION FAILURE
++** (Can be used in server reply status line
++** with 401/403 replies.)
++** ON EXIT:
++** returns a string containing the error message
++** corresponding to internal HTAAFailReason.
++*/
++PUBLIC char *HTAA_statusMessage NOARGS
++{
++ switch (HTAAFailReason) {
++
++ /* 401 cases */
++ case HTAA_NO_AUTH:
++ return "Unauthorized -- authentication failed";
++ case HTAA_NOT_MEMBER:
++ return "Unauthorized to access the document";
++
++ /* 403 cases */
++ case HTAA_BY_RULE:
++ return "Forbidden -- by rule";
++ case HTAA_IP_MASK:
++ return "Forbidden -- server refuses to serve to your IP address";
++ case HTAA_NO_ACL:
++ case HTAA_NO_ENTRY:
++ return "Forbidden -- access to file is never allowed";
++ case HTAA_SETUP_ERROR:
++ return "Forbidden -- server protection setup error";
++ case HTAA_DOTDOT:
++ return "Forbidden -- URL containing /../ disallowed";
++ case HTAA_HTBIN:
++ return "Forbidden -- /htbin feature not enabled on this server";
++
++ /* 404 cases */
++ case HTAA_NOT_FOUND:
++ return "Not found -- file doesn't exist or is read protected";
++
++ /* Success */
++ case HTAA_OK:
++ return "AA: Access should be ok but something went wrong";
++
++ case HTAA_OK_GATEWAY:
++ return "AA check bypassed (gatewaying) but something went wrong";
++
++ /* Others */
++ default:
++ return "Access denied -- unable to specify reason (bug)";
++
++ } /* switch */
++}
++
++
++PRIVATE char *status_name ARGS1(HTAAFailReasonType, reason)
++{
++ switch (reason) {
++
++ /* 401 cases */
++ case HTAA_NO_AUTH:
++ return "NO-AUTHENTICATION";
++ case HTAA_NOT_MEMBER:
++ return "NOT-AUTHORIZED";
++
++ /* 403 cases */
++ case HTAA_BY_RULE:
++ return "FORB-RULE";
++ case HTAA_IP_MASK:
++ return "FORB-IP";
++ case HTAA_NO_ACL:
++ return "NO-ACL-FILE";
++ case HTAA_NO_ENTRY:
++ return "NO-ACL-ENTRY";
++ case HTAA_SETUP_ERROR:
++ return "SETUP-ERROR";
++ case HTAA_DOTDOT:
++ return "SLASH-DOT-DOT";
++ case HTAA_HTBIN:
++ return "HTBIN-OFF";
++
++ /* 404 cases */
++ case HTAA_NOT_FOUND:
++ return "NOT-FOUND";
++
++ /* Success */
++ case HTAA_OK:
++ return "OK";
++ case HTAA_OK_GATEWAY:
++ return "OK-GATEWAY";
++
++ /* Others */
++ default:
++ return "SERVER-BUG";
++ } /* switch */
++}
++
++
++/* PRIVATE check_uthorization()
++** CHECK IF USER IS AUTHORIZED TO ACCESS A FILE
++** ON ENTRY:
++** pathname is the physical file pathname
++** to access.
++** method method, e.g. METHOD_GET, METHOD_PUT, ...
++** scheme authentication scheme.
++** scheme_specifics authentication string (or other
++** scheme specific parameters, like
++** Kerberos-ticket).
++**
++** ON EXIT:
++** returns HTAA_OK on success.
++** Otherwise the reason for failing.
++** NOTE:
++** This function does not check whether the file
++** exists or not -- so the status 404 Not found
++** must be returned from somewhere else (this is
++** to avoid unnecessary overhead of opening the
++** file twice).
++*/
++PRIVATE HTAAFailReasonType check_authorization ARGS4(CONST char *, pathname,
++ HTAAMethod, method,
++ HTAAScheme, scheme,
++ char *, scheme_specifics)
++{
++ HTAAFailReasonType reason;
++ GroupDef *allowed_groups;
++ FILE *acl_file = NULL;
++ HTAAProt *prot = NULL; /* Protection mode */
++
++ htaa_user = NULL;
++
++ if (!pathname) {
++ CTRACE(tfp, "HTAA_checkAuthorization: Forbidden by rule\n");
++ return HTAA_BY_RULE;
++ }
++ CTRACE(tfp, "%s `%s' %s %s\n",
++ "HTAA_checkAuthorization: translated path:",
++ pathname, "method:", HTAAMethod_name(method));
++
++ /*
++ ** Get protection setting (set up by callbacks from rule system)
++ ** NULL, if not protected by a "protect" rule.
++ */
++ prot = HTAA_getCurrentProtection();
++
++ /*
++ ** Check ACL existence
++ */
++ if (!(acl_file = HTAA_openAcl(pathname))) {
++ if (prot) { /* protect rule, but no ACL */
++ if (prot->mask_group) {
++ /*
++ ** Only mask enabled, check that
++ */
++ GroupDefList *group_def_list =
++ HTAA_readGroupFile(HTAssocList_lookup(prot->values,
++ "group"));
++ /*
++ ** Authenticate if authentication info given
++ */
++ if (scheme != HTAA_UNKNOWN && scheme != HTAA_NONE) {
++ htaa_user = HTAA_authenticate(scheme,
++ scheme_specifics,
++ prot);
++ CTRACE(tfp, "Authentication returned: %s\n",
++ (htaa_user ? htaa_user->username
++ : "NOT-AUTHENTICATED"));
++ }
++ HTAA_resolveGroupReferences(prot->mask_group, group_def_list);
++ reason = HTAA_userAndInetInGroup(prot->mask_group,
++ htaa_user
++ ? htaa_user->username : "",
++ HTClientHost,
++ NULL);
++ if (reason != HTAA_OK) {
++ CTRACE(tfp, "%s %s %s %s\n",
++ "HTAA_checkAuthorization: access denied",
++ "by mask (no ACL, only Protect rule)",
++ "host", HTClientHost);
++ } else {
++ CTRACE(tfp, "%s %s %s %s\n",
++ "HTAA_checkAuthorization: request from",
++ HTClientHost,
++ "accepted by only mask match (no ACL, only",
++ "Protect rule, and only mask enabled)");
++ }
++ return reason;
++ }
++ else { /* 403 Forbidden */
++ CTRACE(tfp, "%s %s\n",
++ "HTAA_checkAuthorization: Protected, but",
++ "no mask group nor ACL -- forbidden");
++ return HTAA_NO_ACL;
++ }
++ }
++ else { /* No protect rule and no ACL => OK 200 */
++ CTRACE(tfp, "HTAA_checkAuthorization: %s\n",
++ "no protect rule nor ACL -- ok\n");
++ return HTAA_OK;
++ }
++ }
++
++ /*
++ ** Now we know that ACL exists
++ */
++ if (!prot) { /* Not protected by "protect" rule */
++ CTRACE(tfp, "HTAA_checkAuthorization: default protection\n");
++ prot = HTAA_getDefaultProtection(); /* Also sets current protection */
++
++ if (!prot) { /* @@ Default protection not set ?? */
++ CTRACE(tfp, "%s %s\n",
++ "HTAA_checkAuthorization: default protection",
++ "not set (internal server error)!!");
++ return HTAA_SETUP_ERROR;
++ }
++ }
++
++ /*
++ ** Now we know that document is protected and ACL exists.
++ ** Check against ACL entry.
++ */
++ {
++ GroupDefList *group_def_list =
++ HTAA_readGroupFile(HTAssocList_lookup(prot->values, "group"));
++
++ /*
++ ** Authenticate now that we know protection mode
++ */
++ if (scheme != HTAA_UNKNOWN && scheme != HTAA_NONE) {
++ htaa_user = HTAA_authenticate(scheme,
++ scheme_specifics,
++ prot);
++ CTRACE(tfp, "Authentication returned: %s\n",
++ (htaa_user
++ ? htaa_user->username : "NOT-AUTHENTICATED"));
++ }
++ /*
++ ** Check mask group
++ */
++ if (prot->mask_group) {
++ HTAA_resolveGroupReferences(prot->mask_group, group_def_list);
++ reason=HTAA_userAndInetInGroup(prot->mask_group,
++ htaa_user ? htaa_user->username : "",
++ HTClientHost,
++ NULL);
++ if (reason != HTAA_OK) {
++ CTRACE(tfp, "%s %s %s\n",
++ "HTAA_checkAuthorization: access denied",
++ "by mask, host:", HTClientHost);
++ return reason;
++ }
++ else {
++ CTRACE(tfp, "%s %s %s %s %s\n",
++ "HTAA_checkAuthorization: request from",
++ HTClientHost,
++ "accepted by just mask group match",
++ "(no ACL, only Protect rule, and only",
++ "mask enabled)");
++ /* And continue authorization checking */
++ }
++ }
++ /*
++ ** Get ACL entries; get first one first, the loop others
++ ** Remember, allowed_groups is automatically freed by
++ ** HTAA_getAclEntry().
++ */
++ allowed_groups = HTAA_getAclEntry(acl_file, pathname, method);
++ if (!allowed_groups) {
++ CTRACE(tfp, "%s `%s' %s\n",
++ "No entry for file", pathname, "in ACL");
++ HTAA_closeAcl(acl_file);
++ return HTAA_NO_ENTRY; /* Forbidden -- no entry in the ACL */
++ }
++ else {
++ do {
++ HTAA_resolveGroupReferences(allowed_groups, group_def_list);
++ reason = HTAA_userAndInetInGroup(allowed_groups,
++ htaa_user
++ ? htaa_user->username : "",
++ HTClientHost,
++ NULL);
++ if (reason == HTAA_OK) {
++ HTAA_closeAcl(acl_file);
++ return HTAA_OK; /* OK */
++ }
++ allowed_groups = HTAA_getAclEntry(acl_file, pathname, method);
++ } while (allowed_groups);
++ HTAA_closeAcl(acl_file);
++ return HTAA_NOT_MEMBER; /* Unauthorized */
++ }
++ }
++}
++
++
++/* PUBLIC HTAA_checkAuthorization()
++** CHECK IF USER IS AUTHORIZED TO ACCESS A FILE
++** ON ENTRY:
++** url is the document to be accessed.
++** method_name name of the method, e.g. "GET"
++** scheme_name authentication scheme name.
++** scheme_specifics authentication string (or other
++** scheme specific parameters, like
++** Kerberos-ticket).
++**
++** ON EXIT:
++** returns status codes uniform with those of HTTP:
++** 200 OK if file access is ok.
++** 401 Unauthorized if user is not authorized to
++** access the file.
++** 403 Forbidden if there is no entry for the
++** requested file in the ACL.
++**
++** NOTE:
++** This function does not check whether the file
++** exists or not -- so the status 404 Not found
++** must be returned from somewhere else (this is
++** to avoid unnecessary overhead of opening the
++** file twice).
++**
++*/
++PUBLIC int HTAA_checkAuthorization ARGS4(CONST char *, url,
++ CONST char *, method_name,
++ CONST char *, scheme_name,
++ char *, scheme_specifics)
++{
++ static char *pathname = NULL;
++ char *local_copy = NULL;
++ HTAAMethod method = HTAAMethod_enum(method_name);
++ HTAAScheme scheme = HTAAScheme_enum(scheme_name);
++
++ HTAAFailReason = HTAA_OK;
++
++ /*
++ ** Translate into absolute pathname, and
++ ** check for "protect" and "defprot" rules.
++ */
++ FREE(pathname); /* From previous call */
++ StrAllocCopy(local_copy, url);
++ {
++ char *keywords = strchr(local_copy, '?');
++ if (keywords)
++ *keywords = '\0'; /* Chop off keywords */
++ }
++ HTSimplify(local_copy); /* Remove ".." etc. */
++
++ /* HTSimplify will leave in a "/../" at the top, which can
++ ** be a security hole.
++ */
++ if (strstr(local_copy, "/../")) {
++ CTRACE(tfp, "HTAA_checkAuthorization: %s (`%s')\n",
++ "Illegal attempt to use /../", url);
++ HTAAFailReason = HTAA_DOTDOT;
++ }
++ else {
++ pathname = HTTranslate(local_copy); /* Translate rules even if */
++ /* a /htbin call to set up */
++ /* protections. */
++ if (0 == strncmp(local_copy, "/htbin/", 7)) {
++ if (!HTBinDir)
++ HTAAFailReason = HTAA_HTBIN;
++ else {
++ char *end = strchr(local_copy+7, '/');
++ if (end)
++ *end = '\0';
++ FREE(pathname);
++ pathname=(char*)malloc(strlen(HTBinDir)+strlen(local_copy)+1);
++ strcpy(pathname, HTBinDir);
++ strcat(pathname, local_copy+6);
++ }
++ }
++
++ if (!pathname) { /* Forbidden by rule */
++ CTRACE(tfp, "HTAA_checkAuthorization: Forbidden by rule\n");
++ HTAAFailReason = HTAA_BY_RULE;
++ }
++ else if (HTAAFailReason != HTAA_HTBIN) {
++ /* pathname != NULL */
++ char *acc_method = HTParse(pathname, "", PARSE_ACCESS);
++ if (!*acc_method || 0 == strcmp(acc_method,"file")) { /*Local file, do AA*/
++ if (!HTSecure && 0 != strncmp(local_copy, "/htbin/", 7)) {
++ char *localname = HTLocalName(pathname);
++ FREE(pathname);
++ pathname = localname;
++ }
++ HTAAFailReason = check_authorization(pathname, method,
++ scheme, scheme_specifics);
++ }
++ else { /* Not local access */
++ HTAAFailReason = HTAA_OK_GATEWAY;
++ CTRACE(tfp, "HTAA_checkAuthorization: %s (%s access)\n",
++ "Gatewaying -- skipping authorization check",
++ acc_method);
++ }
++ } /* pathname */
++ }
++ FREE(local_copy);
++
++ if (htaa_logfile) {
++ time(&theTime);
++ fprintf(htaa_logfile, "%24.24s %s %s %s %s %s\n",
++ ctime(&theTime),
++ HTClientHost ? HTClientHost : "local",
++ method_name,
++ url,
++ status_name(HTAAFailReason),
++ htaa_user && htaa_user->username
++ ? htaa_user->username : "");
++ fflush(htaa_logfile); /* Actually update it on disk */
++ CTRACE(tfp, "Log: %24.24s %s %s %s %s %s\n",
++ ctime(&theTime),
++ HTClientHost ? HTClientHost : "local",
++ method_name,
++ url,
++ status_name(HTAAFailReason),
++ htaa_user && htaa_user->username
++ ? htaa_user->username : "");
++ }
++
++ switch (HTAAFailReason) {
++
++ case HTAA_NO_AUTH:
++ case HTAA_NOT_MEMBER:
++ return 401;
++
++ case HTAA_BY_RULE:
++ case HTAA_IP_MASK:
++ case HTAA_NO_ACL:
++ case HTAA_NO_ENTRY:
++ case HTAA_SETUP_ERROR:
++ case HTAA_DOTDOT:
++ case HTAA_HTBIN:
++ return 403;
++
++ case HTAA_NOT_FOUND:
++ return 404;
++
++ case HTAA_OK:
++ case HTAA_OK_GATEWAY:
++ return 200;
++
++ default:
++ return 500;
++ } /* switch */
++}
++
++
++/* PRIVATE compose_scheme_specifics()
++** COMPOSE SCHEME-SPECIFIC PARAMETERS
++** TO BE SENT ALONG WITH SERVER REPLY
++** IN THE WWW-Authenticate: FIELD.
++** ON ENTRY:
++** scheme is the authentication scheme for which
++** parameters are asked for.
++** prot protection setup structure.
++**
++** ON EXIT:
++** returns scheme specific parameters in an
++** auto-freed string.
++*/
++PRIVATE char *compose_scheme_specifics ARGS2(HTAAScheme, scheme,
++ HTAAProt *, prot)
++{
++ static char *result = NULL;
++
++ FREE(result); /* From previous call */
++
++ switch (scheme) {
++ case HTAA_BASIC:
++ {
++ char *realm = HTAssocList_lookup(prot->values, "server");
++ result = (char*)malloc(60);
++ sprintf(result, "realm=\"%s\"",
++ (realm ? realm : "UNKNOWN"));
++ return result;
++ }
++
++ case HTAA_PUBKEY:
++ {
++ char *realm = HTAssocList_lookup(prot->values, "server");
++ result = (char*)malloc(200);
++ sprintf(result, "realm=\"%s\", key=\"%s\"",
++ (realm ? realm : "UNKNOWN"),
++ "PUBKEY-NOT-IMPLEMENTED");
++ return result;
++ }
++ default:
++ return NULL;
++ }
++}
++
++
++/* SERVER PUBLIC HTAA_composeAuthHeaders()
++** COMPOSE WWW-Authenticate: HEADER LINES
++** INDICATING VALID AUTHENTICATION SCHEMES
++** FOR THE REQUESTED DOCUMENT
++** ON ENTRY:
++** No parameters, but HTAA_checkAuthorization() must
++** just before have failed because a wrong (or none)
++** authentication scheme was used.
++**
++** ON EXIT:
++** returns a buffer containing all the WWW-Authenticate:
++** fields including CRLFs (this buffer is auto-freed).
++** NULL, if authentication won't help in accessing
++** the requested document.
++**
++*/
++PUBLIC char *HTAA_composeAuthHeaders NOARGS
++{
++ static char *result = NULL;
++ int n;
++ char *scheme_name;
++ char *scheme_params;
++ HTAAProt *prot = HTAA_getCurrentProtection();
++
++ if (!prot) {
++ CTRACE(tfp, "%s %s\n",
++ "HTAA_composeAuthHeaders: Document not protected",
++ "-- why was this function called??");
++ return NULL;
++ } else {
++ CTRACE(tfp, "HTAA_composeAuthHeaders: for file `%s'\n",
++ prot->filename);
++ }
++
++ FREE(result); /* From previous call */
++ if (!(result = (char*)malloc(4096))) /* @@ */
++ outofmem(__FILE__, "HTAA_composeAuthHeaders");
++ *result = '\0';
++
++ for (n = 0; n < (int) HTAA_MAX_SCHEMES; n++) {
++ HTAAScheme scheme = (HTAAScheme) n;
++ if (-1 < HTList_indexOf(prot->valid_schemes, (void*)scheme)) {
++ if ((scheme_name = HTAAScheme_name(scheme))) {
++ scheme_params = compose_scheme_specifics(scheme,prot);
++ strcat(result, "WWW-Authenticate: ");
++ strcat(result, scheme_name);
++ if (scheme_params) {
++ strcat(result, " ");
++ strcat(result, scheme_params);
++ }
++ strcat(result, "\r\n");
++ } /* scheme name found */
++ else {
++ CTRACE(tfp, "HTAA_composeAuthHeaders: %s %d\n",
++ "No name found for scheme number", scheme);
++ }
++ } /* scheme valid for requested document */
++ } /* for every scheme */
++
++ return result;
++}
++
++
++/* PUBLIC HTAA_startLogging()
++** START UP ACCESS AUTHORIZATION LOGGING
++** ON ENTRY:
++** fp is the open log file.
++**
++*/
++PUBLIC void HTAA_startLogging ARGS1(FILE *, fp)
++{
++ htaa_logfile = fp;
++}
++
diff --git a/www/lynx/patches.v6/patch-ae b/www/lynx/patches.v6/patch-ae
new file mode 100644
index 00000000000..636d25b01f2
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ae
@@ -0,0 +1,152 @@
+$NetBSD: patch-ae,v 1.1 2000/01/15 17:44:21 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAAServ.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAServ.h
+--- ./WWW/Library/Implementation/HTAAServ.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAAServ.h Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,144 @@
++/* SERVER SIDE ACCESS AUTHORIZATION MODULE
++
++ This module is the server side interface to Access Authorization (AA) package. It
++ contains code only for server.
++
++ Important to know about memory allocation:
++
++ Routines in this module use dynamic allocation, but free automatically all the memory
++ reserved by them.
++
++ Therefore the caller never has to (and never should) free() any object returned by
++ these functions.
++
++ Therefore also all the strings returned by this package are only valid until the next
++ call to the same function is made. This approach is selected, because of the nature of
++ access authorization: no string returned by the package needs to be valid longer than
++ until the next call.
++
++ This also makes it easy to plug the AA package in: you don't have to ponder whether to
++ free()something here or is it done somewhere else (because it is always done somewhere
++ else).
++
++ The strings that the package needs to store are copied so the original strings given as
++ parameters to AA functions may be freed or modified with no side effects.
++
++ Also note:The AA package does not free() anything else than what it has itself
++ allocated.
++
++ */
++
++#ifndef HTAASERV_H
++#define HTAASERV_H
++
++#include <HTRules.h> /* This module interacts with rule system */
++#include <HTAAUtil.h> /* Common parts of AA */
++#include <HTAuth.h> /* Authentication */
++
++
++#ifdef SHORT_NAMES
++#define HTAAstMs HTAA_statusMessage
++#define HTAAchAu HTAA_checkAuthorization
++#define HTAAcoAH HTAA_composeAuthHeaders
++#define HTAAsLog HTAA_startLogging
++#endif /*SHORT_NAMES*/
++
++extern time_t theTime;
++
++/*
++
++Check Access Authorization
++
++ HTAA_checkAuthorization() is the main access authorization function.
++
++ */
++
++/* PUBLIC HTAA_checkAuthorization()
++** CHECK IF USER IS AUTHORIZED TO ACCESS A FILE
++** ON ENTRY:
++** url is the document to be accessed.
++** method_name name of the method, e.g. "GET"
++** scheme_name authentication scheme name.
++** scheme_specifics authentication string (or other
++** scheme specific parameters, like
++** Kerberos-ticket).
++**
++** ON EXIT:
++** returns status codes uniform with those of HTTP:
++** 200 OK if file access is ok.
++** 401 Unauthorized if user is not authorized to
++** access the file.
++** 403 Forbidden if there is no entry for the
++** requested file in the ACL.
++**
++** NOTE:
++** This function does not check whether the file
++** exists or not -- so the status 404 Not found
++** must be returned from somewhere else (this is
++** to avoid unnecessary overhead of opening the
++** file twice).
++**
++*/
++PUBLIC int HTAA_checkAuthorization PARAMS((CONST char * url,
++ CONST char * method_name,
++ CONST char * scheme_name,
++ char * scheme_specifics));
++/*
++
++Compose Status Line Message
++
++ */
++
++/* SERVER PUBLIC HTAA_statusMessage()
++** RETURN A STRING EXPLAINING ACCESS
++** AUTHORIZATION FAILURE
++** (Can be used in server reply status line
++** with 401/403 replies.)
++** ON EXIT:
++** returns a string containing the error message
++** corresponding to internal HTAAFailReason.
++*/
++PUBLIC char *HTAA_statusMessage NOPARAMS;
++/*
++
++Compose "Authenticate:" Header Lines for Server Reply
++
++ */
++
++/* SERVER PUBLIC HTAA_composeAuthHeaders()
++** COMPOSE WWW-Authenticate: HEADER LINES
++** INDICATING VALID AUTHENTICATION SCHEMES
++** FOR THE REQUESTED DOCUMENT
++** ON ENTRY:
++** No parameters, but HTAA_checkAuthorization() must
++** just before have failed because a wrong (or none)
++** authentication scheme was used.
++**
++** ON EXIT:
++** returns a buffer containing all the WWW-Authenticate:
++** fields including CRLFs (this buffer is auto-freed).
++** NULL, if authentication won't help in accessing
++** the requested document.
++*/
++PUBLIC char *HTAA_composeAuthHeaders NOPARAMS;
++/*
++
++Start Access Authorization Logging
++
++ */
++
++/* PUBLIC HTAA_startLogging()
++** START UP ACCESS AUTHORIZATION LOGGING
++** ON ENTRY:
++** fp is the open log file.
++**
++*/
++PUBLIC void HTAA_startLogging PARAMS((FILE * fp));
++/*
++
++ */
++
++#endif /* NOT HTAASERV_H */
++/*
++
++ End of file HTAAServ.h. */
diff --git a/www/lynx/patches.v6/patch-af b/www/lynx/patches.v6/patch-af
new file mode 100644
index 00000000000..17aa453eb90
--- /dev/null
+++ b/www/lynx/patches.v6/patch-af
@@ -0,0 +1,218 @@
+$NetBSD: patch-af,v 1.1 2000/01/15 17:44:21 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTACL.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTACL.c
+--- ./WWW/Library/Implementation/HTACL.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTACL.c Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,210 @@
++
++/* MODULE HTACL.c
++** ACCESS CONTROL LIST ROUTINES
++**
++** AUTHORS:
++** AL Ari Luotonen luotonen@dxcern.cern.ch
++** MD Mark Donszelmann duns@vxdeop.cern.ch
++**
++** HISTORY:
++** 8 Nov 93 MD (VMS only) case insensitive compare reading acl entry, filename
++**
++**
++** BUGS:
++**
++**
++*/
++
++
++#include <HTUtils.h>
++#include <HTAAFile.h> /* File routines */
++#include <HTGroup.h> /* GroupDef */
++#include <HTACL.h> /* Implemented here */
++
++#include <LYLeaks.h>
++
++/* PRIVATE HTAA_getAclFilename()
++** RESOLVE THE FULL PATHNAME OF ACL FILE FOR A GIVEN FILE
++** ON ENTRY:
++** path is the pathname of the file for which to
++** ACL file should be found.
++**
++** ACL filename is computed by replacing
++** the filename by .www_acl in the pathname
++** (this is done to a local copy, of course).
++**
++** ON EXIT:
++** returns the absolute pathname of ACL file
++** (which is automatically freed next time
++** this fuction is called).
++*/
++PRIVATE char *HTAA_getAclFilename ARGS1(CONST char *, pathname)
++{
++ static char * local_copy = NULL;
++ static char * acl_path = NULL;
++ char * directory = NULL;
++ char * filename = NULL;
++
++ StrAllocCopy(local_copy, pathname); /* Also frees local_copy */
++ /* from previous call. */
++
++ directory = local_copy;
++ filename = strrchr(directory, '/');
++ if (!filename) { /* No path in front of filename */
++ directory = "."; /* So use current directory */
++ filename = local_copy; /* and the pathname itself is the filename */
++ }
++ else {
++ *filename = '\0'; /* Truncate filename off from directory path */
++ filename++; /* and the filename begins from the next character */
++ }
++
++ StrAllocCopy(acl_path, directory); /* Also frees acl_path */
++ /* from previous call. */
++ StrAllocCat(acl_path, "/");
++ StrAllocCat(acl_path, ACL_FILE_NAME);
++
++ return acl_path;
++}
++
++
++/* PUBLIC HTAA_openAcl()
++** OPEN THE ACL FILE FOR THE GIVEN DOCUMENT
++** ON ENTRY:
++** pathname is the absolute pathname of
++** the file to be accessed.
++**
++** ON EXIT:
++** returns the FILE* to open ACL.
++** NULL, if ACL not found.
++*/
++PUBLIC FILE *HTAA_openAcl ARGS1(CONST char *, pathname)
++{
++ return fopen(HTAA_getAclFilename(pathname), "r");
++}
++
++
++/* PUBLIC HTAA_closeAcl()
++** CLOSE ACL FILE
++** ON ENTRY:
++** acl_file is Access Control List file to close.
++**
++** ON EXIT:
++** returns nothing.
++*/
++PUBLIC void HTAA_closeAcl ARGS1(FILE *, acl_file)
++{
++ if (acl_file) fclose(acl_file);
++}
++
++
++/* PUBLIC HTAA_getAclEntry()
++** CONSULT THE ACCESS CONTROL LIST AND
++** GIVE A LIST OF GROUPS (AND USERS)
++** AUTHORIZED TO ACCESS A GIVEN FILE
++** ON ENTRY:
++** acl_file is an open ACL file.
++** pathname is the absolute pathname of
++** the file to be accessed.
++** method is the method for which access is wanted.
++**
++** ALC FILE FORMAT:
++**
++** template : method, method, ... : group@addr, user, group, ...
++**
++** The last item is in fact in exactly the same format as
++** group definition in group file, i.e. everything that
++** follows the 'groupname:' part,
++** e.g.
++** user, group, user@address, group@address,
++** (user,group,...)@(address, address, ...)
++**
++** ON EXIT:
++** returns NULL, if there is no entry for the file in the ACL,
++** or ACL doesn't exist.
++** If there is, a GroupDef object containing the
++** group and user names allowed to access the file
++** is returned (this is automatically freed
++** next time this function is called).
++** IMPORTANT:
++** Returns the first entry with matching template and
++** method. This function should be called multiple times
++** to process all the valid entries (until it returns NULL).
++** This is because there can be multiple entries like:
++**
++** *.html : get,put : ari,timbl,robert
++** *.html : get : jim,james,jonathan,jojo
++**
++** NOTE:
++** The returned group definition may well contain references
++** to groups defined in group file. Therefore these references
++** must be resolved according to that rule file by function
++** HTAA_resolveGroupReferences() (group file is read in by
++** HTAA_readGroupFile()) and after that access authorization
++** can be checked with function HTAA_userAndInetGroup().
++*/
++PUBLIC GroupDef *HTAA_getAclEntry ARGS3(FILE *, acl_file,
++ CONST char *, pathname,
++ HTAAMethod, method)
++{
++ static GroupDef * group_def = NULL;
++ CONST char * filename;
++ int len;
++ char *buf;
++
++ if (!acl_file) return NULL; /* ACL doesn't exist */
++
++ if (group_def) {
++ GroupDef_delete(group_def); /* From previous call */
++ group_def = NULL;
++ }
++
++ if (!(filename = strrchr(pathname, '/')))
++ filename = pathname;
++ else filename++; /* Skip slash */
++
++ len = strlen(filename);
++
++ if (!(buf = (char*)malloc((strlen(filename)+2)*sizeof(char))))
++ outofmem(__FILE__, "HTAA_getAuthorizedGroups");
++
++ while (EOF != HTAAFile_readField(acl_file, buf, len+1)) {
++#ifdef VMS
++ if (HTAA_templateCaseMatch(buf, filename))
++#else /* not VMS */
++ if (HTAA_templateMatch(buf, filename))
++#endif /* not VMS */
++ {
++ HTList *methods = HTList_new();
++ HTAAFile_readList(acl_file, methods, MAX_METHODNAME_LEN);
++ CTRACE(tfp, "Filename '%s' matched template '%s', allowed methods:",
++ filename, buf);
++ if (HTAAMethod_inList(method, methods)) { /* right method? */
++ CTRACE(tfp, " METHOD OK\n");
++ HTList_delete(methods);
++ methods = NULL;
++ FREE(buf);
++ group_def = HTAA_parseGroupDef(acl_file);
++ /*
++ ** HTAA_parseGroupDef() already reads the record
++ ** separator so we don't call HTAAFile_nextRec().
++ */
++ return group_def;
++ } else {
++ CTRACE(tfp, " METHOD NOT FOUND\n");
++ }
++ HTList_delete(methods);
++ methods = NULL;
++ } /* if template match */
++ else {
++ CTRACE(tfp, "Filename '%s' didn't match template '%s'\n",
++ filename, buf);
++ }
++
++ HTAAFile_nextRec(acl_file);
++ } /* while not eof */
++ FREE(buf);
++
++ return NULL; /* No entry for requested file */
++ /* (or an empty entry). */
++}
diff --git a/www/lynx/patches.v6/patch-ag b/www/lynx/patches.v6/patch-ag
new file mode 100644
index 00000000000..7021ca589b4
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ag
@@ -0,0 +1,114 @@
+$NetBSD: patch-ag,v 1.1 2000/01/15 17:44:21 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTACL.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTACL.h
+--- ./WWW/Library/Implementation/HTACL.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTACL.h Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,106 @@
++/* ACCESS CONTROL LIST ROUTINES
++
++ */
++
++#ifndef HTACL_H
++#define HTACL_H
++
++#include <HTAAUtil.h>
++#include <HTGroup.h>
++
++#ifdef SHORT_NAMES
++#define HTAAoACL HTAA_openAcl
++#define HTAAcACL HTAA_closeAcl
++#define HTAAgAEn HTAA_getAclEntry
++#endif /* SHORT_NAMES */
++
++/*
++
++Opening Access Control List File
++
++ */
++
++/* PUBLIC HTAA_openAcl()
++** OPEN THE ACL FILE FOR THE GIVEN DOCUMENT
++** ON ENTRY:
++** pathname is the absolute pathname of
++** the file to be accessed.
++**
++** ON EXIT:
++** returns the FILE* to open ACL.
++** NULL, if ACL not found.
++*/
++PUBLIC FILE *HTAA_openAcl PARAMS((CONST char * pathname));
++
++
++/* PUBLIC HTAA_closeAcl()
++** CLOSE ACL FILE
++** ON ENTRY:
++** acl_file is Access Control List file to close.
++**
++** ON EXIT:
++** returns nothing.
++*/
++PUBLIC void HTAA_closeAcl PARAMS((FILE * acl_file));
++/*
++
++Getting ACL Entry
++
++ */
++
++/* PUBLIC HTAA_getAclEntry()
++** CONSULT THE ACCESS CONTROL LIST AND
++** GIVE A LIST OF GROUPS (AND USERS)
++** AUTHORIZED TO ACCESS A GIVEN FILE
++** ON ENTRY:
++** acl_file is an open ACL file.
++** pathname is the absolute pathname of
++** the file to be accessed.
++** method is the method for which access is wanted.
++**
++** ALC FILE FORMAT:
++**
++** template : method, method, ... : group@addr, user, group, ...
++**
++** The last item is in fact in exactly the same format as
++** group definition in group file, i.e. everything that
++** follows the 'groupname:' part,
++** e.g.
++** user, group, user@address, group@address,
++** (user,group,...)@(address, address, ...)
++**
++** ON EXIT:
++** returns NULL, if there is no entry for the file in the ACL,
++** or ACL doesn't exist.
++** If there is, a GroupDef object containing the
++** group and user names allowed to access the file
++** is returned (this is automatically freed
++** next time this function is called).
++** IMPORTANT:
++** Returns the first entry with matching template and
++** method. This function should be called multiple times
++** to process all the valid entries (until it returns NULL).
++** This is because there can be multiple entries like:
++**
++** *.html : get,put : ari,timbl,robert
++** *.html : get : jim,james,jonathan,jojo
++**
++** NOTE:
++** The returned group definition may well contain references
++** to groups defined in group file. Therefore these references
++** must be resolved according to that rule file by function
++** HTAA_resolveGroupReferences() (group file is read in by
++** HTAA_readGroupFile()) and after that access authorization
++** can be checked with function HTAA_userAndInetGroup().
++*/
++PUBLIC GroupDef *HTAA_getAclEntry PARAMS((FILE * acl_file,
++ CONST char * pathname,
++ HTAAMethod method));
++/*
++
++ */
++
++#endif /* not HTACL_H */
++/*
++
++ End of file HTACL.h. */
diff --git a/www/lynx/patches.v6/patch-ah b/www/lynx/patches.v6/patch-ah
new file mode 100644
index 00000000000..eef57c5d162
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ah
@@ -0,0 +1,214 @@
+$NetBSD: patch-ah,v 1.1 2000/01/15 17:44:22 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAuth.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAuth.c
+--- ./WWW/Library/Implementation/HTAuth.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAuth.c Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,206 @@
++
++/* MODULE HTAuth.c
++** USER AUTHENTICATION
++**
++** AUTHORS:
++** AL Ari Luotonen luotonen@dxcern.cern.ch
++**
++** HISTORY:
++** AL 14.10.93 Fixed the colon-not-allowed-in-password-bug.
++**
++** BUGS:
++**
++**
++*/
++
++#include <HTUtils.h>
++#include <HTPasswd.h> /* Password file routines */
++#include <HTAssoc.h>
++#include <HTAuth.h> /* Implemented here */
++#include <HTUU.h> /* Uuencoding and uudecoding */
++
++#include <LYLeaks.h>
++
++/* PRIVATE decompose_auth_string()
++** DECOMPOSE AUTHENTICATION STRING
++** FOR BASIC OR PUBKEY SCHEME
++** ON ENTRY:
++** authstring is the authorization string received
++** from browser.
++**
++** ON EXIT:
++** returns a node representing the user information
++** (as always, this is automatically freed
++** by AA package).
++*/
++PRIVATE HTAAUser *decompose_auth_string ARGS2(char *, authstring,
++ HTAAScheme, scheme)
++{
++ static HTAAUser *user = NULL;
++ static char *cleartext = NULL;
++ char *username = NULL;
++ char *password = NULL;
++ char *i_net_adr = NULL;
++ char *timestamp = NULL;
++ char *browsers_key = NULL;
++
++ if (!user && !(user = (HTAAUser*)malloc(sizeof(HTAAUser)))) /* Allocated */
++ outofmem(__FILE__, "decompose_auth_string"); /* only once */
++
++ user->scheme = scheme;
++ user->username = NULL; /* Not freed, because freeing */
++ user->password = NULL; /* cleartext also frees these */
++ user->inet_addr = NULL; /* See below: || */
++ user->timestamp = NULL; /* || */
++ user->secret_key = NULL; /* || */
++ /* \/ */
++ FREE(cleartext); /* From previous call. */
++ /* NOTE: parts of this memory are pointed to by */
++ /* pointers in HTAAUser structure. Therefore, */
++ /* this also frees all the strings pointed to */
++ /* by the static 'user'. */
++
++ if (!authstring || !*authstring ||
++ scheme != HTAA_BASIC || scheme == HTAA_PUBKEY)
++ return NULL;
++
++ if (scheme == HTAA_PUBKEY) { /* Decrypt authentication string */
++ int bytes_decoded;
++ char *ciphertext;
++ int len = strlen(authstring) + 1;
++
++ if (!(ciphertext = (char*)malloc(len)) ||
++ !(cleartext = (char*)malloc(len)))
++ outofmem(__FILE__, "decompose_auth_string");
++
++ bytes_decoded = HTUU_decode(authstring,
++ (unsigned char *)ciphertext, len);
++ ciphertext[bytes_decoded] = (char)0;
++#ifdef PUBKEY
++ HTPK_decrypt(ciphertext, cleartext, private_key);
++#endif
++ FREE(ciphertext);
++ }
++ else { /* Just uudecode */
++ int bytes_decoded;
++ int len = strlen(authstring) + 1;
++
++ if (!(cleartext = (char*)malloc(len)))
++ outofmem(__FILE__, "decompose_auth_string");
++ bytes_decoded = HTUU_decode(authstring,
++ (unsigned char *)cleartext, len);
++ cleartext[bytes_decoded] = (char)0;
++ }
++
++
++/*
++** Extract username and password (for both schemes)
++*/
++ username = cleartext;
++ if (!(password = strchr(cleartext, ':'))) {
++ CTRACE(tfp, "%s %s\n",
++ "decompose_auth_string: password field",
++ "missing in authentication string.\n");
++ return NULL;
++ }
++ *(password++) = '\0';
++
++/*
++** Extract rest of the fields
++*/
++ if (scheme == HTAA_PUBKEY) {
++ if ( !(i_net_adr =strchr(password, ':')) ||
++ (*(i_net_adr++) ='\0'), !(timestamp =strchr(i_net_adr,':')) ||
++ (*(timestamp++) ='\0'), !(browsers_key=strchr(timestamp,':')) ||
++ (*(browsers_key++)='\0')) {
++
++ CTRACE(tfp, "%s %s\n",
++ "decompose_auth_string: Pubkey scheme",
++ "fields missing in authentication string");
++ return NULL;
++ }
++ }
++
++/*
++** Set the fields into the result
++*/
++ user->username = username;
++ user->password = password;
++ user->inet_addr = i_net_adr;
++ user->timestamp = timestamp;
++ user->secret_key = browsers_key;
++
++ if (scheme == HTAA_BASIC) {
++ CTRACE(tfp, "decompose_auth_string: %s (%s,%s)\n",
++ "Basic scheme authentication string:",
++ username, password);
++ } else {
++ CTRACE(tfp, "decompose_auth_string: %s (%s,%s,%s,%s,%s)\n",
++ "Pubkey scheme authentication string:",
++ username, password, i_net_adr, timestamp, browsers_key);
++ }
++
++ return user;
++}
++
++
++
++PRIVATE BOOL HTAA_checkTimeStamp ARGS1(CONST char *, timestamp GCC_UNUSED)
++{
++ return NO; /* This is just a stub */
++}
++
++
++PRIVATE BOOL HTAA_checkInetAddress ARGS1(CONST char *, i_net_adr GCC_UNUSED)
++{
++ return NO; /* This is just a stub */
++}
++
++
++/* SERVER PUBLIC HTAA_authenticate()
++** AUTHENTICATE USER
++** ON ENTRY:
++** scheme used authentication scheme.
++** scheme_specifics the scheme specific parameters
++** (authentication string for Basic and
++** Pubkey schemes).
++** prot is the protection information structure
++** for the file.
++**
++** ON EXIT:
++** returns NULL, if authentication failed.
++** Otherwise a pointer to a structure
++** representing authenticated user,
++** which should not be freed.
++*/
++PUBLIC HTAAUser *HTAA_authenticate ARGS3(HTAAScheme, scheme,
++ char *, scheme_specifics,
++ HTAAProt *, prot)
++{
++ if (HTAA_UNKNOWN == scheme || !prot ||
++ -1 == HTList_indexOf(prot->valid_schemes, (void*)scheme))
++ return NULL;
++
++ switch (scheme) {
++ case HTAA_BASIC:
++ case HTAA_PUBKEY:
++ {
++ HTAAUser *user = decompose_auth_string(scheme_specifics, scheme);
++ /* Remember, user is auto-freed */
++ if (user &&
++ HTAA_checkPassword(user->username,
++ user->password,
++ HTAssocList_lookup(prot->values, "passw")) &&
++ (HTAA_BASIC == scheme ||
++ (HTAA_checkTimeStamp(user->timestamp) &&
++ HTAA_checkInetAddress(user->inet_addr))))
++ return user;
++ else
++ return NULL;
++ }
++ default:
++ /* Other authentication routines go here */
++ return NULL;
++ }
++}
++
diff --git a/www/lynx/patches.v6/patch-ai b/www/lynx/patches.v6/patch-ai
new file mode 100644
index 00000000000..3b1fd51fea9
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ai
@@ -0,0 +1,71 @@
+$NetBSD: patch-ai,v 1.1 2000/01/15 17:44:22 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTAuth.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAuth.h
+--- ./WWW/Library/Implementation/HTAuth.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTAuth.h Sat Jan 15 07:57:17 2000
+@@ -0,0 +1,63 @@
++/* AUTHENTICATION MODULE
++
++ This is the authentication module. By modifying the function HTAA_authenticate() it can
++ be made to support external authentication methods.
++
++ */
++
++#ifndef HTAUTH_H
++#define HTAUTH_H
++
++#include <HTAAUtil.h>
++#include <HTAAProt.h>
++
++
++#ifdef SHORT_NAMES
++#define HTAAauth HTAA_authenticate
++#endif /* SHORT_NAMES */
++
++
++/*
++** Server's representation of a user (fields in authentication string)
++*/
++typedef struct {
++ HTAAScheme scheme; /* Scheme used to authenticate this user */
++ char * username;
++ char * password;
++ char * inet_addr;
++ char * timestamp;
++ char * secret_key;
++} HTAAUser;
++/*
++
++User Authentication
++
++ */
++
++/* SERVER PUBLIC HTAA_authenticate()
++** AUTHENTICATE USER
++** ON ENTRY:
++** scheme used authentication scheme.
++** scheme_specifics the scheme specific parameters
++** (authentication string for Basic and
++** Pubkey schemes).
++** prot is the protection information structure
++** for the file.
++**
++** ON EXIT:
++** returns NULL, if authentication failed.
++** Otherwise a pointer to a structure
++** representing authenticated user,
++** which should not be freed.
++*/
++PUBLIC HTAAUser *HTAA_authenticate PARAMS((HTAAScheme scheme,
++ char * scheme_specifics,
++ HTAAProt * prot));
++/*
++
++ */
++
++#endif /* not HTAUTH_H */
++/*
++
++ End of file HTAuth.h. */
diff --git a/www/lynx/patches.v6/patch-aj b/www/lynx/patches.v6/patch-aj
new file mode 100644
index 00000000000..fda34af8bd0
--- /dev/null
+++ b/www/lynx/patches.v6/patch-aj
@@ -0,0 +1,284 @@
+$NetBSD: patch-aj,v 1.1 2000/01/15 17:44:22 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTFTP.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTFTP.c
+--- ./WWW/Library/Implementation/HTFTP.c Tue May 25 19:13:02 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTFTP.c Sat Jan 15 07:57:18 2000
+@@ -1013,10 +1013,11 @@
+ */
+ PRIVATE int get_listen_socket NOARGS
+ {
+- struct sockaddr_in soc_address; /* Binary network address */
+- struct sockaddr_in* soc_in = &soc_address;
++ struct sockaddr_storage soc_address; /* Binary network address */
++ struct sockaddr_in* soc_in = (struct sockaddr_in *)&soc_address;
+ int new_socket; /* Will be master_socket */
+-
++ int af;
++ int slen;
+
+ FD_ZERO(&open_sockets); /* Clear our record of open sockets */
+ num_sockets = 0;
+@@ -1026,9 +1027,18 @@
+ return master_socket; /* Done already */
+ #endif /* !REPEAT_LISTEN */
+
++ /* query address family of control connection */
++ slen = sizeof(soc_address);
++ if (getsockname(control->socket, (struct sockaddr *)&soc_address,
++ &slen) < 0) {
++ return HTInetStatus("getsockname failed");
++ }
++ af = soc_address.ss_family;
++ memset(&soc_address, 0, sizeof(soc_address));
++
+ /* Create internet socket
+ */
+- new_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
++ new_socket = socket(af, SOCK_STREAM, IPPROTO_TCP);
+
+ if (new_socket < 0)
+ return HTInetStatus(gettext("socket for master socket"));
+@@ -1037,8 +1047,24 @@
+
+ /* Search for a free port.
+ */
+- soc_in->sin_family = AF_INET; /* Family = internet, host order */
+- soc_in->sin_addr.s_addr = INADDR_ANY; /* Any peer address */
++ memset(&soc_address, 0, sizeof(soc_address));
++ soc_address.ss_family = af;
++ switch (af) {
++ case AF_INET:
++#ifdef SIN6_LEN
++ soc_address.ss_len = sizeof(struct sockaddr_in);
++#endif
++ break;
++#ifdef INET6
++ case AF_INET6:
++#ifdef SIN6_LEN
++ soc_address.ss_len = sizeof(struct sockaddr_in6);
++#endif
++ break;
++#endif
++ default:
++ HTInetStatus("AF");
++ }
+ #ifdef POLL_PORTS
+ {
+ unsigned short old_port_number = port_number;
+@@ -1049,15 +1075,19 @@
+ if (port_number == old_port_number) {
+ return HTInetStatus("bind");
+ }
+- soc_address.sin_port = htons(port_number);
++ soc_in->sin_port = htons(port_number);
+ #ifdef SOCKS
+ if (socks_flag)
+ if ((status=Rbind(new_socket,
+ (struct sockaddr*)&soc_address,
+ /* Cast to generic sockaddr */
+- sizeof(soc_address)
++#ifdef SIN6_LEN
++ soc_address.ss_len,
++#else
++ SA_LEN((struct sockaddr *)&soc_address),
++#endif
+ #ifndef SHORTENED_RBIND
+- ,socks_bind_remoteAddr
++ socks_bind_remoteAddr
+ #endif /* !SHORTENED_RBIND */
+ )) == 0)
+ break;
+@@ -1066,7 +1096,12 @@
+ if ((status=bind(new_socket,
+ (struct sockaddr*)&soc_address,
+ /* Cast to generic sockaddr */
+- sizeof(soc_address))) == 0)
++#ifdef SIN6_LEN
++ soc_address.ss_len
++#else
++ SA_LEN((struct sockaddr *)&soc_address)
++#endif
++ )) == 0)
+ break;
+ CTRACE(tfp, "TCP bind attempt to port %d yields %d, errno=%d\n",
+ port_number, status, SOCKET_ERRNO);
+@@ -1088,17 +1123,21 @@
+ (void *)&address_length);
+ if (status<0) return HTInetStatus("getsockname");
+ CTRACE(tfp, "HTFTP: This host is %s\n",
+- HTInetString(soc_in));
++ HTInetString((SockA *)soc_in));
+
+- soc_address.sin_port = 0; /* Unspecified: please allocate */
++ soc_in->sin_port = 0; /* Unspecified: please allocate */
+ #ifdef SOCKS
+ if (socks_flag)
+ status=Rbind(new_socket,
+ (struct sockaddr*)&soc_address,
+ /* Cast to generic sockaddr */
+- sizeof(soc_address)
++#ifdef SIN6_LEN
++ soc_address.ss_len,
++#else
++ SA_LEN((struct sockaddr *)&soc_address),
++#endif
+ #ifndef SHORTENED_RBIND
+- ,socks_bind_remoteAddr
++ socks_bind_remoteAddr
+ #endif /* !SHORTENED_RBIND */
+ );
+ else
+@@ -1106,7 +1145,12 @@
+ status=bind(new_socket,
+ (struct sockaddr*)&soc_address,
+ /* Cast to generic sockaddr */
+- sizeof(soc_address));
++#ifdef SIN6_LEN
++ soc_address.ss_len
++#else
++ SA_LEN((struct sockaddr *)&soc_address)
++#endif
++ );
+ if (status<0) return HTInetStatus("bind");
+
+ address_length = sizeof(soc_address);
+@@ -1126,7 +1170,7 @@
+
+ CTRACE(tfp, "HTFTP: bound to port %d on %s\n",
+ (int)ntohs(soc_in->sin_port),
+- HTInetString(soc_in));
++ HTInetString((SockA *)soc_in));
+
+ #ifdef REPEAT_LISTEN
+ if (master_socket >= 0)
+@@ -1138,7 +1182,9 @@
+ /* Now we must find out who we are to tell the other guy
+ */
+ (void)HTHostName(); /* Make address valid - doesn't work*/
+- sprintf(port_command, "PORT %d,%d,%d,%d,%d,%d%c%c",
++ switch (soc_address.ss_family) {
++ case AF_INET:
++ sprintf(port_command, "PORT %d,%d,%d,%d,%d,%d%c%c",
+ (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+@@ -1146,7 +1192,29 @@
+ (int)*((unsigned char *)(&soc_in->sin_port)+0),
+ (int)*((unsigned char *)(&soc_in->sin_port)+1),
+ CR, LF);
+-
++ break;
++#ifdef INET6
++ case AF_INET6:
++ {
++ char hostbuf[MAXHOSTNAMELEN];
++ char portbuf[MAXHOSTNAMELEN];
++ getnameinfo((struct sockaddr *)&soc_address,
++#ifdef SIN6_LEN
++ soc_address.ss_len,
++#else
++ SA_LEN((struct sockaddr *)&soc_address),
++#endif
++ hostbuf, sizeof(hostbuf), portbuf, sizeof(portbuf),
++ NI_NUMERICHOST | NI_NUMERICSERV);
++ sprintf(port_command, "EPRT |%d|%s|%s|%c%c", 2, hostbuf, portbuf,
++ CR, LF);
++ break;
++ }
++#endif
++ default:
++ sprintf(port_command, "JUNK%c%c", CR, LF);
++ break;
++ }
+
+ /* Inform TCP that we will accept connections
+ */
+@@ -2594,7 +2662,8 @@
+ if (status < 0) {
+ NETCLOSE (control->socket);
+ control->socket = -1;
+- close_master_socket ();
++ if (master_socket >= 0)
++ (void)close_master_socket ();
+ /* HT_INTERRUPTED would fall through, if we could interrupt
+ somehow in the middle of it, which we currently can't. */
+ return status;
+@@ -2631,26 +2700,50 @@
+ int status;
+ data_soc = status;
+
+- status = send_cmd_1("PASV");
+- if (status != 2) {
+- if (status < 0)
+- continue; /* retry or Bad return */
+- return -status; /* bad reply */
++ status = send_cmd_1("EPSV");
++ if (status < 0) /* retry or Bad return */
++ continue;
++ else if (status != 2) {
++ status = send_cmd_1("PASV");
++ if (status < 0) /* retry or Bad return */
++ continue;
++ else if (status != 2) {
++ return -status; /* bad reply */
++ }
+ }
+- for (p = response_text; *p && *p != ','; p++)
+- ; /* null body */
+
+- while (--p > response_text && '0' <= *p && *p <= '9')
+- ; /* null body */
++ if (strncmp(command, "PASV", 4) == 0) {
++ for (p = response_text; *p && *p != ','; p++)
++ ; /* null body */
++
++ while (--p > response_text && '0' <= *p && *p <= '9')
++ ; /* null body */
+
+- status = sscanf(p+1, "%d,%d,%d,%d,%d,%d",
+- &h0, &h1, &h2, &h3, &p0, &p1);
+- if (status < 4) {
+- fprintf(tfp, "HTFTP: PASV reply has no inet address!\n");
+- return -99;
+- }
+- passive_port = (p0<<8) + p1;
+- CTRACE(tfp, "HTFTP: Server is listening on port %d\n",
++ status = sscanf(p+1, "%d,%d,%d,%d,%d,%d",
++ &h0, &h1, &h2, &h3, &p0, &p1);
++ if (status < 4) {
++ fprintf(tfp, "HTFTP: PASV reply has no inet address!\n");
++ return -99;
++ }
++ passive_port = (p0<<8) + p1;
++ } else if (strncmp(command, "EPSV", 4) == 0) {
++ char ch;
++ /*
++ * EPSV |||port|
++ */
++ for (p = response_text; *p && !isspace(*p); p++)
++ ; /* null body */
++ for (p = response_text; *p && isspace(*p); p++)
++ ; /* null body */
++ status = sscanf(p+1, "%c%c%c%d%c",
++ &h0, &h1, &h2, &p0, &h3);
++ if (status != 5) {
++ fprintf(tfp, "HTFTP: EPSV reply has invalid format!\n");
++ return -99;
++ }
++ passive_port = p0;
++ }
++ CTRACE(tfp, "HTFTP: Server is listening on port %d\n",
+ passive_port);
+
+
+@@ -3162,7 +3255,7 @@
+ /* Wait for the connection
+ */
+ {
+- struct sockaddr_in soc_address;
++ struct sockaddr_storage soc_address;
+ int soc_addrlen=sizeof(soc_address);
+ #ifdef SOCKS
+ if (socks_flag)
diff --git a/www/lynx/patches.v6/patch-ak b/www/lynx/patches.v6/patch-ak
new file mode 100644
index 00000000000..5f6a97d3291
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ak
@@ -0,0 +1,164 @@
+$NetBSD: patch-ak,v 1.1 2000/01/15 17:44:22 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTHistory.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTHistory.c
+--- ./WWW/Library/Implementation/HTHistory.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTHistory.c Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,156 @@
++#include <HTUtils.h>
++
++#include <HTHistory.h>
++
++#include <LYLeaks.h>
++
++static HTList * history; /* List of visited anchors */
++
++
++/* Navigation
++** ==========
++*/
++
++/* Record the jump to an anchor
++** ----------------------------
++*/
++
++void HTHistory_record
++ ARGS1 (HTAnchor *,destination)
++{
++ if (destination) {
++ if (! history)
++ history = HTList_new();
++ HTList_addObject (history, destination);
++ }
++}
++
++/* Go back in history (find the last visited node)
++** ------------------
++*/
++
++HTAnchor * HTHistory_backtrack
++ NOARGS /* FIXME: Should we add a `sticky' option ? */
++{
++ if (HTHistory_canBacktrack())
++ HTList_removeLastObject(history);
++ return(HTAnchor *)HTList_lastObject(history); /* is Home if can't backtrack */
++}
++
++BOOL HTHistory_canBacktrack
++ NOARGS
++{
++ return (HTList_objectAt (history, 1) != NULL);
++}
++
++/* Browse through references in the same parent node
++** -------------------------------------------------
++**
++** Take the n-th child's link after or before the one we took to get here.
++** Positive offset means go towards most recently added children.
++*/
++
++HTAnchor * HTHistory_moveBy
++ ARGS1 (int,offset)
++{
++ HTAnchor * last = (HTAnchor *)HTList_objectAt (history, 1);
++ if (! last)
++ return NULL; /* No last visited node */
++ if (last != (HTAnchor *) last->parent) { /* Was a child */
++ HTList * kids = last->parent->children;
++ int i = HTList_indexOf (kids, last);
++ HTAnchor * nextOne = (HTAnchor *)HTList_objectAt (kids, i - offset);
++ if (nextOne) {
++ HTAnchor * destination = HTAnchor_followMainLink (nextOne);
++ if (destination) {
++ HTList_removeLastObject (history);
++ HTList_removeLastObject (history);
++ HTList_addObject (history, nextOne);
++ HTList_addObject (history, destination);
++ }
++ return destination;
++ } else {
++ CTRACE(tfp, "HTHistory_moveBy: offset by %+d goes out of list %p.\n",
++ offset, (void*)kids);
++ return NULL;
++ }
++ } else { /* Was a parent */
++ return NULL; /* FIXME we could possibly follow the next link... */
++ }
++}
++
++BOOL HTHistory_canMoveBy
++ ARGS1 (int,offset)
++{
++ HTAnchor * last = (HTAnchor *)HTList_objectAt (history, 1);
++ if (! last)
++ return NO; /* No last visited node */
++ if (last != (HTAnchor *) last->parent) { /* Was a child */
++ HTList * kids = last->parent->children;
++ int i = HTList_indexOf (kids, last);
++ return (HTList_objectAt (kids, i - offset) != NULL);
++ } else { /* Was a parent */
++ return NO; /* FIXME we could possibly follow the next link... */
++ }
++}
++
++
++/* Retrieval
++** =========
++*/
++
++/* Read numbered visited anchor (1 is the oldest)
++** ----------------------------
++*/
++
++HTAnchor * HTHistory_read
++ ARGS1 (int,number)
++{
++ return (HTAnchor *)HTList_objectAt(history, HTList_count (history) - number);
++}
++
++
++/* Recall numbered visited anchor (1 is the oldest)
++** ------------------------------
++** This reads the anchor and stores it again in the list, except if last.
++*/
++
++HTAnchor * HTHistory_recall
++ ARGS1 (int,number)
++{
++ HTAnchor * destination =
++ (HTAnchor *)HTList_objectAt (history, HTList_count (history) - number);
++ if (destination && destination != (HTAnchor *)HTList_lastObject (history))
++ HTList_addObject (history, destination);
++ return destination;
++}
++
++/* Number of Anchors stored
++** ------------------------
++**
++** This is needed in order to check the validity of certain commands
++** for menus, etc.
++(not needed for now. Use canBacktrack, etc.)
++int HTHistory_count
++ NOARGS
++{
++ return HTList_count (history);
++}
++*/
++
++/* Change last history entry
++** -------------------------
++**
++** Sometimes we load a node by one anchor but leave by a different
++** one, and it is the one we left from which we want to remember.
++*/
++
++void HTHistory_leavingFrom
++ ARGS1 (HTAnchor *,anchor)
++{
++ if (HTList_removeLastObject (history)) {
++ HTList_addObject (history, anchor);
++ } else {
++ CTRACE(tfp, "HTHistory_leavingFrom: empty history !\n");
++ }
++}
diff --git a/www/lynx/patches.v6/patch-al b/www/lynx/patches.v6/patch-al
new file mode 100644
index 00000000000..181e4a09906
--- /dev/null
+++ b/www/lynx/patches.v6/patch-al
@@ -0,0 +1,120 @@
+$NetBSD: patch-al,v 1.1 2000/01/15 17:44:23 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTHistory.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTHistory.h
+--- ./WWW/Library/Implementation/HTHistory.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTHistory.h Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,112 @@
++/* */
++
++#ifndef HTHISTORY_H
++#define HTHISTORY_H
++
++#include <HTAnchor.h>
++
++#ifdef SHORT_NAMES
++#define HTHistory_record HTHiReco
++#define HTHistory_backtrack HTHiBack
++#define HTHistory_canBacktrack HTHiCaBa
++#define HTHistory_moveBy HTHiMoBy
++#define HTHistory_canMoveBy HTHiCaMo
++#define HTHistory_read HTHiRead
++#define HTHistory_recall HTHiReca
++#define HTHistory_count HTHiCoun
++#define HTHistory_leavingFrom HTHiLeFr
++#endif
++
++/* Navigation
++** ==========
++*/
++
++/* Record the jump to an anchor
++** ----------------------------
++*/
++
++extern void HTHistory_record
++ PARAMS(
++ (HTAnchor * destination)
++ );
++
++/* Go back in history (find the last visited node)
++** ------------------
++*/
++
++extern HTAnchor * HTHistory_backtrack
++ NOPARAMS; /* FIXME: Should we add a `sticky' option ? */
++
++extern BOOL HTHistory_canBacktrack
++ NOPARAMS;
++
++/* Browse through references in the same parent node
++** -------------------------------------------------
++**
++** Take the n-th child's link after or before the one we took to get here.
++** Positive offset means go towards most recently added children.
++*/
++
++extern HTAnchor * HTHistory_moveBy
++ PARAMS(
++ (int offset)
++ );
++
++extern BOOL HTHistory_canMoveBy
++ PARAMS(
++ (int offset)
++ );
++
++#define HTHistory_next (HTHistory_moveBy (+1))
++#define HTHistory_canNext (HTHistory_canMoveBy (+1))
++#define HTHistory_previous (HTHistory_moveBy (-1))
++#define HTHistory_canPrevious (HTHistory_canMoveBy (-1))
++
++
++/* Retrieval
++** =========
++*/
++
++/* Read numbered visited anchor (1 is the oldest)
++** ----------------------------
++*/
++
++extern HTAnchor * HTHistory_read
++ PARAMS(
++ (int number)
++ );
++
++/* Recall numbered visited anchor (1 is the oldest)
++** ------------------------------
++** This reads the anchor and stores it again in the list, except if last.
++*/
++
++extern HTAnchor * HTHistory_recall
++ PARAMS(
++ (int number)
++ );
++
++/* Number of Anchors stored
++** ------------------------
++**
++** This is needed in order to check the validity of certain commands
++** for menus, etc.
++(not needed for now. Use canBacktrack, etc.)
++extern int HTHistory_count NOPARAMS;
++*/
++
++/* Change last history entry
++** -------------------------
++**
++** Sometimes we load a node by one anchor but leave by a different
++** one, and it is the one we left from which we want to remember.
++*/
++extern void HTHistory_leavingFrom
++ PARAMS(
++ (HTAnchor * anchor)
++ );
++
++#endif /* HTHISTORY_H */
++/*
++
++ */
diff --git a/www/lynx/patches.v6/patch-am b/www/lynx/patches.v6/patch-am
new file mode 100644
index 00000000000..3b7207eb2a8
--- /dev/null
+++ b/www/lynx/patches.v6/patch-am
@@ -0,0 +1,303 @@
+$NetBSD: patch-am,v 1.1 2000/01/15 17:44:23 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTPasswd.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTPasswd.c
+--- ./WWW/Library/Implementation/HTPasswd.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTPasswd.c Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,295 @@
++
++/* MODULE HTPasswd.c
++** PASSWORD FILE ROUTINES
++**
++** AUTHORS:
++** AL Ari Luotonen luotonen@dxcern.cern.ch
++** MD Mark Donszelmann duns@vxdeop.cern.ch
++**
++** HISTORY:
++** 7 Nov 93 MD free for crypt taken out (static data returned)
++**
++**
++** BUGS:
++**
++**
++*/
++
++#include <HTUtils.h>
++
++#include <HTAAUtil.h> /* Common parts of AA */
++#include <HTAAFile.h> /* File routines */
++#include <HTAAServ.h> /* Server routines */
++#include <HTPasswd.h> /* Implemented here */
++
++#include <LYLeaks.h>
++
++extern char *crypt();
++
++
++PRIVATE char salt_chars [65] =
++ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
++
++
++/* PRIVATE next_rec()
++** GO TO THE BEGINNING OF THE NEXT RECORD
++** Otherwise like HTAAFile_nextRec() but
++** does not handle continuation lines
++** (because password file has none).
++** ON ENTRY:
++** fp is the password file from which records are read from.
++**
++** ON EXIT:
++** returns nothing. File read pointer is located at the beginning
++** of the next record.
++*/
++PRIVATE void next_rec ARGS1(FILE *, fp)
++{
++ int ch = getc(fp);
++
++ while (ch != EOF && ch != CR && ch != LF)
++ ch = getc(fp); /* Skip until end-of-line */
++
++ while (ch != EOF &&
++ (ch == CR || ch == LF)) /*Skip carriage returns and linefeeds*/
++ ch = getc(fp);
++
++ if (ch != EOF)
++ ungetc(ch, fp);
++}
++
++
++/* PUBLIC HTAA_encryptPasswd()
++** ENCRYPT PASSWORD TO THE FORM THAT IT IS SAVED
++** IN THE PASSWORD FILE.
++** ON ENTRY:
++** password is a string of arbitrary lenght.
++**
++** ON EXIT:
++** returns password in one-way encrypted form.
++**
++** NOTE:
++** Uses currently the C library function crypt(), which
++** only accepts at most 8 characters long strings and produces
++** always 13 characters long strings. This function is
++** called repeatedly so that longer strings can be encrypted.
++** This is of course not as safe as encrypting the entire
++** string at once, but then again, we are not that paranoid
++** about the security inside the machine.
++**
++*/
++PUBLIC char *HTAA_encryptPasswd ARGS1(CONST char *, password)
++{
++ char salt[3];
++ char chunk[9];
++ char *result;
++ char *tmp;
++ CONST char *cur = password;
++ int len = strlen(password);
++ int randum = (int)theTime; /* This is random enough */
++
++ if (!(result = (char*)malloc(13*((strlen(password)+7)/8) + 1)))
++ outofmem(__FILE__, "HTAA_encryptPasswd");
++
++ *result = (char)0;
++ while (len > 0) {
++ salt[0] = salt_chars[randum%64];
++ salt[1] = salt_chars[(randum/64)%64];
++ salt[2] = (char)0;
++
++ strncpy(chunk, cur, 8);
++ chunk[8] = (char)0;
++
++ tmp = crypt((char*)password, salt); /*crypt() doesn't change its args*/
++ strcat(result, tmp);
++
++ cur += 8;
++ len -= 8;
++ } /* while */
++
++ return result;
++}
++
++
++
++/* PUBLIC HTAA_passwdMatch()
++** VERIFY THE CORRECTNESS OF A GIVEN PASSWORD
++** AGAINST A ONE-WAY ENCRYPTED FORM OF PASSWORD.
++** ON ENTRY:
++** password is cleartext password.
++** encrypted is one-way encrypted password, as returned
++** by function HTAA_encryptPasswd().
++** This is typically read from the password
++** file.
++**
++** ON EXIT:
++** returns YES, if password matches the encrypted one.
++** NO, if not, or if either parameter is NULL.
++** FIX:
++** Only the length of original encrypted password is
++** checked -- longer given passwords are accepted if
++** common length is correct (but not shorter).
++** This is to allow interoperation of servers and clients
++** who have a hard-coded limit of 8 to password.
++*/
++PUBLIC BOOL HTAA_passwdMatch ARGS2(CONST char *, password,
++ CONST char *, encrypted)
++{
++ char *result;
++ size_t len;
++ int status;
++
++ if (!password || !encrypted)
++ return NO;
++
++ len = 13*((strlen(password)+7)/8);
++ if (len < strlen(encrypted))
++ return NO;
++
++ if (!(result = (char*)malloc(len + 1)))
++ outofmem(__FILE__, "HTAA_encryptPasswd");
++
++ *result = (char)0;
++ while (len != 0) {
++ char salt[3];
++ char chunk[9];
++ CONST char *cur1 = password;
++ CONST char *cur2 = encrypted;
++ char *tmp;
++
++ salt[0] = *cur2;
++ salt[1] = *(cur2+1);
++ salt[2] = (char)0;
++
++ strncpy(chunk, cur1, 8);
++ chunk[8] = (char)0;
++
++ tmp = crypt((char*)password, salt);
++ strcat(result, tmp);
++
++ cur1 += 8;
++ cur2 += 13;
++ len -= 13;
++ } /* while */
++
++ status = strncmp(result, encrypted, strlen(encrypted));
++
++ CTRACE(tfp, "%s `%s' (encrypted: `%s') with: `%s' => %s\n",
++ "HTAA_passwdMatch: Matching password:",
++ password, result, encrypted,
++ (status==0 ? "OK" : "INCORRECT"));
++
++ FREE(result);
++
++ if (status==0)
++ return YES;
++ else
++ return NO;
++}
++
++
++/* PUBLIC HTAAFile_readPasswdRec()
++** READ A RECORD FROM THE PASSWORD FILE
++** ON ENTRY:
++** fp open password file
++** out_username buffer to put the read username, must be at
++** least MAX_USERNAME_LEN+1 characters long.
++** out_passwd buffer to put the read password, must be at
++** least MAX_PASSWORD_LEN+1 characters long.
++** ON EXIT:
++** returns EOF on end of file,
++** otherwise the number of read fields
++** (i.e. in a correct case returns 2).
++** out_username contains the null-terminated read username.
++** out_password contains the null-terminated read password.
++**
++** FORMAT OF PASSWORD FILE:
++** username:password:maybe real name or other stuff
++** (may include even colons)
++**
++** There may be whitespace (blanks or tabs) in the beginning and
++** the end of each field. They are ignored.
++*/
++PUBLIC int HTAAFile_readPasswdRec ARGS3(FILE *, fp,
++ char *, out_username,
++ char *, out_password)
++{
++ int terminator;
++
++ terminator = HTAAFile_readField(fp, out_username, MAX_USERNAME_LEN);
++
++ if (terminator == EOF) { /* End of file */
++ return EOF;
++ }
++ else if (terminator == CR || terminator == LF) { /* End of line */
++ next_rec(fp);
++ return 1;
++ }
++ else {
++ HTAAFile_readField(fp, out_password, MAX_PASSWORD_LEN);
++ next_rec(fp);
++ return 2;
++ }
++}
++
++
++
++/* PUBLIC HTAA_checkPassword()
++** CHECK A USERNAME-PASSWORD PAIR
++** ON ENTRY:
++** username is a null-terminated string containing
++** the client's username.
++** password is a null-terminated string containing
++** the client's corresponding password.
++** filename is a null-terminated absolute filename
++** for password file.
++** If NULL or empty, the value of
++** PASSWD_FILE is used.
++** ON EXIT:
++** returns YES, if the username-password pair was correct.
++** NO, otherwise; also, if open fails.
++*/
++PUBLIC BOOL HTAA_checkPassword ARGS3(CONST char *, username,
++ CONST char *, password,
++ CONST char *, filename)
++{
++ FILE *fp = NULL;
++ char user[MAX_USERNAME_LEN+1];
++ char pw[MAX_PASSWORD_LEN+1];
++ int status;
++
++ if (filename && *filename) fp = fopen(filename,"r");
++ else fp = fopen(PASSWD_FILE,"r");
++
++ if (!fp) {
++ CTRACE(tfp, "%s `%s'\n",
++ "HTAA_checkPassword: Unable to open password file",
++ (filename && *filename ? filename : PASSWD_FILE));
++ return NO;
++ }
++ do {
++ if (2 == (status = HTAAFile_readPasswdRec(fp,user,pw))) {
++ CTRACE(tfp, "HTAAFile_validateUser: %s \"%s\" %s \"%s:%s\"\n",
++ "Matching username:", username,
++ "against passwd record:", user, pw);
++ if (username && user && !strcmp(username,user)) {
++ /* User's record found */
++ if (*pw != '\0') { /* So password is required for this user */
++ if (!password ||
++ !HTAA_passwdMatch(password,pw)) /* Check the password */
++ status = EOF; /* If wrong, indicate it with EOF */
++ }
++ break; /* exit loop */
++ } /* if username found */
++ } /* if record is ok */
++ } while (status != EOF);
++
++ fclose(fp);
++
++ CTRACE(tfp, "HTAAFile_checkPassword: (%s,%s) %scorrect\n",
++ username, password, ((status != EOF) ? "" : "in"));
++
++ if (status == EOF) return NO; /* We traversed to the end without luck */
++ else return YES; /* The user was found */
++}
++
diff --git a/www/lynx/patches.v6/patch-an b/www/lynx/patches.v6/patch-an
new file mode 100644
index 00000000000..a1fbfe004b8
--- /dev/null
+++ b/www/lynx/patches.v6/patch-an
@@ -0,0 +1,134 @@
+$NetBSD: patch-an,v 1.1 2000/01/15 17:44:23 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTPasswd.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTPasswd.h
+--- ./WWW/Library/Implementation/HTPasswd.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTPasswd.h Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,126 @@
++/* PASSWORD FILE ROUTINES
++
++ */
++
++#ifndef HTPASSWD_H
++#define HTPASSWD_H
++
++#include <HTList.h>
++
++#ifdef SHORT_NAMES
++#define HTAAenPw HTAA_encryptPasswd
++#define HTAApwMa HTAA_passwdMatch
++#define HTAAFrPR HTAAFile_readPasswdRec
++#define HTAAchPw HTAA_checkPasswd
++#endif /* SHORT_NAMES */
++
++/*
++
++User Authentication
++
++ HTAA_checkPassword(username,password,passwdfile)opens the password file, and checks if
++ the username-password pair is correct. Return value is YES, if and only if they are
++ correct. Otherwise, and also if the open fails, returns NO.
++
++ If the given password file name is NULL or an empty string, the default password file
++ name is used (macro PASSWD_FILE).
++
++ */
++
++/* PUBLIC HTAA_checkPassword()
++** VALIDATE A USERNAME-PASSWORD PAIR
++** ON ENTRY:
++** username is a null-terminated string containing
++** the client's username.
++** password is a null-terminated string containing
++** the client's corresponding password.
++** filename is a null-terminated absolute filename
++** for password file.
++** If NULL or empty, the value of
++** PASSWD_FILE is used.
++** ON EXIT:
++** returns YES, if the username-password pair was correct.
++** NO, otherwise; also, if open fails.
++*/
++PUBLIC BOOL HTAA_checkPassword PARAMS((CONST char * username,
++ CONST char * password,
++ CONST char * filename));
++/*
++
++Password File Maintenance Routines
++
++ */
++
++/* PUBLIC HTAA_encryptPasswd()
++** ENCRYPT PASSWORD TO THE FORM THAT IT IS SAVED
++** IN THE PASSWORD FILE.
++** ON ENTRY:
++** password is a string of arbitrary lenght.
++**
++** ON EXIT:
++** returns password in one-way encrypted form.
++**
++** NOTE:
++** Uses currently the C library function crypt(), which
++** only accepts at most 8 characters long strings and produces
++** always 13 characters long strings. This function is
++** called repeatedly so that longer strings can be encrypted.
++** This is of course not as safe as encrypting the entire
++** string at once, but then again, we are not that paranoid
++** about the security inside the machine.
++**
++*/
++PUBLIC char *HTAA_encryptPasswd PARAMS((CONST char * password));
++
++
++/* PUBLIC HTAA_passwdMatch()
++** VERIFY THE CORRECTNESS OF A GIVEN PASSWORD
++** AGAINST A ONE-WAY ENCRYPTED FORM OF PASSWORD.
++** ON ENTRY:
++** password is cleartext password.
++** encrypted is one-way encrypted password, as returned
++** by function HTAA_encryptPasswd().
++** This is typically read from the password
++** file.
++**
++** ON EXIT:
++** returns YES, if password matches the encrypted one.
++** NO, if not, or if either parameter is NULL.
++*/
++PUBLIC BOOL HTAA_passwdMatch PARAMS((CONST char * password,
++ CONST char * encrypted));
++
++
++/* PUBLIC HTAAFile_readPasswdRec()
++** READ A RECORD FROM THE PASSWORD FILE
++** ON ENTRY:
++** fp open password file
++** out_username buffer to put the read username, must be at
++** least MAX_USERNAME_LEN+1 characters long.
++** out_passwd buffer to put the read password, must be at
++** least MAX_PASSWORD_LEN+1 characters long.
++** ON EXIT:
++** returns EOF on end of file,
++** otherwise the number of read fields
++** (i.e. in a correct case returns 2).
++** out_username contains the null-terminated read username.
++** out_password contains the null-terminated read password.
++**
++** FORMAT OF PASSWORD FILE:
++** username:password:maybe real name or other stuff
++** (may include even colons)
++**
++** There may be whitespace (blanks or tabs) in the beginning and
++** the end of each field. They are ignored.
++*/
++PUBLIC int HTAAFile_readPasswdRec PARAMS((FILE * fp,
++ char * out_username,
++ char * out_password));
++/*
++
++ */
++
++#endif /* not HTPASSWD_H */
++/*
++
++ End of file HTPasswd.h. */
diff --git a/www/lynx/patches.v6/patch-ao b/www/lynx/patches.v6/patch-ao
new file mode 100644
index 00000000000..bfaa2988152
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ao
@@ -0,0 +1,713 @@
+$NetBSD: patch-ao,v 1.1 2000/01/15 17:44:24 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTTCP.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTTCP.c
+--- ./WWW/Library/Implementation/HTTCP.c Mon May 24 21:00:53 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTTCP.c Sat Jan 15 07:57:18 2000
+@@ -297,13 +297,15 @@
+ PUBLIC CONST char * HTInetString ARGS1(
+ SockA*, soc_in)
+ {
+- static char string[16];
+- sprintf(string, "%d.%d.%d.%d",
+- (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+- (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+- (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+- (int)*((unsigned char *)(&soc_in->sin_addr)+3));
+- return string;
++ static char hostbuf[MAXHOSTNAMELEN];
++ getnameinfo((struct sockaddr *)soc_in,
++#ifdef SIN6_LEN
++ ((struct sockaddr *)soc_in)->sa_len,
++#else
++ SA_LEN((struct sockaddr *)soc_in),
++#endif
++ hostbuf, sizeof(hostbuf), NULL, 0, NI_NUMERICHOST);
++ return hostbuf;
+ }
+ #endif /* !DECNET */
+
+@@ -1051,11 +1053,13 @@
+ ** *soc_in is filled in. If no port is specified in str, that
+ ** field is left unchanged in *soc_in.
+ */
+-PUBLIC int HTParseInet ARGS2(
++PUBLIC int HTParseInet ARGS3(
+ SockA *, soc_in,
+- CONST char *, str)
++ CONST char *, str,
++ int, default_port)
+ {
+ char *port;
++ char portstr[NI_MAXSERV];
+ int dotcount_ip = 0; /* for dotted decimal IP addr */
+ #ifndef _WINDOWS_NSL
+ char *host = NULL;
+@@ -1078,28 +1082,18 @@
+ /*
+ ** Parse port number if present.
+ */
+- if ((port = strchr(host, ':')) != NULL) {
+- *port++ = 0; /* Chop off port */
+- if (port[0] >= '0' && port[0] <= '9') {
+-#ifdef unix
+- soc_in->sin_port = htons(atol(port));
+-#else /* VMS: */
+-#ifdef DECNET
+- soc_in->sdn_objnum = (unsigned char)(strtol(port, (char**)0, 10));
+-#else
+- soc_in->sin_port = htons((unsigned short)strtol(port,(char**)0,10));
+-#endif /* Decnet */
+-#endif /* Unix vs. VMS */
+-#ifdef SUPPRESS /* 1. crashes!?!. 2. Not recommended */
+- } else {
+- struct servent * serv = getservbyname(port, (char*)0);
+- if (serv) {
+- soc_in->sin_port = serv->s_port;
+- } else {
+- CTRACE(tfp, "TCP: Unknown service %s\n", port);
+- }
+-#endif /* SUPPRESS */
+- }
++
++ if (!strrchr(host, ']'))
++ port = strrchr(host, ':');
++ else
++ port = strrchr(strrchr(host, ']'), ':');
++
++ if (port) {
++ *port++ = 0; /* Chop off port */
++ }
++ else {
++ sprintf(portstr,"%d", default_port);
++ port = portstr;
+ }
+
+ #ifdef DECNET
+@@ -1113,6 +1107,13 @@
+ soc_in->sdn_objnum, host);
+ #else /* parse Internet host: */
+
++ /* [host] case */
++ if (host[0] == '[' && host[strlen(host) - 1] == ']') {
++ host[strlen(host) - 1] = '\0';
++ host++;
++ }
++
++#ifndef INET6
+ if (*host >= '0' && *host <= '9') { /* Test for numeric node address: */
+ char *strptr = host;
+ while (*strptr) {
+@@ -1127,11 +1128,14 @@
+ dotcount_ip = 0;
+ }
+ }
++#endif
+
+ /*
+ ** Parse host number if present.
+ */
+- if (dotcount_ip == 3) { /* Numeric node address: */
++#ifndef INET6
++ if (dotcount_ip == 3) /* Numeric node address: */
++ {
+
+ #ifdef DJGPP
+ soc_in->sin_addr.s_addr = htonl(aton(host));
+@@ -1159,7 +1163,9 @@
+ #ifndef _WINDOWS_NSL
+ FREE(host);
+ #endif /* _WINDOWS_NSL */
+- } else { /* Alphanumeric node name: */
++ } else
++#endif
++ { /* Alphanumeric node name: */
+
+ #ifdef MVS /* Outstanding problem with crash in MVS gethostbyname */
+ CTRACE(tfp, "HTParseInet: Calling LYGetHostByName(%s)\n", host);
+@@ -1181,10 +1187,18 @@
+ memcpy((void *)&soc_in->sin_addr, phost->h_addr, phost->h_length);
+ #else /* !DJGPP, !_WINDOWS_NSL: */
+ {
+- struct hostent *phost;
+- phost = LYGetHostByName(host); /* See above */
++ struct addrinfo hints, *res;
++ int error;
+
+- if (!phost) goto failed;
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ error = getaddrinfo(host, port, &hints, &res);
++
++ if (error || !res) {
++ CTRACE(tfp, "HTParseInet: getaddrinfo(%s): %s\n", host,
++ gai_strerror(error));
++ goto failed;
++ }
+ #if defined(VMS) && defined(CMU_TCP)
+ /*
+ ** In LIBCMU, phost->h_length contains not the length of one address
+@@ -1194,14 +1208,18 @@
+ ** longer supported, and CMU users are encouraged to obtain and use
+ ** SOCKETSHR/NETLIB instead. - S. Bjorndahl
+ */
+- memcpy((void *)&soc_in->sin_addr, phost->h_addr, 4);
+-#else
+- if (!phost) goto failed;
+- if (phost->h_length != sizeof soc_in->sin_addr) {
+- HTAlwaysAlert(host, gettext("Address length looks invalid"));
++ if (res->ai_family == AF_INET) {
++ memcpy((void *)&soc_in->sin_addr,
++ &((struct sockaddr_in *)res->ai_addr)->sin_addr, 4);
++ } else {
++ CTRACE(tfp, "HTParseInet: unsupported address family %d\n",
++ res->ai_family);
++ goto failed;
+ }
+- memcpy((void *)&soc_in->sin_addr, phost->h_addr, phost->h_length);
++#else
++ memcpy((void *)soc_in, res->ai_addr, res->ai_addrlen);
+ #endif /* VMS && CMU_TCP */
++ freeaddrinfo(res);
+ }
+ #endif /* !DJGPP, !_WINDOWS_NSL */
+ #endif /* !DJGPP */
+@@ -1211,12 +1229,14 @@
+
+ } /* Alphanumeric node name */
+
++#ifndef INET6
+ CTRACE(tfp, "HTParseInet: Parsed address as port %d, IP address %d.%d.%d.%d\n",
+ (int)ntohs(soc_in->sin_port),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+ (int)*((unsigned char *)(&soc_in->sin_addr)+3));
++#endif
+ #endif /* Internet vs. Decnet */
+
+ return 0; /* OK */
+@@ -1232,8 +1252,50 @@
+ case HT_INTERRUPTED:
+ return lynx_nsl_status;
+ default:
+- return -1;
++ return -1;
++ }
+ }
++
++PRIVATE struct addrinfo *
++HTGetAddrInfo ARGS2(
++ CONST char *, str,
++ CONST int, defport)
++{
++ struct addrinfo hints, *res;
++ int error;
++ char *p;
++ char *s;
++ char *host, *port;
++ char pbuf[10];
++
++ s = strdup(str);
++
++ if (s[0] == '[' && (p = strchr(s, ']')) != NULL) {
++ *p++ = '\0';
++ host = s + 1;
++ } else {
++ p = s;
++ host = &s[0];
++ }
++ port = strrchr(p, ':');
++ if (port) {
++ *port++ = '\0';
++ } else {
++ snprintf(pbuf, sizeof(pbuf), "%d", defport);
++ port = pbuf;
++ }
++
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ error = getaddrinfo(host, port, &hints, &res);
++ if (error || !res) {
++ CTRACE(tfp, "HTGetAddrInfo: getaddrinfo(%s, %s): %s\n", host, port,
++ gai_strerror(error));
++ return NULL;
++ }
++
++ return res;
+ }
+
+ #ifdef LY_FIND_LEAKS
+@@ -1262,7 +1324,8 @@
+ char *domain_name; /* The name of this host domain */
+ #endif /* UCX */
+ #ifdef NEED_HOST_ADDRESS /* no -- needs name server! */
+- struct hostent * phost; /* Pointer to host -- See netdb.h */
++ struct addrinfo hints, *res;
++ int error;
+ #endif /* NEED_HOST_ADDRESS */
+ int namelength = sizeof(name);
+
+@@ -1290,14 +1353,20 @@
+
+ #ifndef DECNET /* Decnet ain't got no damn name server 8#OO */
+ #ifdef NEED_HOST_ADDRESS /* no -- needs name server! */
+- phost = gethostbyname(name); /* See netdb.h */
+- if (!OK_HOST(phost)) {
+- CTRACE(tfp, "TCP: Can't find my own internet node address for `%s'!!\n",
+- name);
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_CANONNAME;
++ error = getaddrinfo(name, NULL, &hints, &res);
++ if (error || !res || !res->ai_canonname) {
++ CTRACE(tfp, "TCP: %s: `%s'\n", gai_strerror(error), name);
++ if (res)
++ freeaddrinfo(res);
+ return; /* Fail! */
+ }
+- StrAllocCopy(hostname, phost->h_name);
+- memcpy(&HTHostAddress, &phost->h_addr, phost->h_length);
++ StrAllocCopy(hostname, res->ai_canonname);
++ memcpy(&HTHostAddress, res->ai_addr, res->ai_addrlen);
++ freeaddrinfo(res);
+ CTRACE(tfp, " Name server says that I am `%s' = %s\n",
+ hostname, HTInetString(&HTHostAddress));
+ #endif /* NEED_HOST_ADDRESS */
+@@ -1322,20 +1391,14 @@
+ int, default_port,
+ int *, s)
+ {
+- struct sockaddr_in soc_address;
+- struct sockaddr_in *soc_in = &soc_address;
+ int status;
+ char *line = NULL;
+ char *p1 = NULL;
+ char *at_sign = NULL;
+ char *host = NULL;
+-
+- /*
+- ** Set up defaults.
+- */
+- memset(soc_in, 0, sizeof(*soc_in));
+- soc_in->sin_family = AF_INET;
+- soc_in->sin_port = htons(default_port);
++ int error;
++ struct sockaddr *sa;
++ struct addrinfo *res, *res0;
+
+ /*
+ ** Get node name and optional port number.
+@@ -1353,25 +1416,15 @@
+
+ HTSprintf0 (&line, gettext("Looking up %s."), host);
+ _HTProgress (line);
+- status = HTParseInet(soc_in, host);
+- if (status) {
+- if (status != HT_INTERRUPTED) {
+- if (status == HT_NOT_ACCEPTABLE) {
+- /* Not HTProgress, so warning won't be overwritten
+- * immediately; but not HTAlert, because typically
+- * there will be other alerts from the callers. - kw
+- */
+- HTUserMsg2(gettext("Invalid hostname %s"), host);
+- } else {
+- HTSprintf0 (&line,
+- gettext("Unable to locate remote host %s."), host);
+- _HTProgress(line);
+- }
+- status = HT_NO_DATA;
+- }
++ /* HTParseInet() is useless! */
++ _HTProgress(host);
++ res0 = HTGetAddrInfo(host, default_port);
++ if (res0 == NULL) {
++ sprintf (line, "Unable to locate remote host %s.", host);
++ _HTProgress(line);
+ FREE(host);
+ FREE(line);
+- return status;
++ return HT_NO_DATA;
+ }
+
+ HTSprintf0 (&line, gettext("Making %s connection to %s."), protocol, host);
+@@ -1379,199 +1432,214 @@
+ FREE(host);
+ FREE(line);
+
+- /*
+- ** Now, let's get a socket set up from the server for the data.
+- */
+- *s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+- if (*s == -1) {
+- HTAlert(gettext("socket failed."));
+- return HT_NO_DATA;
+- }
++ for (res = res0; res; res = res->ai_next) {
++ /*
++ ** Now, let's get a socket set up from the server for the data.
++ */
++ *s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
++ if (*s == -1) {
++ char hostbuf[1024], portbuf[1024];
++ getnameinfo(res->ai_addr, res->ai_addrlen,
++ hostbuf, sizeof(hostbuf), portbuf, sizeof(portbuf),
++ NI_NUMERICHOST|NI_NUMERICSERV);
++ HTSprintf0 (&line, "socket failed: family %d addr %s port %s.",
++ res->ai_family, hostbuf, portbuf);
++ _HTProgress (line);
++ FREE(line);
++ continue;
++ }
+
+ #ifndef DOSPATH
+ #if !defined(NO_IOCTL) || defined(USE_FCNTL)
+- /*
+- ** Make the socket non-blocking, so the connect can be canceled.
+- ** This means that when we issue the connect we should NOT
+- ** have to wait for the accept on the other end.
+- */
+- {
++ /*
++ ** Make the socket non-blocking, so the connect can be canceled.
++ ** This means that when we issue the connect we should NOT
++ ** have to wait for the accept on the other end.
++ */
++ {
+ #ifdef USE_FCNTL
+- int ret = fcntl(*s, F_SETFL, O_NONBLOCK);
++ int ret = fcntl(*s, F_SETFL, O_NONBLOCK);
+ #else
+- int val = 1;
+- int ret = IOCTL(*s, FIONBIO, &val);
++ int val = 1;
++ int ret = IOCTL(*s, FIONBIO, &val);
+ #endif /* USE_FCNTL */
+- if (ret == -1)
+- _HTProgress(gettext("Could not make connection non-blocking."));
+- }
++ if (ret == -1)
++ _HTProgress("Could not make connection non-blocking.");
++ }
+ #endif /* !NO_IOCTL || USE_FCNTL */
+ #endif /* !DOSPATH */
+
+- /*
+- ** Issue the connect. Since the server can't do an instantaneous
+- ** accept and we are non-blocking, this will almost certainly return
+- ** a negative status.
+- */
+-#ifdef SOCKS
+- if (socks_flag) {
+- status = Rconnect(*s, (struct sockaddr*)&soc_address,
+- sizeof(soc_address));
+ /*
+- ** For long Rbind.
++ ** Issue the connect. Since the server can't do an instantaneous
++ ** accept and we are non-blocking, this will almost certainly return
++ ** a negative status.
+ */
+- socks_bind_remoteAddr = soc_address.sin_addr.s_addr;
+- } else
++#ifdef SOCKS
++ if (socks_flag) {
++ status = Rconnect(*s, res->ai_addr, res->ai_addrlen);
++ /*
++ ** For long Rbind.
++ */
++ socks_bind_remoteAddr = soc_address.sin_addr.s_addr;
++ } else
+ #endif /* SOCKS */
+- status = connect(*s, (struct sockaddr*)&soc_address, sizeof(soc_address));
++ status = connect(*s, res->ai_addr, res->ai_addrlen);
+ #ifndef DJGPP
+- /*
+- ** According to the Sun man page for connect:
+- ** EINPROGRESS The socket is non-blocking and the con-
+- ** nection cannot be completed immediately.
+- ** It is possible to select(2) for comple-
+- ** tion by selecting the socket for writ-
+- ** ing.
+- ** According to the Motorola SVR4 man page for connect:
+- ** EAGAIN The socket is non-blocking and the con-
+- ** nection cannot be completed immediately.
+- ** It is possible to select for completion
+- ** by selecting the socket for writing.
+- ** However, this is only possible if the
+- ** socket STREAMS module is the topmost
+- ** module on the protocol stack with a
+- ** write service procedure. This will be
+- ** the normal case.
+- */
+- if ((status < 0) &&
+- (SOCKET_ERRNO == EINPROGRESS || SOCKET_ERRNO == EAGAIN)) {
+- struct timeval timeout;
+- int ret;
+- int tries=0;
+-
+- ret = 0;
+- while (ret <= 0) {
+- fd_set writefds;
++ /*
++ ** According to the Sun man page for connect:
++ ** EINPROGRESS The socket is non-blocking and the con-
++ ** nection cannot be completed immediately.
++ ** It is possible to select(2) for comple-
++ ** tion by selecting the socket for writ-
++ ** ing.
++ ** According to the Motorola SVR4 man page for connect:
++ ** EAGAIN The socket is non-blocking and the con-
++ ** nection cannot be completed immediately.
++ ** It is possible to select for completion
++ ** by selecting the socket for writing.
++ ** However, this is only possible if the
++ ** socket STREAMS module is the topmost
++ ** module on the protocol stack with a
++ ** write service procedure. This will be
++ ** the normal case.
++ */
++ if ((status < 0) &&
++ (SOCKET_ERRNO == EINPROGRESS || SOCKET_ERRNO == EAGAIN)) {
++ struct timeval timeout;
++ int ret;
++ int tries=0;
++
++ ret = 0;
++ while (ret <= 0) {
++ fd_set writefds;
+
+- /*
+- ** Protect against an infinite loop.
+- */
+- if (tries++ >= 180000) {
+- HTAlert(gettext("Connection failed for 180,000 tries."));
+- return HT_NO_DATA;
+- }
++ /*
++ ** Protect against an infinite loop.
++ */
++ if (tries++ >= 180000) {
++ HTAlert("Connection failed for 180,000 tries.");
++ FREE(line);
++ freeaddrinfo(res0);
++ return HT_NO_DATA;
++ }
+
+ #ifdef _WINDOWS_NSL
+- timeout.tv_sec = 100;
++ timeout.tv_sec = 100;
+ #else
+- timeout.tv_sec = 0;
++ timeout.tv_sec = 0;
+ #endif /* _WINDOWS_NSL */
+- timeout.tv_usec = 100000;
+- FD_ZERO(&writefds);
+- FD_SET(*s, &writefds);
++ timeout.tv_usec = 100000;
++ FD_ZERO(&writefds);
++ FD_SET(*s, &writefds);
+ #ifdef SOCKS
+- if (socks_flag)
+- ret = Rselect(FD_SETSIZE, NULL,
+- (void *)&writefds, NULL, &timeout);
+- else
++ if (socks_flag)
++ ret = Rselect(FD_SETSIZE, NULL,
++ (void *)&writefds, NULL, &timeout);
++ else
+ #endif /* SOCKS */
+- ret = select(FD_SETSIZE, NULL, (void *)&writefds, NULL, &timeout);
++ ret = select(FD_SETSIZE, NULL, (void *)&writefds, NULL, &timeout);
+
+- /*
+- ** If we suspend, then it is possible that select will be
+- ** interrupted. Allow for this possibility. - JED
+- */
+- if ((ret == -1) && (errno == EINTR))
+- continue;
++ /*
++ ** If we suspend, then it is possible that select will be
++ ** interrupted. Allow for this possibility. - JED
++ */
++ if ((ret == -1) && (errno == EINTR))
++ continue;
+
+- /*
+- ** Again according to the Sun and Motorola man pages for connect:
+- ** EALREADY The socket is non-blocking and a previ-
+- ** ous connection attempt has not yet been
+- ** completed.
+- ** Thus if the SOCKET_ERRNO is NOT EALREADY we have a real error,
+- ** and should break out here and return that error.
+- ** Otherwise if it is EALREADY keep on trying to complete the
+- ** connection.
+- */
+- if ((ret < 0) && (SOCKET_ERRNO != EALREADY)) {
+- status = ret;
+- break;
+- } else if (ret > 0) {
+ /*
+- ** Extra check here for connection success, if we try to
+- ** connect again, and get EISCONN, it means we have a
+- ** successful connection. But don't check with SOCKS.
++ ** Again according to the Sun and Motorola man pages for connect:
++ ** EALREADY The socket is non-blocking and a previ-
++ ** ous connection attempt has not yet been
++ ** completed.
++ ** Thus if the SOCKET_ERRNO is NOT EALREADY we have a real error,
++ ** and should break out here and return that error.
++ ** Otherwise if it is EALREADY keep on trying to complete the
++ ** connection.
+ */
++ if ((ret < 0) && (SOCKET_ERRNO != EALREADY)) {
++ status = ret;
++ break;
++ } else if (ret > 0) {
++ /*
++ ** Extra check here for connection success, if we try to
++ ** connect again, and get EISCONN, it means we have a
++ ** successful connection. But don't check with SOCKS.
++ */
+ #ifdef SOCKS
+- if (socks_flag) {
+- status = 0;
+- } else {
++ if (socks_flag) {
++ status = 0;
++ } else
+ #endif /* SOCKS */
+- status = connect(*s, (struct sockaddr*)&soc_address,
+- sizeof(soc_address));
++ {
++ status = connect(*s, res->ai_addr, res->ai_addrlen);
+ #ifdef UCX
+- /*
+- ** A UCX feature: Instead of returning EISCONN
+- ** UCX returns EADDRINUSE.
+- ** Test for this status also.
+- */
+- if ((status < 0) && ((SOCKET_ERRNO == EISCONN) ||
+- (SOCKET_ERRNO == EADDRINUSE)))
++ /*
++ ** A UCX feature: Instead of returning EISCONN
++ ** UCX returns EADDRINUSE.
++ ** Test for this status also.
++ */
++ if ((status < 0) && ((SOCKET_ERRNO == EISCONN) ||
++ (SOCKET_ERRNO == EADDRINUSE)))
+ #else
+- if ((status < 0) && (SOCKET_ERRNO == EISCONN))
++ if ((status < 0) && (SOCKET_ERRNO == EISCONN))
+ #endif /* UCX */
+- {
+- status = 0;
+- }
++ {
++ status = 0;
++ }
+
+- if (status && (SOCKET_ERRNO == EALREADY)) /* new stuff LJM */
+- ret = 0; /* keep going */
+- else
+- break;
+-#ifdef SOCKS
++ if (status && (SOCKET_ERRNO == EALREADY)) /* new stuff LJM */
++ ret = 0; /* keep going */
++ else
++ break;
++ }
+ }
+-#endif /* SOCKS */
+- }
+ #ifdef SOCKS
+- else if (!socks_flag)
++ else if (!socks_flag)
+ #else
+- else
++ else
+ #endif /* SOCKS */
+- {
+- /*
+- ** The select says we aren't ready yet. Try to connect
+- ** again to make sure. If we don't get EALREADY or EISCONN,
+- ** something has gone wrong. Break out and report it.
+- **
+- ** For some reason, SVR4 returns EAGAIN here instead of
+- ** EALREADY, even though the man page says it should be
+- ** EALREADY.
+- **
+- ** For some reason, UCX pre 3 apparently returns
+- ** errno = 18242 instead the EALREADY or EISCONN.
+- */
+- status = connect(*s, (struct sockaddr*)&soc_address,
+- sizeof(soc_address));
+- if ((status < 0) &&
+- (SOCKET_ERRNO != EALREADY && SOCKET_ERRNO != EAGAIN) &&
+-#ifdef UCX
+- (SOCKET_ERRNO != 18242) &&
+-#endif /* UCX */
+- (SOCKET_ERRNO != EISCONN)) {
++ {
++ /*
++ ** The select says we aren't ready yet. Try to connect
++ ** again to make sure. If we don't get EALREADY or EISCONN,
++ ** something has gone wrong. Break out and report it.
++ **
++ ** For some reason, SVR4 returns EAGAIN here instead of
++ ** EALREADY, even though the man page says it should be
++ ** EALREADY.
++ **
++ ** For some reason, UCX pre 3 apparently returns
++ ** errno = 18242 instead the EALREADY or EISCONN.
++ */
++ status = connect(*s, res->ai_addr, res->ai_addrlen);
++ if ((status < 0) &&
++ (SOCKET_ERRNO != EALREADY && SOCKET_ERRNO != EAGAIN) &&
++ #ifdef UCX
++ (SOCKET_ERRNO != 18242) &&
++ #endif /* UCX */
++ (SOCKET_ERRNO != EISCONN)) {
++ break;
++ }
++ }
++ if (HTCheckForInterrupt()) {
++ CTRACE(tfp, "*** INTERRUPTED in middle of connect.\n");
++ status = HT_INTERRUPTED;
++ SOCKET_ERRNO = EINTR;
+ break;
+ }
+ }
+- if (HTCheckForInterrupt()) {
+- CTRACE(tfp, "*** INTERRUPTED in middle of connect.\n");
+- status = HT_INTERRUPTED;
+- SOCKET_ERRNO = EINTR;
+- break;
+- }
+ }
++
++ if (status < 0) {
++ NETCLOSE(*s);
++ *s = -1;
++ continue;
++ }
++
++ break;
+ }
+ #endif /* !DJGPP */
+- if (status < 0) {
++ if (*s < 0) {
+ /*
+ ** The connect attempt failed or was interrupted,
+ ** so close up the socket.
+@@ -1596,6 +1664,8 @@
+ #endif /* !NO_IOCTL || USE_FCNTL */
+ #endif /* !DOSPATH */
+
++ FREE(line);
++ freeaddrinfo(res0);
+ return status;
+ }
+
diff --git a/www/lynx/patches.v6/patch-ap b/www/lynx/patches.v6/patch-ap
new file mode 100644
index 00000000000..2b5e25c35d7
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ap
@@ -0,0 +1,31 @@
+$NetBSD: patch-ap,v 1.1 2000/01/15 17:44:24 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTTCP.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTTCP.h
+--- ./WWW/Library/Implementation/HTTCP.h Thu May 13 04:06:05 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTTCP.h Sat Jan 15 07:57:18 2000
+@@ -19,7 +19,7 @@
+ ** it is to be kept.
+ */
+ #ifndef _WINDOWS
+-extern CONST char * HTInetString PARAMS((struct sockaddr_in* mysin));
++extern CONST char * HTInetString PARAMS((SockA* mysin));
+ #endif
+
+
+@@ -101,11 +101,11 @@
+ ** sin points to the binary internet or decnet address field.
+ **
+ ** On exit:
+-** *sin is filled in. If no port is specified in str, that
+-** field is left unchanged in *sin.
++** *sin is filled in. If no port is specified in str,
++** default_port is used
+ */
+ #ifdef __STDC__
+- extern int HTParseInet(struct sockaddr_in * mysin, CONST char * str);
++ extern int HTParseInet(SockA * mysin, CONST char * str, int default_port);
+ /*!! had to change this to get it to compile. CTB */
+ #else
+ extern int HTParseInet();
diff --git a/www/lynx/patches.v6/patch-aq b/www/lynx/patches.v6/patch-aq
new file mode 100644
index 00000000000..252b3a2f946
--- /dev/null
+++ b/www/lynx/patches.v6/patch-aq
@@ -0,0 +1,191 @@
+$NetBSD: patch-aq,v 1.1 2000/01/15 17:44:24 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTWriter.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.c
+--- ./WWW/Library/Implementation/HTWriter.c Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.c Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,183 @@
++/* FILE WRITER HTWrite.c
++** ===========
++**
++*/
++
++#include <HTUtils.h>
++
++#include <HTWriter.h>
++
++#define BUFFER_SIZE 4096 /* Tradeoff */
++
++#include <LYLeaks.h>
++
++/* HTML Object
++** -----------
++*/
++
++struct _HTStream {
++ CONST HTStreamClass * isa;
++
++ int soc;
++ char *write_pointer;
++ char buffer[BUFFER_SIZE];
++#ifdef NOT_ASCII
++ BOOL make_ascii; /* Are we writing to the net? */
++#endif
++};
++
++
++/* Write the buffer out to the socket
++** ----------------------------------
++*/
++
++PRIVATE void flush ARGS1(HTStream *, me)
++{
++ char *read_pointer = me->buffer;
++ char *write_pointer = me->write_pointer;
++
++#ifdef NOT_ASCII
++ if (me->make_ascii) {
++ char * p;
++ for(p = me->buffer; p < me->write_pointer; p++)
++ *p = TOASCII(*p);
++ }
++#endif
++ while (read_pointer < write_pointer) {
++ int status;
++ status = NETWRITE(me->soc, me->buffer, /* Put timeout? @@@ */
++ write_pointer - read_pointer);
++ if (status<0) {
++ CTRACE(tfp, "HTWrite: Error: write() on socket returns %d !!!\n", status);
++ return;
++ }
++ read_pointer = read_pointer + status;
++ }
++ me->write_pointer = me->buffer;
++}
++
++
++/*_________________________________________________________________________
++**
++** A C T I O N R O U T I N E S
++*/
++
++/* Character handling
++** ------------------
++*/
++
++PRIVATE void HTWriter_put_character ARGS2(HTStream *, me, char, c)
++{
++ if (me->write_pointer == &me->buffer[BUFFER_SIZE]) flush(me);
++ *me->write_pointer++ = c;
++}
++
++
++
++/* String handling
++** ---------------
++**
++** Strings must be smaller than this buffer size.
++*/
++PRIVATE void HTWriter_put_string ARGS2(HTStream *, me, CONST char*, s)
++{
++ int l = strlen(s);
++ if (me->write_pointer + l > &me->buffer[BUFFER_SIZE]) flush(me);
++ strcpy(me->write_pointer, s);
++ me->write_pointer = me->write_pointer + l;
++}
++
++
++/* Buffer write. Buffers can (and should!) be big.
++** ------------
++*/
++PRIVATE void HTWriter_write ARGS3(HTStream *, me, CONST char*, s, int, l)
++{
++
++ CONST char *read_pointer = s;
++ CONST char *write_pointer = s+l;
++
++ flush(me); /* First get rid of our buffer */
++
++ while (read_pointer < write_pointer) {
++ int status = NETWRITE(me->soc, (char *)read_pointer,
++ write_pointer - read_pointer);
++ if (status<0) {
++ CTRACE(tfp, "HTWriter_write: Error on socket output stream!!!\n");
++ return;
++ }
++ read_pointer = read_pointer + status;
++ }
++}
++
++
++
++
++/* Free an HTML object
++** -------------------
++**
++** Note that the SGML parsing context is freed, but the created object is not,
++** as it takes on an existence of its own unless explicitly freed.
++*/
++PRIVATE void HTWriter_free ARGS1(HTStream *, me)
++{
++ flush(me);
++ NETCLOSE(me->soc);
++ FREE(me);
++}
++
++PRIVATE void HTWriter_abort ARGS2(HTStream *, me, HTError, e GCC_UNUSED)
++{
++ HTWriter_free(me);
++}
++
++
++/* Structured Object Class
++** -----------------------
++*/
++PRIVATE CONST HTStreamClass HTWriter = /* As opposed to print etc */
++{
++ "SocketWriter",
++ HTWriter_free,
++ HTWriter_abort,
++ HTWriter_put_character, HTWriter_put_string,
++ HTWriter_write
++};
++
++
++/* Subclass-specific Methods
++** -------------------------
++*/
++
++PUBLIC HTStream* HTWriter_new ARGS1(int, soc)
++{
++ HTStream* me = (HTStream*)malloc(sizeof(*me));
++ if (me == NULL) outofmem(__FILE__, "HTML_new");
++ me->isa = &HTWriter;
++
++#ifdef NOT_ASCII
++ me->make_ascii = NO;
++#endif
++ me->soc = soc;
++ me->write_pointer = me->buffer;
++ return me;
++}
++
++/* Subclass-specific Methods
++** -------------------------
++*/
++
++PUBLIC HTStream* HTASCIIWriter ARGS1(int, soc)
++{
++ HTStream* me = (HTStream*)malloc(sizeof(*me));
++ if (me == NULL) outofmem(__FILE__, "HTML_new");
++ me->isa = &HTWriter;
++
++#ifdef NOT_ASCII
++ me->make_ascii = YES;
++#endif
++ me->soc = soc;
++ me->write_pointer = me->buffer;
++ return me;
++}
++
diff --git a/www/lynx/patches.v6/patch-ar b/www/lynx/patches.v6/patch-ar
new file mode 100644
index 00000000000..4cd0579dbf2
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ar
@@ -0,0 +1,36 @@
+$NetBSD: patch-ar,v 1.1 2000/01/15 17:44:24 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/HTWriter.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.h
+--- ./WWW/Library/Implementation/HTWriter.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.h Sat Jan 15 07:57:18 2000
+@@ -0,0 +1,28 @@
++/* */
++
++/* Unix File or Socket Writer HTWriter.c
++** --------------------------
++**
++** This version of the stream object just writes to a socket.
++** The socket is assumed open and closed afterward.
++**
++** There are two versions (identical on ASCII machines)
++** one of which converts to ASCII on output.
++**
++** Bugs:
++** strings written must be less than buffer size.
++*/
++
++#ifndef HTWRITE_H
++#define HTWRITE_H
++
++#include <HTStream.h>
++
++extern HTStream * HTWriter_new PARAMS((int soc));
++
++extern HTStream * HTASCIIWriter PARAMS((int soc));
++
++#endif
++/*
++
++ */
diff --git a/www/lynx/patches.v6/patch-as b/www/lynx/patches.v6/patch-as
new file mode 100644
index 00000000000..1331141551e
--- /dev/null
+++ b/www/lynx/patches.v6/patch-as
@@ -0,0 +1,1100 @@
+$NetBSD: patch-as,v 1.1 2000/01/15 17:44:25 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/entities.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/entities.h
+--- ./WWW/Library/Implementation/entities.h Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/entities.h Sat Jan 15 07:57:19 2000
+@@ -0,0 +1,1092 @@
++/* Entity Names to Unicode table
++** -----------------------------
++**
++*
++* Whole entities[] thing (and much more) now present
++* in this kind of structure. The structured streams to which
++* the SGML modules sends its output could then easily have access
++* to both entity names and unicode values for each (special)
++* character. Probably the whole translation to display characters
++* should be done at that later stage (e.g. in HTML.c).
++* What's missing is a way for the later stage to return info
++* to SGML whether the entity could be displayed or not.
++* (like between SGML_character() and handle_entity() via FoundEntity.)
++* Well, trying to do that now.
++* Why keep two structures for entities? Backward compatibility..
++*/
++
++#ifndef ENTITIES_H
++#define ENTITIES_H 1
++
++#include <HTUtils.h>
++#include <SGML.h>
++
++/* UC_entity_info structure is defined in SGML.h.
++ This has to be sorted alphabetically (case-sensitive),
++ bear this in mind when you add some more entities.. */
++
++/*
++
++This table available from ftp://ftp.unicode.org/
++original comment follows:
++
++
++# Author: John Cowan <cowan@ccil.org>
++# Date: 25 July 1997
++#
++# The following table maps SGML character entities from various
++# public sets (namely, ISOamsa, ISOamsb, ISOamsc, ISOamsn, ISOamso,
++# ISOamsr, ISObox, ISOcyr1, ISOcyr2, ISOdia, ISOgrk1, ISOgrk2,
++# ISOgrk3, ISOgrk4, ISOlat1, ISOlat2, ISOnum, ISOpub, ISOtech,
++# HTMLspecial, HTMLsymbol) to corresponding Unicode characters.
++#
++# The table has four tab-separated columns:
++# Column 1: SGML character entity name
++# Column 2: SGML public entity set
++# Column 3: Unicode 2.0 character code
++# Column 4: Unicode 2.0 character name (UPPER CASE)
++# Entries which don't have Unicode equivalents have "0x????"
++# in Column 3 and a lower case description (from the public entity
++# set DTD) in Column 4. The mapping is not reversible, because many
++# distinctions are unified away in Unicode, particularly between
++# mathematical symbols.
++#
++# The table is sorted case-blind by SGML character entity name.
++#
++# The contents of this table are drawn from various sources, and
++# are in the public domain.
++#
++########################
++
++ We just sort it and move column 2 away (line too long, sorry;
++ look at sgml.html in test/ directory for details).
++ Also we add a few (obsolete) synonyms:
++ "brkbar" for "brvbar" 0x00A6
++ "emdash" for "mdash" 0x2014
++ "endash" for "ndash" 0x2013
++ "hibar" for "macr" 0x00AF
++ for exact compatibility with entities[] and previous bevavior.
++ BTW, lots of synonyms found in this table, we shouldn't worry about...
++*/
++
++static CONST UC_entity_info unicode_entities[] = {
++ {"AElig", 0x00C6}, /* LATIN CAPITAL LETTER AE */
++ {"Aacgr", 0x0386}, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
++ {"Aacute", 0x00C1}, /* LATIN CAPITAL LETTER A WITH ACUTE */
++ {"Abreve", 0x0102}, /* LATIN CAPITAL LETTER A WITH BREVE */
++ {"Acirc", 0x00C2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
++ {"Acy", 0x0410}, /* CYRILLIC CAPITAL LETTER A */
++ {"Agr", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
++ {"Agrave", 0x00C0}, /* LATIN CAPITAL LETTER A WITH GRAVE */
++ {"Alpha", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
++ {"Amacr", 0x0100}, /* LATIN CAPITAL LETTER A WITH MACRON */
++ {"Aogon", 0x0104}, /* LATIN CAPITAL LETTER A WITH OGONEK */
++ {"Aring", 0x00C5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
++ {"Atilde", 0x00C3}, /* LATIN CAPITAL LETTER A WITH TILDE */
++ {"Auml", 0x00C4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
++ {"Barwed", 0x2306}, /* PERSPECTIVE */
++ {"Bcy", 0x0411}, /* CYRILLIC CAPITAL LETTER BE */
++ {"Beta", 0x0392}, /* GREEK CAPITAL LETTER BETA */
++ {"Bgr", 0x0392}, /* GREEK CAPITAL LETTER BETA */
++ {"CHcy", 0x0427}, /* CYRILLIC CAPITAL LETTER CHE */
++ {"Cacute", 0x0106}, /* LATIN CAPITAL LETTER C WITH ACUTE */
++ {"Cap", 0x22D2}, /* DOUBLE INTERSECTION */
++ {"Ccaron", 0x010C}, /* LATIN CAPITAL LETTER C WITH CARON */
++ {"Ccedil", 0x00C7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */
++ {"Ccirc", 0x0108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
++ {"Cdot", 0x010A}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
++ {"Chi", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
++ {"Cup", 0x22D3}, /* DOUBLE UNION */
++ {"DJcy", 0x0402}, /* CYRILLIC CAPITAL LETTER DJE */
++ {"DScy", 0x0405}, /* CYRILLIC CAPITAL LETTER DZE */
++ {"DZcy", 0x040F}, /* CYRILLIC CAPITAL LETTER DZHE */
++ {"Dagger", 0x2021}, /* DOUBLE DAGGER */
++ {"Dcaron", 0x010E}, /* LATIN CAPITAL LETTER D WITH CARON */
++ {"Dcy", 0x0414}, /* CYRILLIC CAPITAL LETTER DE */
++ {"Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
++ {"Dgr", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
++ {"Dot", 0x00A8}, /* DIAERESIS */
++ {"DotDot", 0x20DC}, /* COMBINING FOUR DOTS ABOVE */
++ {"Dstrok", 0x0110}, /* LATIN CAPITAL LETTER D WITH STROKE */
++ {"EEacgr", 0x0389}, /* GREEK CAPITAL LETTER ETA WITH TONOS */
++ {"EEgr", 0x0397}, /* GREEK CAPITAL LETTER ETA */
++ {"ENG", 0x014A}, /* LATIN CAPITAL LETTER ENG */
++ {"ETH", 0x00D0}, /* LATIN CAPITAL LETTER ETH */
++ {"Eacgr", 0x0388}, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
++ {"Eacute", 0x00C9}, /* LATIN CAPITAL LETTER E WITH ACUTE */
++ {"Ecaron", 0x011A}, /* LATIN CAPITAL LETTER E WITH CARON */
++ {"Ecirc", 0x00CA}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
++ {"Ecy", 0x042D}, /* CYRILLIC CAPITAL LETTER E */
++ {"Edot", 0x0116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
++ {"Egr", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
++ {"Egrave", 0x00C8}, /* LATIN CAPITAL LETTER E WITH GRAVE */
++ {"Emacr", 0x0112}, /* LATIN CAPITAL LETTER E WITH MACRON */
++ {"Eogon", 0x0118}, /* LATIN CAPITAL LETTER E WITH OGONEK */
++ {"Epsilon", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
++ {"Eta", 0x0397}, /* GREEK CAPITAL LETTER ETA */
++ {"Euml", 0x00CB}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
++ {"Fcy", 0x0424}, /* CYRILLIC CAPITAL LETTER EF */
++ {"GJcy", 0x0403}, /* CYRILLIC CAPITAL LETTER GJE */
++ {"Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
++ {"Gbreve", 0x011E}, /* LATIN CAPITAL LETTER G WITH BREVE */
++ {"Gcedil", 0x0122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */
++ {"Gcirc", 0x011C}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
++ {"Gcy", 0x0413}, /* CYRILLIC CAPITAL LETTER GHE */
++ {"Gdot", 0x0120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
++ {"Gg", 0x22D9}, /* VERY MUCH GREATER-THAN */
++ {"Ggr", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
++ {"Gt", 0x226B}, /* MUCH GREATER-THAN */
++ {"HARDcy", 0x042A}, /* CYRILLIC CAPITAL LETTER HARD SIGN */
++ {"Hcirc", 0x0124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
++ {"Hstrok", 0x0126}, /* LATIN CAPITAL LETTER H WITH STROKE */
++ {"IEcy", 0x0415}, /* CYRILLIC CAPITAL LETTER IE */
++ {"IJlig", 0x0132}, /* LATIN CAPITAL LIGATURE IJ */
++ {"IOcy", 0x0401}, /* CYRILLIC CAPITAL LETTER IO */
++ {"Iacgr", 0x038A}, /* GREEK CAPITAL LETTER IOTA WITH TONOS */
++ {"Iacute", 0x00CD}, /* LATIN CAPITAL LETTER I WITH ACUTE */
++ {"Icirc", 0x00CE}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
++ {"Icy", 0x0418}, /* CYRILLIC CAPITAL LETTER I */
++ {"Idigr", 0x03AA}, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
++ {"Idot", 0x0130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
++ {"Igr", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
++ {"Igrave", 0x00CC}, /* LATIN CAPITAL LETTER I WITH GRAVE */
++ {"Imacr", 0x012A}, /* LATIN CAPITAL LETTER I WITH MACRON */
++ {"Iogon", 0x012E}, /* LATIN CAPITAL LETTER I WITH OGONEK */
++ {"Iota", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
++ {"Itilde", 0x0128}, /* LATIN CAPITAL LETTER I WITH TILDE */
++ {"Iukcy", 0x0406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN*/
++ {"Iuml", 0x00CF}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
++ {"Jcirc", 0x0134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
++ {"Jcy", 0x0419}, /* CYRILLIC CAPITAL LETTER SHORT I */
++ {"Jsercy", 0x0408}, /* CYRILLIC CAPITAL LETTER JE */
++ {"Jukcy", 0x0404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
++ {"KHcy", 0x0425}, /* CYRILLIC CAPITAL LETTER HA */
++ {"KHgr", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
++ {"KJcy", 0x040C}, /* CYRILLIC CAPITAL LETTER KJE */
++ {"Kappa", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
++ {"Kcedil", 0x0136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */
++ {"Kcy", 0x041A}, /* CYRILLIC CAPITAL LETTER KA */
++ {"Kgr", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
++ {"LJcy", 0x0409}, /* CYRILLIC CAPITAL LETTER LJE */
++ {"Lacute", 0x0139}, /* LATIN CAPITAL LETTER L WITH ACUTE */
++ {"Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
++ {"Larr", 0x219E}, /* LEFTWARDS TWO HEADED ARROW */
++ {"Lcaron", 0x013D}, /* LATIN CAPITAL LETTER L WITH CARON */
++ {"Lcedil", 0x013B}, /* LATIN CAPITAL LETTER L WITH CEDILLA */
++ {"Lcy", 0x041B}, /* CYRILLIC CAPITAL LETTER EL */
++ {"Lgr", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
++ {"Ll", 0x22D8}, /* VERY MUCH LESS-THAN */
++ {"Lmidot", 0x013F}, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
++ {"Lstrok", 0x0141}, /* LATIN CAPITAL LETTER L WITH STROKE */
++ {"Lt", 0x226A}, /* MUCH LESS-THAN */
++ {"Mcy", 0x041C}, /* CYRILLIC CAPITAL LETTER EM */
++ {"Mgr", 0x039C}, /* GREEK CAPITAL LETTER MU */
++ {"Mu", 0x039C}, /* GREEK CAPITAL LETTER MU */
++ {"NJcy", 0x040A}, /* CYRILLIC CAPITAL LETTER NJE */
++ {"Nacute", 0x0143}, /* LATIN CAPITAL LETTER N WITH ACUTE */
++ {"Ncaron", 0x0147}, /* LATIN CAPITAL LETTER N WITH CARON */
++ {"Ncedil", 0x0145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */
++ {"Ncy", 0x041D}, /* CYRILLIC CAPITAL LETTER EN */
++ {"Ngr", 0x039D}, /* GREEK CAPITAL LETTER NU */
++ {"Ntilde", 0x00D1}, /* LATIN CAPITAL LETTER N WITH TILDE */
++ {"Nu", 0x039D}, /* GREEK CAPITAL LETTER NU */
++ {"OElig", 0x0152}, /* LATIN CAPITAL LIGATURE OE */
++ {"OHacgr", 0x038F}, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
++ {"OHgr", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
++ {"Oacgr", 0x038C}, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
++ {"Oacute", 0x00D3}, /* LATIN CAPITAL LETTER O WITH ACUTE */
++ {"Ocirc", 0x00D4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
++ {"Ocy", 0x041E}, /* CYRILLIC CAPITAL LETTER O */
++ {"Odblac", 0x0150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
++ {"Ogr", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
++ {"Ograve", 0x00D2}, /* LATIN CAPITAL LETTER O WITH GRAVE */
++ {"Omacr", 0x014C}, /* LATIN CAPITAL LETTER O WITH MACRON */
++ {"Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
++ {"Omicron", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
++ {"Oslash", 0x00D8}, /* LATIN CAPITAL LETTER O WITH STROKE */
++ {"Otilde", 0x00D5}, /* LATIN CAPITAL LETTER O WITH TILDE */
++ {"Ouml", 0x00D6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
++ {"PHgr", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
++ {"PSgr", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
++ {"Pcy", 0x041F}, /* CYRILLIC CAPITAL LETTER PE */
++ {"Pgr", 0x03A0}, /* GREEK CAPITAL LETTER PI */
++ {"Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
++ {"Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
++ {"Prime", 0x2033}, /* DOUBLE PRIME */
++ {"Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
++ {"Racute", 0x0154}, /* LATIN CAPITAL LETTER R WITH ACUTE */
++ {"Rarr", 0x21A0}, /* RIGHTWARDS TWO HEADED ARROW */
++ {"Rcaron", 0x0158}, /* LATIN CAPITAL LETTER R WITH CARON */
++ {"Rcedil", 0x0156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */
++ {"Rcy", 0x0420}, /* CYRILLIC CAPITAL LETTER ER */
++ {"Rgr", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
++ {"Rho", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
++ {"SHCHcy", 0x0429}, /* CYRILLIC CAPITAL LETTER SHCHA */
++ {"SHcy", 0x0428}, /* CYRILLIC CAPITAL LETTER SHA */
++ {"SOFTcy", 0x042C}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
++ {"Sacute", 0x015A}, /* LATIN CAPITAL LETTER S WITH ACUTE */
++ {"Scaron", 0x0160}, /* LATIN CAPITAL LETTER S WITH CARON */
++ {"Scedil", 0x015E}, /* LATIN CAPITAL LETTER S WITH CEDILLA */
++ {"Scirc", 0x015C}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
++ {"Scy", 0x0421}, /* CYRILLIC CAPITAL LETTER ES */
++ {"Sgr", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
++ {"Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
++ {"Sub", 0x22D0}, /* DOUBLE SUBSET */
++ {"Sup", 0x22D1}, /* DOUBLE SUPERSET */
++ {"THORN", 0x00DE}, /* LATIN CAPITAL LETTER THORN */
++ {"THgr", 0x0398}, /* GREEK CAPITAL LETTER THETA */
++ {"TSHcy", 0x040B}, /* CYRILLIC CAPITAL LETTER TSHE */
++ {"TScy", 0x0426}, /* CYRILLIC CAPITAL LETTER TSE */
++ {"Tau", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
++ {"Tcaron", 0x0164}, /* LATIN CAPITAL LETTER T WITH CARON */
++ {"Tcedil", 0x0162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */
++ {"Tcy", 0x0422}, /* CYRILLIC CAPITAL LETTER TE */
++ {"Tgr", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
++ {"Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
++ {"Tstrok", 0x0166}, /* LATIN CAPITAL LETTER T WITH STROKE */
++ {"Uacgr", 0x038E}, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
++ {"Uacute", 0x00DA}, /* LATIN CAPITAL LETTER U WITH ACUTE */
++ {"Ubrcy", 0x040E}, /* CYRILLIC CAPITAL LETTER SHORT U */
++ {"Ubreve", 0x016C}, /* LATIN CAPITAL LETTER U WITH BREVE */
++ {"Ucirc", 0x00DB}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
++ {"Ucy", 0x0423}, /* CYRILLIC CAPITAL LETTER U */
++ {"Udblac", 0x0170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
++ {"Udigr", 0x03AB}, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
++ {"Ugr", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
++ {"Ugrave", 0x00D9}, /* LATIN CAPITAL LETTER U WITH GRAVE */
++ {"Umacr", 0x016A}, /* LATIN CAPITAL LETTER U WITH MACRON */
++ {"Uogon", 0x0172}, /* LATIN CAPITAL LETTER U WITH OGONEK */
++ {"Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
++ {"Upsilon", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
++ {"Uring", 0x016E}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */
++ {"Utilde", 0x0168}, /* LATIN CAPITAL LETTER U WITH TILDE */
++ {"Uuml", 0x00DC}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
++ {"Vcy", 0x0412}, /* CYRILLIC CAPITAL LETTER VE */
++ {"Vdash", 0x22A9}, /* FORCES */
++ {"Verbar", 0x2016}, /* DOUBLE VERTICAL LINE */
++ {"Vvdash", 0x22AA}, /* TRIPLE VERTICAL BAR RIGHT TURNSTILE */
++ {"Wcirc", 0x0174}, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
++ {"Xgr", 0x039E}, /* GREEK CAPITAL LETTER XI */
++ {"Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
++ {"YAcy", 0x042F}, /* CYRILLIC CAPITAL LETTER YA */
++ {"YIcy", 0x0407}, /* CYRILLIC CAPITAL LETTER YI */
++ {"YUcy", 0x042E}, /* CYRILLIC CAPITAL LETTER YU */
++ {"Yacute", 0x00DD}, /* LATIN CAPITAL LETTER Y WITH ACUTE */
++ {"Ycirc", 0x0176}, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
++ {"Ycy", 0x042B}, /* CYRILLIC CAPITAL LETTER YERU */
++ {"Yuml", 0x0178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
++ {"ZHcy", 0x0416}, /* CYRILLIC CAPITAL LETTER ZHE */
++ {"Zacute", 0x0179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */
++ {"Zcaron", 0x017D}, /* LATIN CAPITAL LETTER Z WITH CARON */
++ {"Zcy", 0x0417}, /* CYRILLIC CAPITAL LETTER ZE */
++ {"Zdot", 0x017B}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
++ {"Zeta", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
++ {"Zgr", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
++ {"aacgr", 0x03AC}, /* GREEK SMALL LETTER ALPHA WITH TONOS */
++ {"aacute", 0x00E1}, /* LATIN SMALL LETTER A WITH ACUTE */
++ {"abreve", 0x0103}, /* LATIN SMALL LETTER A WITH BREVE */
++ {"acirc", 0x00E2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
++ {"acute", 0x00B4}, /* ACUTE ACCENT */
++ {"acy", 0x0430}, /* CYRILLIC SMALL LETTER A */
++ {"aelig", 0x00E6}, /* LATIN SMALL LETTER AE */
++ {"agr", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
++ {"agrave", 0x00E0}, /* LATIN SMALL LETTER A WITH GRAVE */
++ {"alefsym", 0x2135}, /* ALEF SYMBOL */
++ {"aleph", 0x2135}, /* ALEF SYMBOL */
++ {"alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
++ {"amacr", 0x0101}, /* LATIN SMALL LETTER A WITH MACRON */
++ {"amalg", 0x2210}, /* N-ARY COPRODUCT */
++ {"amp", 0x0026}, /* AMPERSAND */
++ {"and", 0x2227}, /* LOGICAL AND */
++ {"ang", 0x2220}, /* ANGLE */
++ {"ang90", 0x221F}, /* RIGHT ANGLE */
++ {"angmsd", 0x2221}, /* MEASURED ANGLE */
++ {"angsph", 0x2222}, /* SPHERICAL ANGLE */
++ {"angst", 0x212B}, /* ANGSTROM SIGN */
++ {"aogon", 0x0105}, /* LATIN SMALL LETTER A WITH OGONEK */
++ {"ap", 0x2248}, /* ALMOST EQUAL TO */
++ {"ape", 0x224A}, /* ALMOST EQUAL OR EQUAL TO */
++ {"apos", 0x02BC}, /* MODIFIER LETTER APOSTROPHE */
++ {"aring", 0x00E5}, /* LATIN SMALL LETTER A WITH RING ABOVE */
++ {"ast", 0x002A}, /* ASTERISK */
++ {"asymp", 0x2248}, /* ALMOST EQUAL TO */
++ {"atilde", 0x00E3}, /* LATIN SMALL LETTER A WITH TILDE */
++ {"auml", 0x00E4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
++ {"b.Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
++ {"b.Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
++ {"b.Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
++ {"b.Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
++ {"b.Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
++ {"b.Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
++ {"b.Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
++ {"b.Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
++ {"b.Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
++ {"b.Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
++ {"b.Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
++ {"b.alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
++ {"b.beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
++ {"b.chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
++ {"b.delta", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
++ {"b.epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"b.epsis", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"b.epsiv", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"b.eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
++ {"b.gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
++ {"b.gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
++ {"b.iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
++ {"b.kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
++ {"b.kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
++ {"b.lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
++ {"b.mu", 0x03BC}, /* GREEK SMALL LETTER MU */
++ {"b.nu", 0x03BD}, /* GREEK SMALL LETTER NU */
++ {"b.omega", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
++ {"b.phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
++ {"b.phiv", 0x03D5}, /* GREEK PHI SYMBOL */
++ {"b.pi", 0x03C0}, /* GREEK SMALL LETTER PI */
++ {"b.piv", 0x03D6}, /* GREEK PI SYMBOL */
++ {"b.psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
++ {"b.rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
++ {"b.rhov", 0x03F1}, /* GREEK RHO SYMBOL */
++ {"b.sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
++ {"b.sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
++ {"b.tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
++ {"b.thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
++ {"b.thetav", 0x03D1}, /* GREEK THETA SYMBOL */
++ {"b.upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
++ {"b.xi", 0x03BE}, /* GREEK SMALL LETTER XI */
++ {"b.zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
++ {"barwed", 0x22BC}, /* NAND */
++ {"bcong", 0x224C}, /* ALL EQUAL TO */
++ {"bcy", 0x0431}, /* CYRILLIC SMALL LETTER BE */
++ {"bdquo", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
++ {"becaus", 0x2235}, /* BECAUSE */
++ {"bepsi", 0x220D}, /* SMALL CONTAINS AS MEMBER */
++ {"bernou", 0x212C}, /* SCRIPT CAPITAL B */
++ {"beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
++ {"beth", 0x2136}, /* BET SYMBOL */
++ {"bgr", 0x03B2}, /* GREEK SMALL LETTER BETA */
++ {"blank", 0x2423}, /* OPEN BOX */
++ {"blk12", 0x2592}, /* MEDIUM SHADE */
++ {"blk14", 0x2591}, /* LIGHT SHADE */
++ {"blk34", 0x2593}, /* DARK SHADE */
++ {"block", 0x2588}, /* FULL BLOCK */
++ {"bottom", 0x22A5}, /* UP TACK */
++ {"bowtie", 0x22C8}, /* BOWTIE */
++ {"boxDL", 0x2557}, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */
++ {"boxDR", 0x2554}, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */
++ {"boxDl", 0x2556}, /* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */
++ {"boxDr", 0x2553}, /* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */
++ {"boxH", 0x2550}, /* BOX DRAWINGS DOUBLE HORIZONTAL */
++ {"boxHD", 0x2566}, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */
++ {"boxHU", 0x2569}, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */
++ {"boxHd", 0x2564}, /* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE*/
++ {"boxHu", 0x2567}, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */
++ {"boxUL", 0x255D}, /* BOX DRAWINGS DOUBLE UP AND LEFT */
++ {"boxUR", 0x255A}, /* BOX DRAWINGS DOUBLE UP AND RIGHT */
++ {"boxUl", 0x255C}, /* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */
++ {"boxUr", 0x2559}, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */
++ {"boxV", 0x2551}, /* BOX DRAWINGS DOUBLE VERTICAL */
++ {"boxVH", 0x256C}, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */
++ {"boxVL", 0x2563}, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */
++ {"boxVR", 0x2560}, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */
++ {"boxVh", 0x256B}, /* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SI*/
++ {"boxVl", 0x2562}, /* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */
++ {"boxVr", 0x255F}, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */
++ {"boxdL", 0x2555}, /* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */
++ {"boxdR", 0x2552}, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */
++ {"boxdl", 0x2510}, /* BOX DRAWINGS LIGHT DOWN AND LEFT */
++ {"boxdr", 0x250C}, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
++ {"boxh", 0x2500}, /* BOX DRAWINGS LIGHT HORIZONTAL */
++ {"boxhD", 0x2565}, /* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE*/
++ {"boxhU", 0x2568}, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */
++ {"boxhd", 0x252C}, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
++ {"boxhu", 0x2534}, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
++ {"boxuL", 0x255B}, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */
++ {"boxuR", 0x2558}, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */
++ {"boxul", 0x2518}, /* BOX DRAWINGS LIGHT UP AND LEFT */
++ {"boxur", 0x2514}, /* BOX DRAWINGS LIGHT UP AND RIGHT */
++ {"boxv", 0x2502}, /* BOX DRAWINGS LIGHT VERTICAL */
++ {"boxvH", 0x256A}, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DO*/
++ {"boxvL", 0x2561}, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */
++ {"boxvR", 0x255E}, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */
++ {"boxvh", 0x253C}, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
++ {"boxvl", 0x2524}, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
++ {"boxvr", 0x251C}, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
++ {"bprime", 0x2035}, /* REVERSED PRIME */
++ {"breve", 0x02D8}, /* BREVE */
++ {"brkbar", 0x00A6}, /* obsolete synonym for "brvbar" 0x00A6 */
++ {"brvbar", 0x00A6}, /* BROKEN BAR */
++ {"bsim", 0x223D}, /* REVERSED TILDE */
++ {"bsime", 0x22CD}, /* REVERSED TILDE EQUALS */
++ {"bsol", 0x005C}, /* REVERSE SOLIDUS */
++ {"bull", 0x2022}, /* BULLET */
++ {"bump", 0x224E}, /* GEOMETRICALLY EQUIVALENT TO */
++ {"bumpe", 0x224F}, /* DIFFERENCE BETWEEN */
++ {"cacute", 0x0107}, /* LATIN SMALL LETTER C WITH ACUTE */
++ {"cap", 0x2229}, /* INTERSECTION */
++ {"caret", 0x2041}, /* CARET INSERTION POINT */
++ {"caron", 0x02C7}, /* CARON */
++ {"ccaron", 0x010D}, /* LATIN SMALL LETTER C WITH CARON */
++ {"ccedil", 0x00E7}, /* LATIN SMALL LETTER C WITH CEDILLA */
++ {"ccirc", 0x0109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */
++ {"cdot", 0x010B}, /* LATIN SMALL LETTER C WITH DOT ABOVE */
++ {"cedil", 0x00B8}, /* CEDILLA */
++ {"cent", 0x00A2}, /* CENT SIGN */
++ {"chcy", 0x0447}, /* CYRILLIC SMALL LETTER CHE */
++ {"check", 0x2713}, /* CHECK MARK */
++ {"chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
++ {"cir", 0x25CB}, /* WHITE CIRCLE */
++ {"circ", 0x02C6}, /* MODIFIER LETTER CIRCUMFLEX ACCENT */
++ {"cire", 0x2257}, /* RING EQUAL TO */
++ {"clubs", 0x2663}, /* BLACK CLUB SUIT */
++ {"colon", 0x003A}, /* COLON */
++ {"colone", 0x2254}, /* COLON EQUALS */
++ {"comma", 0x002C}, /* COMMA */
++ {"commat", 0x0040}, /* COMMERCIAL AT */
++ {"comp", 0x2201}, /* COMPLEMENT */
++ {"compfn", 0x2218}, /* RING OPERATOR */
++ {"cong", 0x2245}, /* APPROXIMATELY EQUAL TO */
++ {"conint", 0x222E}, /* CONTOUR INTEGRAL */
++ {"coprod", 0x2210}, /* N-ARY COPRODUCT */
++ {"copy", 0x00A9}, /* COPYRIGHT SIGN */
++ {"copysr", 0x2117}, /* SOUND RECORDING COPYRIGHT */
++ {"crarr", 0x21B5}, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS */
++ {"cross", 0x2717}, /* BALLOT X */
++ {"cuepr", 0x22DE}, /* EQUAL TO OR PRECEDES */
++ {"cuesc", 0x22DF}, /* EQUAL TO OR SUCCEEDS */
++ {"cularr", 0x21B6}, /* ANTICLOCKWISE TOP SEMICIRCLE ARROW */
++ {"cup", 0x222A}, /* UNION */
++ {"cupre", 0x227C}, /* PRECEDES OR EQUAL TO */
++ {"curarr", 0x21B7}, /* CLOCKWISE TOP SEMICIRCLE ARROW */
++ {"curren", 0x00A4}, /* CURRENCY SIGN */
++ {"cuvee", 0x22CE}, /* CURLY LOGICAL OR */
++ {"cuwed", 0x22CF}, /* CURLY LOGICAL AND */
++ {"dArr", 0x21D3}, /* DOWNWARDS DOUBLE ARROW */
++ {"dagger", 0x2020}, /* DAGGER */
++ {"daleth", 0x2138}, /* DALET SYMBOL */
++ {"darr", 0x2193}, /* DOWNWARDS ARROW */
++ {"darr2", 0x21CA}, /* DOWNWARDS PAIRED ARROWS */
++ {"dash", 0x2010}, /* HYPHEN */
++ {"dashv", 0x22A3}, /* LEFT TACK */
++ {"dblac", 0x02DD}, /* DOUBLE ACUTE ACCENT */
++ {"dcaron", 0x010F}, /* LATIN SMALL LETTER D WITH CARON */
++ {"dcy", 0x0434}, /* CYRILLIC SMALL LETTER DE */
++ {"deg", 0x00B0}, /* DEGREE SIGN */
++ {"delta", 0x03B4}, /* GREEK SMALL LETTER DELTA */
++ {"dgr", 0x03B4}, /* GREEK SMALL LETTER DELTA */
++ {"dharl", 0x21C3}, /* DOWNWARDS HARPOON WITH BARB LEFTWARDS */
++ {"dharr", 0x21C2}, /* DOWNWARDS HARPOON WITH BARB RIGHTWARDS */
++ {"diam", 0x22C4}, /* DIAMOND OPERATOR */
++ {"diams", 0x2666}, /* BLACK DIAMOND SUIT */
++ {"die", 0x00A8}, /* DIAERESIS */
++ {"divide", 0x00F7}, /* DIVISION SIGN */
++ {"divonx", 0x22C7}, /* DIVISION TIMES */
++ {"djcy", 0x0452}, /* CYRILLIC SMALL LETTER DJE */
++ {"dlarr", 0x2199}, /* SOUTH WEST ARROW */
++ {"dlcorn", 0x231E}, /* BOTTOM LEFT CORNER */
++ {"dlcrop", 0x230D}, /* BOTTOM LEFT CROP */
++ {"dollar", 0x0024}, /* DOLLAR SIGN */
++ {"dot", 0x02D9}, /* DOT ABOVE */
++ {"drarr", 0x2198}, /* SOUTH EAST ARROW */
++ {"drcorn", 0x231F}, /* BOTTOM RIGHT CORNER */
++ {"drcrop", 0x230C}, /* BOTTOM RIGHT CROP */
++ {"dscy", 0x0455}, /* CYRILLIC SMALL LETTER DZE */
++ {"dstrok", 0x0111}, /* LATIN SMALL LETTER D WITH STROKE */
++ {"dtri", 0x25BF}, /* WHITE DOWN-POINTING SMALL TRIANGLE */
++ {"dtrif", 0x25BE}, /* BLACK DOWN-POINTING SMALL TRIANGLE */
++ {"dzcy", 0x045F}, /* CYRILLIC SMALL LETTER DZHE */
++ {"eDot", 0x2251}, /* GEOMETRICALLY EQUAL TO */
++ {"eacgr", 0x03AD}, /* GREEK SMALL LETTER EPSILON WITH TONOS */
++ {"eacute", 0x00E9}, /* LATIN SMALL LETTER E WITH ACUTE */
++ {"ecaron", 0x011B}, /* LATIN SMALL LETTER E WITH CARON */
++ {"ecir", 0x2256}, /* RING IN EQUAL TO */
++ {"ecirc", 0x00EA}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
++ {"ecolon", 0x2255}, /* EQUALS COLON */
++ {"ecy", 0x044D}, /* CYRILLIC SMALL LETTER E */
++ {"edot", 0x0117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */
++ {"eeacgr", 0x03AE}, /* GREEK SMALL LETTER ETA WITH TONOS */
++ {"eegr", 0x03B7}, /* GREEK SMALL LETTER ETA */
++ {"efDot", 0x2252}, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
++ {"egr", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"egrave", 0x00E8}, /* LATIN SMALL LETTER E WITH GRAVE */
++ {"egs", 0x22DD}, /* EQUAL TO OR GREATER-THAN */
++ {"ell", 0x2113}, /* SCRIPT SMALL L */
++ {"els", 0x22DC}, /* EQUAL TO OR LESS-THAN */
++ {"emacr", 0x0113}, /* LATIN SMALL LETTER E WITH MACRON */
++ {"emdash", 0x2014}, /* obsolete synonym for "mdash" 0x2014 */
++ {"empty", 0x2205}, /* EMPTY SET */
++ {"emsp", 0x2003}, /* EM SPACE */
++ {"emsp13", 0x2004}, /* THREE-PER-EM SPACE */
++ {"emsp14", 0x2005}, /* FOUR-PER-EM SPACE */
++ {"endash", 0x2013}, /* obsolete synonym for "ndash" 0x2013 */
++ {"eng", 0x014B}, /* LATIN SMALL LETTER ENG */
++ {"ensp", 0x2002}, /* EN SPACE */
++ {"eogon", 0x0119}, /* LATIN SMALL LETTER E WITH OGONEK */
++ {"epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"epsilon", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
++ {"epsis", 0x220A}, /* SMALL ELEMENT OF */
++ {"equals", 0x003D}, /* EQUALS SIGN */
++ {"equiv", 0x2261}, /* IDENTICAL TO */
++ {"erDot", 0x2253}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */
++ {"esdot", 0x2250}, /* APPROACHES THE LIMIT */
++ {"eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
++ {"eth", 0x00F0}, /* LATIN SMALL LETTER ETH */
++ {"euml", 0x00EB}, /* LATIN SMALL LETTER E WITH DIAERESIS */
++ {"excl", 0x0021}, /* EXCLAMATION MARK */
++ {"exist", 0x2203}, /* THERE EXISTS */
++ {"fcy", 0x0444}, /* CYRILLIC SMALL LETTER EF */
++ {"female", 0x2640}, /* FEMALE SIGN */
++ {"ffilig", 0xFB03}, /* LATIN SMALL LIGATURE FFI */
++ {"fflig", 0xFB00}, /* LATIN SMALL LIGATURE FF */
++ {"ffllig", 0xFB04}, /* LATIN SMALL LIGATURE FFL */
++ {"filig", 0xFB01}, /* LATIN SMALL LIGATURE FI */
++ {"flat", 0x266D}, /* MUSIC FLAT SIGN */
++ {"fllig", 0xFB02}, /* LATIN SMALL LIGATURE FL */
++ {"fnof", 0x0192}, /* LATIN SMALL LETTER F WITH HOOK */
++ {"forall", 0x2200}, /* FOR ALL */
++ {"fork", 0x22D4}, /* PITCHFORK */
++ {"frac12", 0x00BD}, /* VULGAR FRACTION ONE HALF */
++ {"frac13", 0x2153}, /* VULGAR FRACTION ONE THIRD */
++ {"frac14", 0x00BC}, /* VULGAR FRACTION ONE QUARTER */
++ {"frac15", 0x2155}, /* VULGAR FRACTION ONE FIFTH */
++ {"frac16", 0x2159}, /* VULGAR FRACTION ONE SIXTH */
++ {"frac18", 0x215B}, /* VULGAR FRACTION ONE EIGHTH */
++ {"frac23", 0x2154}, /* VULGAR FRACTION TWO THIRDS */
++ {"frac25", 0x2156}, /* VULGAR FRACTION TWO FIFTHS */
++ {"frac34", 0x00BE}, /* VULGAR FRACTION THREE QUARTERS */
++ {"frac35", 0x2157}, /* VULGAR FRACTION THREE FIFTHS */
++ {"frac38", 0x215C}, /* VULGAR FRACTION THREE EIGHTHS */
++ {"frac45", 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */
++ {"frac56", 0x215A}, /* VULGAR FRACTION FIVE SIXTHS */
++ {"frac58", 0x215D}, /* VULGAR FRACTION FIVE EIGHTHS */
++ {"frac78", 0x215E}, /* VULGAR FRACTION SEVEN EIGHTHS */
++ {"frasl", 0x2044}, /* FRACTION SLASH */
++ {"frown", 0x2322}, /* FROWN */
++ {"gE", 0x2267}, /* GREATER-THAN OVER EQUAL TO */
++ {"gacute", 0x01F5}, /* LATIN SMALL LETTER G WITH ACUTE */
++ {"gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
++ {"gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
++ {"gbreve", 0x011F}, /* LATIN SMALL LETTER G WITH BREVE */
++ {"gcedil", 0x0123}, /* LATIN SMALL LETTER G WITH CEDILLA */
++ {"gcirc", 0x011D}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */
++ {"gcy", 0x0433}, /* CYRILLIC SMALL LETTER GHE */
++ {"gdot", 0x0121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */
++ {"ge", 0x2265}, /* GREATER-THAN OR EQUAL TO */
++ {"gel", 0x22DB}, /* GREATER-THAN EQUAL TO OR LESS-THAN */
++ {"ges", 0x2265}, /* GREATER-THAN OR EQUAL TO */
++ {"ggr", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
++ {"gimel", 0x2137}, /* GIMEL SYMBOL */
++ {"gjcy", 0x0453}, /* CYRILLIC SMALL LETTER GJE */
++ {"gl", 0x2277}, /* GREATER-THAN OR LESS-THAN */
++ {"gnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
++ {"gne", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
++ {"gnsim", 0x22E7}, /* GREATER-THAN BUT NOT EQUIVALENT TO */
++ {"grave", 0x0060}, /* GRAVE ACCENT */
++ {"gsdot", 0x22D7}, /* GREATER-THAN WITH DOT */
++ {"gsim", 0x2273}, /* GREATER-THAN OR EQUIVALENT TO */
++ {"gt", 0x003E}, /* GREATER-THAN SIGN */
++ {"gvnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
++ {"hArr", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
++ {"hairsp", 0x200A}, /* HAIR SPACE */
++ {"half", 0x00BD}, /* VULGAR FRACTION ONE HALF */
++ {"hamilt", 0x210B}, /* SCRIPT CAPITAL H */
++ {"hardcy", 0x044A}, /* CYRILLIC SMALL LETTER HARD SIGN */
++ {"harr", 0x2194}, /* LEFT RIGHT ARROW */
++ {"harrw", 0x21AD}, /* LEFT RIGHT WAVE ARROW */
++ {"hcirc", 0x0125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */
++ {"hearts", 0x2665}, /* BLACK HEART SUIT */
++ {"hellip", 0x2026}, /* HORIZONTAL ELLIPSIS */
++ {"hibar", 0x00AF}, /* obsolete synonym for "macr" 0x00AF */
++ {"horbar", 0x2015}, /* HORIZONTAL BAR */
++ {"hstrok", 0x0127}, /* LATIN SMALL LETTER H WITH STROKE */
++ {"hybull", 0x2043}, /* HYPHEN BULLET */
++ {"hyphen", 0x002D}, /* HYPHEN-MINUS */
++ {"iacgr", 0x03AF}, /* GREEK SMALL LETTER IOTA WITH TONOS */
++ {"iacute", 0x00ED}, /* LATIN SMALL LETTER I WITH ACUTE */
++ {"icirc", 0x00EE}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
++ {"icy", 0x0438}, /* CYRILLIC SMALL LETTER I */
++ {"idiagr", 0x0390}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TON*/
++ {"idigr", 0x03CA}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */
++ {"iecy", 0x0435}, /* CYRILLIC SMALL LETTER IE */
++ {"iexcl", 0x00A1}, /* INVERTED EXCLAMATION MARK */
++ {"iff", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
++ {"igr", 0x03B9}, /* GREEK SMALL LETTER IOTA */
++ {"igrave", 0x00EC}, /* LATIN SMALL LETTER I WITH GRAVE */
++ {"ijlig", 0x0133}, /* LATIN SMALL LIGATURE IJ */
++ {"imacr", 0x012B}, /* LATIN SMALL LETTER I WITH MACRON */
++ {"image", 0x2111}, /* BLACK-LETTER CAPITAL I */
++ {"incare", 0x2105}, /* CARE OF */
++ {"infin", 0x221E}, /* INFINITY */
++ {"inodot", 0x0131}, /* LATIN SMALL LETTER DOTLESS I */
++ {"int", 0x222B}, /* INTEGRAL */
++ {"intcal", 0x22BA}, /* INTERCALATE */
++ {"iocy", 0x0451}, /* CYRILLIC SMALL LETTER IO */
++ {"iogon", 0x012F}, /* LATIN SMALL LETTER I WITH OGONEK */
++ {"iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
++ {"iquest", 0x00BF}, /* INVERTED QUESTION MARK */
++ {"isin", 0x2208}, /* ELEMENT OF */
++ {"itilde", 0x0129}, /* LATIN SMALL LETTER I WITH TILDE */
++ {"iukcy", 0x0456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I*/
++ {"iuml", 0x00EF}, /* LATIN SMALL LETTER I WITH DIAERESIS */
++ {"jcirc", 0x0135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */
++ {"jcy", 0x0439}, /* CYRILLIC SMALL LETTER SHORT I */
++ {"jsercy", 0x0458}, /* CYRILLIC SMALL LETTER JE */
++ {"jukcy", 0x0454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */
++ {"kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
++ {"kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
++ {"kcedil", 0x0137}, /* LATIN SMALL LETTER K WITH CEDILLA */
++ {"kcy", 0x043A}, /* CYRILLIC SMALL LETTER KA */
++ {"kgr", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
++ {"kgreen", 0x0138}, /* LATIN SMALL LETTER KRA */
++ {"khcy", 0x0445}, /* CYRILLIC SMALL LETTER HA */
++ {"khgr", 0x03C7}, /* GREEK SMALL LETTER CHI */
++ {"kjcy", 0x045C}, /* CYRILLIC SMALL LETTER KJE */
++ {"lAarr", 0x21DA}, /* LEFTWARDS TRIPLE ARROW */
++ {"lArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
++ {"lE", 0x2266}, /* LESS-THAN OVER EQUAL TO */
++ {"lacute", 0x013A}, /* LATIN SMALL LETTER L WITH ACUTE */
++ {"lagran", 0x2112}, /* SCRIPT CAPITAL L */
++ {"lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
++ {"lang", 0x2329}, /* LEFT-POINTING ANGLE BRACKET */
++ {"laquo", 0x00AB}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
++ {"larr", 0x2190}, /* LEFTWARDS ARROW */
++ {"larr2", 0x21C7}, /* LEFTWARDS PAIRED ARROWS */
++ {"larrhk", 0x21A9}, /* LEFTWARDS ARROW WITH HOOK */
++ {"larrlp", 0x21AB}, /* LEFTWARDS ARROW WITH LOOP */
++ {"larrtl", 0x21A2}, /* LEFTWARDS ARROW WITH TAIL */
++ {"lcaron", 0x013E}, /* LATIN SMALL LETTER L WITH CARON */
++ {"lcedil", 0x013C}, /* LATIN SMALL LETTER L WITH CEDILLA */
++ {"lceil", 0x2308}, /* LEFT CEILING */
++ {"lcub", 0x007B}, /* LEFT CURLY BRACKET */
++ {"lcy", 0x043B}, /* CYRILLIC SMALL LETTER EL */
++ {"ldot", 0x22D6}, /* LESS-THAN WITH DOT */
++ {"ldquo", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
++ {"ldquor", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
++ {"le", 0x2264}, /* LESS-THAN OR EQUAL TO */
++ {"leg", 0x22DA}, /* LESS-THAN EQUAL TO OR GREATER-THAN */
++ {"les", 0x2264}, /* LESS-THAN OR EQUAL TO */
++ {"lfloor", 0x230A}, /* LEFT FLOOR */
++ {"lg", 0x2276}, /* LESS-THAN OR GREATER-THAN */
++ {"lgr", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
++ {"lhard", 0x21BD}, /* LEFTWARDS HARPOON WITH BARB DOWNWARDS */
++ {"lharu", 0x21BC}, /* LEFTWARDS HARPOON WITH BARB UPWARDS */
++ {"lhblk", 0x2584}, /* LOWER HALF BLOCK */
++ {"ljcy", 0x0459}, /* CYRILLIC SMALL LETTER LJE */
++ {"lmidot", 0x0140}, /* LATIN SMALL LETTER L WITH MIDDLE DOT */
++ {"lnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
++ {"lne", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
++ {"lnsim", 0x22E6}, /* LESS-THAN BUT NOT EQUIVALENT TO */
++ {"lowast", 0x2217}, /* ASTERISK OPERATOR */
++ {"lowbar", 0x005F}, /* LOW LINE */
++ {"loz", 0x25CA}, /* LOZENGE */
++ {"loz", 0x2727}, /* WHITE FOUR POINTED STAR */
++ {"lozf", 0x2726}, /* BLACK FOUR POINTED STAR */
++ {"lpar", 0x0028}, /* LEFT PARENTHESIS */
++ {"lrarr2", 0x21C6}, /* LEFTWARDS ARROW OVER RIGHTWARDS ARROW */
++ {"lrhar2", 0x21CB}, /* LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON */
++ {"lrm", 0x200E}, /* LEFT-TO-RIGHT MARK */
++ {"lsaquo", 0x2039}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
++ {"lsh", 0x21B0}, /* UPWARDS ARROW WITH TIP LEFTWARDS */
++ {"lsim", 0x2272}, /* LESS-THAN OR EQUIVALENT TO */
++ {"lsqb", 0x005B}, /* LEFT SQUARE BRACKET */
++ {"lsquo", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
++ {"lsquor", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
++ {"lstrok", 0x0142}, /* LATIN SMALL LETTER L WITH STROKE */
++ {"lt", 0x003C}, /* LESS-THAN SIGN */
++ {"lthree", 0x22CB}, /* LEFT SEMIDIRECT PRODUCT */
++ {"ltimes", 0x22C9}, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */
++ {"ltri", 0x25C3}, /* WHITE LEFT-POINTING SMALL TRIANGLE */
++ {"ltrie", 0x22B4}, /* NORMAL SUBGROUP OF OR EQUAL TO */
++ {"ltrif", 0x25C2}, /* BLACK LEFT-POINTING SMALL TRIANGLE */
++ {"lvnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
++ {"macr", 0x00AF}, /* MACRON */
++ {"male", 0x2642}, /* MALE SIGN */
++ {"malt", 0x2720}, /* MALTESE CROSS */
++ {"map", 0x21A6}, /* RIGHTWARDS ARROW FROM BAR */
++ {"marker", 0x25AE}, /* BLACK VERTICAL RECTANGLE */
++ {"mcy", 0x043C}, /* CYRILLIC SMALL LETTER EM */
++ {"mdash", 0x2014}, /* EM DASH */
++ {"mgr", 0x03BC}, /* GREEK SMALL LETTER MU */
++ {"micro", 0x00B5}, /* MICRO SIGN */
++ {"mid", 0x2223}, /* DIVIDES */
++ {"middot", 0x00B7}, /* MIDDLE DOT */
++ {"minus", 0x2212}, /* MINUS SIGN */
++ {"minusb", 0x229F}, /* SQUARED MINUS */
++ {"mldr", 0x2026}, /* HORIZONTAL ELLIPSIS */
++ {"mnplus", 0x2213}, /* MINUS-OR-PLUS SIGN */
++ {"models", 0x22A7}, /* MODELS */
++ {"mu", 0x03BC}, /* GREEK SMALL LETTER MU */
++ {"mumap", 0x22B8}, /* MULTIMAP */
++ {"nVDash", 0x22AF}, /* NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNS*/
++ {"nVdash", 0x22AE}, /* DOES NOT FORCE */
++ {"nabla", 0x2207}, /* NABLA */
++ {"nacute", 0x0144}, /* LATIN SMALL LETTER N WITH ACUTE */
++ {"nap", 0x2249}, /* NOT ALMOST EQUAL TO */
++ {"napos", 0x0149}, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
++ {"natur", 0x266E}, /* MUSIC NATURAL SIGN */
++ {"nbsp", 0x00A0}, /* NO-BREAK SPACE */
++ {"ncaron", 0x0148}, /* LATIN SMALL LETTER N WITH CARON */
++ {"ncedil", 0x0146}, /* LATIN SMALL LETTER N WITH CEDILLA */
++ {"ncong", 0x2247}, /* NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO */
++ {"ncy", 0x043D}, /* CYRILLIC SMALL LETTER EN */
++ {"ndash", 0x2013}, /* EN DASH */
++ {"ne", 0x2260}, /* NOT EQUAL TO */
++ {"nearr", 0x2197}, /* NORTH EAST ARROW */
++ {"nequiv", 0x2262}, /* NOT IDENTICAL TO */
++ {"nexist", 0x2204}, /* THERE DOES NOT EXIST */
++ {"nge", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
++ {"nges", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
++ {"ngr", 0x03BD}, /* GREEK SMALL LETTER NU */
++ {"ngt", 0x226F}, /* NOT GREATER-THAN */
++ {"nhArr", 0x21CE}, /* LEFT RIGHT DOUBLE ARROW WITH STROKE */
++ {"nharr", 0x21AE}, /* LEFT RIGHT ARROW WITH STROKE */
++ {"ni", 0x220B}, /* CONTAINS AS MEMBER */
++ {"njcy", 0x045A}, /* CYRILLIC SMALL LETTER NJE */
++ {"nlArr", 0x21CD}, /* LEFTWARDS DOUBLE ARROW WITH STROKE */
++ {"nlarr", 0x219A}, /* LEFTWARDS ARROW WITH STROKE */
++ {"nldr", 0x2025}, /* TWO DOT LEADER */
++ {"nle", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
++ {"nles", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
++ {"nlt", 0x226E}, /* NOT LESS-THAN */
++ {"nltri", 0x22EA}, /* NOT NORMAL SUBGROUP OF */
++ {"nltrie", 0x22EC}, /* NOT NORMAL SUBGROUP OF OR EQUAL TO */
++ {"nmid", 0x2224}, /* DOES NOT DIVIDE */
++ {"not", 0x00AC}, /* NOT SIGN */
++ {"notin", 0x2209}, /* NOT AN ELEMENT OF */
++ {"npar", 0x2226}, /* NOT PARALLEL TO */
++ {"npr", 0x2280}, /* DOES NOT PRECEDE */
++ {"npre", 0x22E0}, /* DOES NOT PRECEDE OR EQUAL */
++ {"nrArr", 0x21CF}, /* RIGHTWARDS DOUBLE ARROW WITH STROKE */
++ {"nrarr", 0x219B}, /* RIGHTWARDS ARROW WITH STROKE */
++ {"nrtri", 0x22EB}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP */
++ {"nrtrie", 0x22ED}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */
++ {"nsc", 0x2281}, /* DOES NOT SUCCEED */
++ {"nsce", 0x22E1}, /* DOES NOT SUCCEED OR EQUAL */
++ {"nsim", 0x2241}, /* NOT TILDE */
++ {"nsime", 0x2244}, /* NOT ASYMPTOTICALLY EQUAL TO */
++ {"nspar", 0x2226}, /* NOT PARALLEL TO */
++ {"nsub", 0x2284}, /* NOT A SUBSET OF */
++ {"nsubE", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
++ {"nsube", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
++ {"nsup", 0x2285}, /* NOT A SUPERSET OF */
++ {"nsupE", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
++ {"nsupe", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
++ {"ntilde", 0x00F1}, /* LATIN SMALL LETTER N WITH TILDE */
++ {"nu", 0x03BD}, /* GREEK SMALL LETTER NU */
++ {"num", 0x0023}, /* NUMBER SIGN */
++ {"numero", 0x2116}, /* NUMERO SIGN */
++ {"numsp", 0x2007}, /* FIGURE SPACE */
++ {"nvDash", 0x22AD}, /* NOT TRUE */
++ {"nvdash", 0x22AC}, /* DOES NOT PROVE */
++ {"nwarr", 0x2196}, /* NORTH WEST ARROW */
++ {"oS", 0x24C8}, /* CIRCLED LATIN CAPITAL LETTER S */
++ {"oacgr", 0x03CC}, /* GREEK SMALL LETTER OMICRON WITH TONOS */
++ {"oacute", 0x00F3}, /* LATIN SMALL LETTER O WITH ACUTE */
++ {"oast", 0x229B}, /* CIRCLED ASTERISK OPERATOR */
++ {"ocir", 0x229A}, /* CIRCLED RING OPERATOR */
++ {"ocirc", 0x00F4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
++ {"ocy", 0x043E}, /* CYRILLIC SMALL LETTER O */
++ {"odash", 0x229D}, /* CIRCLED DASH */
++ {"odblac", 0x0151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */
++ {"odot", 0x2299}, /* CIRCLED DOT OPERATOR */
++ {"oelig", 0x0153}, /* LATIN SMALL LIGATURE OE */
++ {"ogon", 0x02DB}, /* OGONEK */
++ {"ogr", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
++ {"ograve", 0x00F2}, /* LATIN SMALL LETTER O WITH GRAVE */
++ {"ohacgr", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
++ {"ohgr", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
++ {"ohm", 0x2126}, /* OHM SIGN */
++ {"olarr", 0x21BA}, /* ANTICLOCKWISE OPEN CIRCLE ARROW */
++ {"oline", 0x203E}, /* OVERLINE */
++ {"omacr", 0x014D}, /* LATIN SMALL LETTER O WITH MACRON */
++ {"omega", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
++ {"omicron", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
++ {"ominus", 0x2296}, /* CIRCLED MINUS */
++ {"oplus", 0x2295}, /* CIRCLED PLUS */
++ {"or", 0x2228}, /* LOGICAL OR */
++ {"orarr", 0x21BB}, /* CLOCKWISE OPEN CIRCLE ARROW */
++ {"order", 0x2134}, /* SCRIPT SMALL O */
++ {"ordf", 0x00AA}, /* FEMININE ORDINAL INDICATOR */
++ {"ordm", 0x00BA}, /* MASCULINE ORDINAL INDICATOR */
++ {"oslash", 0x00F8}, /* LATIN SMALL LETTER O WITH STROKE */
++ {"osol", 0x2298}, /* CIRCLED DIVISION SLASH */
++ {"otilde", 0x00F5}, /* LATIN SMALL LETTER O WITH TILDE */
++ {"otimes", 0x2297}, /* CIRCLED TIMES */
++ {"ouml", 0x00F6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
++ {"par", 0x2225}, /* PARALLEL TO */
++ {"para", 0x00B6}, /* PILCROW SIGN */
++ {"part", 0x2202}, /* PARTIAL DIFFERENTIAL */
++ {"pcy", 0x043F}, /* CYRILLIC SMALL LETTER PE */
++ {"percnt", 0x0025}, /* PERCENT SIGN */
++ {"period", 0x002E}, /* FULL STOP */
++ {"permil", 0x2030}, /* PER MILLE SIGN */
++ {"perp", 0x22A5}, /* UP TACK */
++ {"pgr", 0x03C0}, /* GREEK SMALL LETTER PI */
++ {"phgr", 0x03C6}, /* GREEK SMALL LETTER PHI */
++ {"phi", 0x03C6}, /* GREEK SMALL LETTER PHI */
++ {"phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
++ {"phiv", 0x03D5}, /* GREEK PHI SYMBOL */
++ {"phmmat", 0x2133}, /* SCRIPT CAPITAL M */
++ {"phone", 0x260E}, /* BLACK TELEPHONE */
++ {"pi", 0x03C0}, /* GREEK SMALL LETTER PI */
++ {"piv", 0x03D6}, /* GREEK PI SYMBOL */
++ {"planck", 0x210F}, /* PLANCK CONSTANT OVER TWO PI */
++ {"plus", 0x002B}, /* PLUS SIGN */
++ {"plusb", 0x229E}, /* SQUARED PLUS */
++ {"plusdo", 0x2214}, /* DOT PLUS */
++ {"plusmn", 0x00B1}, /* PLUS-MINUS SIGN */
++ {"pound", 0x00A3}, /* POUND SIGN */
++ {"pr", 0x227A}, /* PRECEDES */
++ {"pre", 0x227C}, /* PRECEDES OR EQUAL TO */
++ {"prime", 0x2032}, /* PRIME */
++ {"prnsim", 0x22E8}, /* PRECEDES BUT NOT EQUIVALENT TO */
++ {"prod", 0x220F}, /* N-ARY PRODUCT */
++ {"prop", 0x221D}, /* PROPORTIONAL TO */
++ {"prsim", 0x227E}, /* PRECEDES OR EQUIVALENT TO */
++ {"psgr", 0x03C8}, /* GREEK SMALL LETTER PSI */
++ {"psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
++ {"puncsp", 0x2008}, /* PUNCTUATION SPACE */
++ {"quest", 0x003F}, /* QUESTION MARK */
++ {"quot", 0x0022}, /* QUOTATION MARK */
++ {"rAarr", 0x21DB}, /* RIGHTWARDS TRIPLE ARROW */
++ {"rArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
++ {"racute", 0x0155}, /* LATIN SMALL LETTER R WITH ACUTE */
++ {"radic", 0x221A}, /* SQUARE ROOT */
++ {"rang", 0x232A}, /* RIGHT-POINTING ANGLE BRACKET */
++ {"raquo", 0x00BB}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
++ {"rarr", 0x2192}, /* RIGHTWARDS ARROW */
++ {"rarr2", 0x21C9}, /* RIGHTWARDS PAIRED ARROWS */
++ {"rarrhk", 0x21AA}, /* RIGHTWARDS ARROW WITH HOOK */
++ {"rarrlp", 0x21AC}, /* RIGHTWARDS ARROW WITH LOOP */
++ {"rarrtl", 0x21A3}, /* RIGHTWARDS ARROW WITH TAIL */
++ {"rarrw", 0x219D}, /* RIGHTWARDS WAVE ARROW */
++ {"rcaron", 0x0159}, /* LATIN SMALL LETTER R WITH CARON */
++ {"rcedil", 0x0157}, /* LATIN SMALL LETTER R WITH CEDILLA */
++ {"rceil", 0x2309}, /* RIGHT CEILING */
++ {"rcub", 0x007D}, /* RIGHT CURLY BRACKET */
++ {"rcy", 0x0440}, /* CYRILLIC SMALL LETTER ER */
++ {"rdquo", 0x201D}, /* RIGHT DOUBLE QUOTATION MARK */
++ {"rdquor", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
++ {"real", 0x211C}, /* BLACK-LETTER CAPITAL R */
++ {"rect", 0x25AD}, /* WHITE RECTANGLE */
++ {"reg", 0x00AE}, /* REGISTERED SIGN */
++ {"rfloor", 0x230B}, /* RIGHT FLOOR */
++ {"rgr", 0x03C1}, /* GREEK SMALL LETTER RHO */
++ {"rhard", 0x21C1}, /* RIGHTWARDS HARPOON WITH BARB DOWNWARDS */
++ {"rharu", 0x21C0}, /* RIGHTWARDS HARPOON WITH BARB UPWARDS */
++ {"rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
++ {"rhov", 0x03F1}, /* GREEK RHO SYMBOL */
++ {"ring", 0x02DA}, /* RING ABOVE */
++ {"rlarr2", 0x21C4}, /* RIGHTWARDS ARROW OVER LEFTWARDS ARROW */
++ {"rlhar2", 0x21CC}, /* RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON */
++ {"rlm", 0x200F}, /* RIGHT-TO-LEFT MARK */
++ {"rpar", 0x0029}, /* RIGHT PARENTHESIS */
++ {"rsaquo", 0x203A}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
++ {"rsh", 0x21B1}, /* UPWARDS ARROW WITH TIP RIGHTWARDS */
++ {"rsqb", 0x005D}, /* RIGHT SQUARE BRACKET */
++ {"rsquo", 0x2019}, /* RIGHT SINGLE QUOTATION MARK */
++ {"rsquor", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
++ {"rthree", 0x22CC}, /* RIGHT SEMIDIRECT PRODUCT */
++ {"rtimes", 0x22CA}, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */
++ {"rtri", 0x25B9}, /* WHITE RIGHT-POINTING SMALL TRIANGLE */
++ {"rtrie", 0x22B5}, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */
++ {"rtrif", 0x25B8}, /* BLACK RIGHT-POINTING SMALL TRIANGLE */
++ {"rx", 0x211E}, /* PRESCRIPTION TAKE */
++ {"sacute", 0x015B}, /* LATIN SMALL LETTER S WITH ACUTE */
++ {"samalg", 0x2210}, /* N-ARY COPRODUCT */
++ {"sbquo", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
++ {"sbsol", 0x005C}, /* REVERSE SOLIDUS */
++ {"sc", 0x227B}, /* SUCCEEDS */
++ {"scaron", 0x0161}, /* LATIN SMALL LETTER S WITH CARON */
++ {"sccue", 0x227D}, /* SUCCEEDS OR EQUAL TO */
++ {"sce", 0x227D}, /* SUCCEEDS OR EQUAL TO */
++ {"scedil", 0x015F}, /* LATIN SMALL LETTER S WITH CEDILLA */
++ {"scirc", 0x015D}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */
++ {"scnsim", 0x22E9}, /* SUCCEEDS BUT NOT EQUIVALENT TO */
++ {"scsim", 0x227F}, /* SUCCEEDS OR EQUIVALENT TO */
++ {"scy", 0x0441}, /* CYRILLIC SMALL LETTER ES */
++ {"sdot", 0x22C5}, /* DOT OPERATOR */
++ {"sdotb", 0x22A1}, /* SQUARED DOT OPERATOR */
++ {"sect", 0x00A7}, /* SECTION SIGN */
++ {"semi", 0x003B}, /* SEMICOLON */
++ {"setmn", 0x2216}, /* SET MINUS */
++ {"sext", 0x2736}, /* SIX POINTED BLACK STAR */
++ {"sfgr", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
++ {"sfrown", 0x2322}, /* FROWN */
++ {"sgr", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
++ {"sharp", 0x266F}, /* MUSIC SHARP SIGN */
++ {"shchcy", 0x0449}, /* CYRILLIC SMALL LETTER SHCHA */
++ {"shcy", 0x0448}, /* CYRILLIC SMALL LETTER SHA */
++ {"shy", 0x00AD}, /* SOFT HYPHEN */
++ {"sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
++ {"sigmaf", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
++ {"sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
++ {"sim", 0x223C}, /* TILDE OPERATOR */
++ {"sime", 0x2243}, /* ASYMPTOTICALLY EQUAL TO */
++ {"smile", 0x2323}, /* SMILE */
++ {"softcy", 0x044C}, /* CYRILLIC SMALL LETTER SOFT SIGN */
++ {"sol", 0x002F}, /* SOLIDUS */
++ {"spades", 0x2660}, /* BLACK SPADE SUIT */
++ {"spar", 0x2225}, /* PARALLEL TO */
++ {"sqcap", 0x2293}, /* SQUARE CAP */
++ {"sqcup", 0x2294}, /* SQUARE CUP */
++ {"sqsub", 0x228F}, /* SQUARE IMAGE OF */
++ {"sqsube", 0x2291}, /* SQUARE IMAGE OF OR EQUAL TO */
++ {"sqsup", 0x2290}, /* SQUARE ORIGINAL OF */
++ {"sqsupe", 0x2292}, /* SQUARE ORIGINAL OF OR EQUAL TO */
++ {"squ", 0x25A1}, /* WHITE SQUARE */
++ {"square", 0x25A1}, /* WHITE SQUARE */
++ {"squf", 0x25AA}, /* BLACK SMALL SQUARE */
++ {"ssetmn", 0x2216}, /* SET MINUS */
++ {"ssmile", 0x2323}, /* SMILE */
++ {"sstarf", 0x22C6}, /* STAR OPERATOR */
++ {"star", 0x2606}, /* WHITE STAR */
++ {"starf", 0x2605}, /* BLACK STAR */
++ {"sub", 0x2282}, /* SUBSET OF */
++ {"subE", 0x2286}, /* SUBSET OF OR EQUAL TO */
++ {"sube", 0x2286}, /* SUBSET OF OR EQUAL TO */
++ {"subnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
++ {"subne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
++ {"sum", 0x2211}, /* N-ARY SUMMATION */
++ {"sung", 0x266A}, /* EIGHTH NOTE */
++ {"sup", 0x2283}, /* SUPERSET OF */
++ {"sup1", 0x00B9}, /* SUPERSCRIPT ONE */
++ {"sup2", 0x00B2}, /* SUPERSCRIPT TWO */
++ {"sup3", 0x00B3}, /* SUPERSCRIPT THREE */
++ {"supE", 0x2287}, /* SUPERSET OF OR EQUAL TO */
++ {"supe", 0x2287}, /* SUPERSET OF OR EQUAL TO */
++ {"supnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
++ {"supne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
++ {"szlig", 0x00DF}, /* LATIN SMALL LETTER SHARP S */
++ {"target", 0x2316}, /* POSITION INDICATOR */
++ {"tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
++ {"tcaron", 0x0165}, /* LATIN SMALL LETTER T WITH CARON */
++ {"tcedil", 0x0163}, /* LATIN SMALL LETTER T WITH CEDILLA */
++ {"tcy", 0x0442}, /* CYRILLIC SMALL LETTER TE */
++ {"tdot", 0x20DB}, /* COMBINING THREE DOTS ABOVE */
++ {"telrec", 0x2315}, /* TELEPHONE RECORDER */
++ {"tgr", 0x03C4}, /* GREEK SMALL LETTER TAU */
++ {"there4", 0x2234}, /* THEREFORE */
++ {"theta", 0x03B8}, /* GREEK SMALL LETTER THETA */
++ {"thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
++ {"thetasym", 0x03D1}, /* GREEK THETA SYMBOL */
++ {"thetav", 0x03D1}, /* GREEK THETA SYMBOL */
++ {"thgr", 0x03B8}, /* GREEK SMALL LETTER THETA */
++ {"thinsp", 0x2009}, /* THIN SPACE */
++ {"thkap", 0x2248}, /* ALMOST EQUAL TO */
++ {"thksim", 0x223C}, /* TILDE OPERATOR */
++ {"thorn", 0x00FE}, /* LATIN SMALL LETTER THORN */
++ {"tilde", 0x02DC}, /* SMALL TILDE */
++ {"times", 0x00D7}, /* MULTIPLICATION SIGN */
++ {"timesb", 0x22A0}, /* SQUARED TIMES */
++ {"top", 0x22A4}, /* DOWN TACK */
++ {"tprime", 0x2034}, /* TRIPLE PRIME */
++ {"trade", 0x2122}, /* TRADE MARK SIGN */
++ {"trie", 0x225C}, /* DELTA EQUAL TO */
++ {"tscy", 0x0446}, /* CYRILLIC SMALL LETTER TSE */
++ {"tshcy", 0x045B}, /* CYRILLIC SMALL LETTER TSHE */
++ {"tstrok", 0x0167}, /* LATIN SMALL LETTER T WITH STROKE */
++ {"twixt", 0x226C}, /* BETWEEN */
++ {"uArr", 0x21D1}, /* UPWARDS DOUBLE ARROW */
++ {"uacgr", 0x03CD}, /* GREEK SMALL LETTER UPSILON WITH TONOS */
++ {"uacute", 0x00FA}, /* LATIN SMALL LETTER U WITH ACUTE */
++ {"uarr", 0x2191}, /* UPWARDS ARROW */
++ {"uarr2", 0x21C8}, /* UPWARDS PAIRED ARROWS */
++ {"ubrcy", 0x045E}, /* CYRILLIC SMALL LETTER SHORT U */
++ {"ubreve", 0x016D}, /* LATIN SMALL LETTER U WITH BREVE */
++ {"ucirc", 0x00FB}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
++ {"ucy", 0x0443}, /* CYRILLIC SMALL LETTER U */
++ {"udblac", 0x0171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */
++ {"udiagr", 0x03B0}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND */
++ {"udigr", 0x03CB}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
++ {"ugr", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
++ {"ugrave", 0x00F9}, /* LATIN SMALL LETTER U WITH GRAVE */
++ {"uharl", 0x21BF}, /* UPWARDS HARPOON WITH BARB LEFTWARDS */
++ {"uharr", 0x21BE}, /* UPWARDS HARPOON WITH BARB RIGHTWARDS */
++ {"uhblk", 0x2580}, /* UPPER HALF BLOCK */
++ {"ulcorn", 0x231C}, /* TOP LEFT CORNER */
++ {"ulcrop", 0x230F}, /* TOP LEFT CROP */
++ {"umacr", 0x016B}, /* LATIN SMALL LETTER U WITH MACRON */
++ {"uml", 0x00A8}, /* DIAERESIS */
++ {"uogon", 0x0173}, /* LATIN SMALL LETTER U WITH OGONEK */
++ {"uplus", 0x228E}, /* MULTISET UNION */
++ {"upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
++ {"upsih", 0x03D2}, /* GREEK UPSILON WITH HOOK SYMBOL */
++ {"upsilon", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
++ {"urcorn", 0x231D}, /* TOP RIGHT CORNER */
++ {"urcrop", 0x230E}, /* TOP RIGHT CROP */
++ {"uring", 0x016F}, /* LATIN SMALL LETTER U WITH RING ABOVE */
++ {"utilde", 0x0169}, /* LATIN SMALL LETTER U WITH TILDE */
++ {"utri", 0x25B5}, /* WHITE UP-POINTING SMALL TRIANGLE */
++ {"utrif", 0x25B4}, /* BLACK UP-POINTING SMALL TRIANGLE */
++ {"uuml", 0x00FC}, /* LATIN SMALL LETTER U WITH DIAERESIS */
++ {"vArr", 0x21D5}, /* UP DOWN DOUBLE ARROW */
++ {"vDash", 0x22A8}, /* TRUE */
++ {"varr", 0x2195}, /* UP DOWN ARROW */
++ {"vcy", 0x0432}, /* CYRILLIC SMALL LETTER VE */
++ {"vdash", 0x22A2}, /* RIGHT TACK */
++ {"veebar", 0x22BB}, /* XOR */
++ {"vellip", 0x22EE}, /* VERTICAL ELLIPSIS */
++ {"verbar", 0x007C}, /* VERTICAL LINE */
++ {"vltri", 0x22B2}, /* NORMAL SUBGROUP OF */
++ {"vprime", 0x2032}, /* PRIME */
++ {"vprop", 0x221D}, /* PROPORTIONAL TO */
++ {"vrtri", 0x22B3}, /* CONTAINS AS NORMAL SUBGROUP */
++ {"vsubnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
++ {"vsubne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
++ {"vsupnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
++ {"vsupne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
++ {"wcirc", 0x0175}, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
++ {"wedgeq", 0x2259}, /* ESTIMATES */
++ {"weierp", 0x2118}, /* SCRIPT CAPITAL P */
++ {"wreath", 0x2240}, /* WREATH PRODUCT */
++ {"xcirc", 0x25CB}, /* WHITE CIRCLE */
++ {"xdtri", 0x25BD}, /* WHITE DOWN-POINTING TRIANGLE */
++ {"xgr", 0x03BE}, /* GREEK SMALL LETTER XI */
++ {"xhArr", 0x2194}, /* LEFT RIGHT ARROW */
++ {"xharr", 0x2194}, /* LEFT RIGHT ARROW */
++ {"xi", 0x03BE}, /* GREEK SMALL LETTER XI */
++ {"xlArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
++ {"xrArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
++ {"xutri", 0x25B3}, /* WHITE UP-POINTING TRIANGLE */
++ {"yacute", 0x00FD}, /* LATIN SMALL LETTER Y WITH ACUTE */
++ {"yacy", 0x044F}, /* CYRILLIC SMALL LETTER YA */
++ {"ycirc", 0x0177}, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
++ {"ycy", 0x044B}, /* CYRILLIC SMALL LETTER YERU */
++ {"yen", 0x00A5}, /* YEN SIGN */
++ {"yicy", 0x0457}, /* CYRILLIC SMALL LETTER YI */
++ {"yucy", 0x044E}, /* CYRILLIC SMALL LETTER YU */
++ {"yuml", 0x00FF}, /* LATIN SMALL LETTER Y WITH DIAERESIS */
++ {"zacute", 0x017A}, /* LATIN SMALL LETTER Z WITH ACUTE */
++ {"zcaron", 0x017E}, /* LATIN SMALL LETTER Z WITH CARON */
++ {"zcy", 0x0437}, /* CYRILLIC SMALL LETTER ZE */
++ {"zdot", 0x017C}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */
++ {"zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
++ {"zgr", 0x03B6}, /* GREEK SMALL LETTER ZETA */
++ {"zhcy", 0x0436}, /* CYRILLIC SMALL LETTER ZHE */
++ {"zwj", 0x200D}, /* ZERO WIDTH JOINER */
++ {"zwnj", 0x200C}, /* ZERO WIDTH NON-JOINER */
++/* {"epsiv", 0x????}, variant epsilon # ISOgrk3 */
++/* {"fjlig", 0x????}, fj ligature # ISOpub */
++/* {"gEl", 0x????}, greater-than, double equals, less-than # ISOamsr */
++/* {"gap", 0x????}, greater-than, approximately equal to # ISOamsr */
++/* {"gnap", 0x????}, greater-than, not approximately equal t# ISOamsn */
++/* {"jnodot", 0x????}, latin small letter dotless j # ISOamso */
++/* {"lEg", 0x????}, less-than, double equals, greater-than # ISOamsr */
++/* {"lap", 0x????}, less-than, approximately equal to # ISOamsr */
++/* {"lnap", 0x????}, less-than, not approximately equal to # ISOamsn */
++/* {"lpargt", 0x????}, left parenthesis, greater-than # ISOamsc */
++/* {"ngE", 0x????}, not greater-than, double equals # ISOamsn */
++/* {"nlE", 0x????}, not less-than, double equals # ISOamsn */
++/* {"nsmid", 0x????}, nshortmid # ISOamsn */
++/* {"prap", 0x????}, precedes, approximately equal to # ISOamsr */
++/* {"prnE", 0x????}, precedes, not double equal # ISOamsn */
++/* {"prnap", 0x????}, precedes, not approximately equal to # ISOamsn */
++/* {"rpargt", 0x????}, right parenthesis, greater-than # ISOamsc */
++/* {"scap", 0x????}, succeeds, approximately equal to # ISOamsr */
++/* {"scnE", 0x????}, succeeds, not double equals # ISOamsn */
++/* {"scnap", 0x????}, succeeds, not approximately equal to # ISOamsn */
++/* {"smid", 0x????}, shortmid # ISOamsr */
++};
++
++#endif /* ENTITIES_H */
diff --git a/www/lynx/patches.v6/patch-at b/www/lynx/patches.v6/patch-at
new file mode 100644
index 00000000000..683d8ce8746
--- /dev/null
+++ b/www/lynx/patches.v6/patch-at
@@ -0,0 +1,19 @@
+$NetBSD: patch-at,v 1.1 2000/01/15 17:44:25 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/Implementation/tcp.h /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/tcp.h
+--- ./WWW/Library/Implementation/tcp.h Sat May 8 19:46:28 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/tcp.h Sat Jan 15 07:57:19 2000
+@@ -56,7 +56,11 @@
+ #define INVSOC (-1) /* Unix invalid socket */
+ /* NB: newer libwww has something different for Windows */
+
++#ifdef INET6
++typedef struct sockaddr_storage SockA; /* See netinet/in.h */
++#else
+ typedef struct sockaddr_in SockA; /* See netinet/in.h */
++#endif
+
+ #ifndef VMS
+ #include <sys/types.h>
diff --git a/www/lynx/patches.v6/patch-au b/www/lynx/patches.v6/patch-au
new file mode 100644
index 00000000000..32c2abc3ea9
--- /dev/null
+++ b/www/lynx/patches.v6/patch-au
@@ -0,0 +1,76 @@
+$NetBSD: patch-au,v 1.1 2000/01/15 17:44:25 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./WWW/Library/unix/makefile.in /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/unix/makefile.in
+--- ./WWW/Library/unix/makefile.in Thu Jan 1 01:00:00 1970
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/unix/makefile.in Sat Jan 15 07:57:19 2000
+@@ -0,0 +1,68 @@
++# Make WWW under unix for a.n.other unix system (bsd)
++# Use this as a template
++
++# For W3 distribution, machine type for subdirectories
++WWW_MACH = unix
++
++# The ASIS repository's name for the machine we are on
++ASIS_MACH = hardware/os
++
++ECHO = @DONT_ECHO_CC@
++LFLAGS =
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++top_srcdir = @top_srcdir@
++srcdir = @srcdir@
++VPATH = $(srcdir)
++
++LYFLAGS = # FIXME: set in parent makefile
++
++CC = @CC@
++DEFS = @DEFS@
++CPPFLAGS = @CPPFLAGS@
++CPPOPTS = $(DEFS) $(CPPFLAGS) $(LYFLAGS) \
++ -I../../.. \
++ -I../../../src \
++ -I$(top_srcdir) \
++ -I$(top_srcdir)/src \
++ -I$(top_srcdir)/WWW/Library/Implementation
++LY_CFLAGS = @CFLAGS@
++CFLAGS = $(CPPOPTS) $(LY_CFLAGS)
++
++# Directory for installed binary:
++BINDIR = @bindir@
++
++# Where is the W3 object library to be installed (not normally done)?
++LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
++
++#_________________ OK if normal W3 distribution
++# Where is the WWW source root?
++WWW = $(top_srcdir)/WWW
++
++# Where should temporary (object) files go?
++WTMP = ../..
++
++@make_include_left@$(WWW)/Library/Implementation/Version.make@make_include_right@
++@make_include_left@$(WWW)/Library/Implementation/CommonMakefile@make_include_right@
++
++# Override values set in CommonMakefile
++
++RANLIB = @RANLIB@
++
++all : $(LOB)/libwww.a
++
++.SUFFIXES: .i .h .html
++
++.c.o:
++@RULE_CC@
++ @ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c $(srcdir)/$*.c
++
++.c.i:
++@RULE_CC@
++ @ECHO_CC@$(CPP) -C $(CPPOPTS) $*.c >$@
++
++depend :
++ makedepend -fmakefile -- $(CFLAGS) -- $(CFILES)
++
++# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/www/lynx/patches.v6/patch-av b/www/lynx/patches.v6/patch-av
new file mode 100644
index 00000000000..0e0f0aea312
--- /dev/null
+++ b/www/lynx/patches.v6/patch-av
@@ -0,0 +1,17 @@
+$NetBSD: patch-av,v 1.1 2000/01/15 17:44:25 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./aclocal.m4 /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/aclocal.m4
+--- ./aclocal.m4 Sat May 8 19:46:28 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/aclocal.m4 Sat Jan 15 07:57:16 2000
+@@ -1208,7 +1208,8 @@
+ dnl ---------------------------------------------------------------------------
+ dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
+ AC_DEFUN([CF_HELP_MESSAGE],
+-[AC_DIVERT_HELP([$1])dnl
++[echo $i
++dnl AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl For Lynx, check if the libraries we have found give us inet_aton, or
diff --git a/www/lynx/patches.v6/patch-aw b/www/lynx/patches.v6/patch-aw
new file mode 100644
index 00000000000..9a0d0c7b5ed
--- /dev/null
+++ b/www/lynx/patches.v6/patch-aw
@@ -0,0 +1,5045 @@
+$NetBSD: patch-aw,v 1.1 2000/01/15 17:44:26 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./configure /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/configure
+--- ./configure Sun May 30 05:27:26 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/configure Sat Jan 15 07:57:17 2000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated automatically using autoconf version 2.13.19990117
++# Generated automatically using autoconf version 2.13
+ # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+ #
+ # This configure script is free software; the Free Software Foundation
+@@ -12,6 +12,114 @@
+ ac_default_prefix=/usr/local
+ # Any additions from configure.in:
+ ac_default_prefix=/usr/local
++ac_help="$ac_help
++ --disable-echo test: display "compiling" commands"
++ac_help="$ac_help
++ --enable-find-leaks logic for testing memory leaks"
++ac_help="$ac_help
++ --enable-debug logic for object code debugging"
++ac_help="$ac_help
++ --disable-trace disable logic for trace code"
++ac_help="$ac_help
++ --enable-warnings GCC compiler warnings"
++ac_help="$ac_help
++ --enable-nls use Native Language Support"
++ac_help="$ac_help
++ --with-included-gettext use the GNU gettext library included here"
++ac_help="$ac_help
++ --with-catgets use catgets functions if available"
++ac_help="$ac_help
++ --with-nls-datadir=DIR NLS data, parent of locale (default: PREFIX/DATADIR)"
++ac_help="$ac_help
++ --enable-included-msgs use included messages, for i18n support"
++ac_help="$ac_help
++ --disable-full-paths control whether full utility pathnames are used"
++ac_help="$ac_help
++ --with-socks[=path] link with socks library if available"
++ac_help="$ac_help
++ --with-socks5[=path] link with socks5 library if available"
++ac_help="$ac_help
++ --with-screen=XXX select screen type
++ (XXX is curses (default), ncurses or slang)"
++ac_help="$ac_help
++ --disable-config-info disable browsable configuration-info"
++ac_help="$ac_help
++ --disable-forms-options disable experimental forms-based options"
++ac_help="$ac_help
++ --disable-menu-options disable old-style option menu"
++ac_help="$ac_help
++ --enable-addrlist-page use experimental address-list page"
++ac_help="$ac_help
++ --enable-color-style use optional/experimental color style"
++ac_help="$ac_help
++ --enable-default-colors enable use of default-colors (ncurses/slang)"
++ac_help="$ac_help
++ --enable-kbd-layout use experimental keyboard-layout support"
++ac_help="$ac_help
++ --enable-prettysrc colorize HTML source"
++ac_help="$ac_help
++ --enable-source-cache cache HTML source for parse mode changes"
++ac_help="$ac_help
++ --disable-alt-bindings disable alternative line-edit bindings"
++ac_help="$ac_help
++ --disable-extended-dtd disable extended HTML DTD logic"
++ac_help="$ac_help
++ --disable-partial use partial-display logic"
++ac_help="$ac_help
++ --enable-externs use external commands"
++ac_help="$ac_help
++ --enable-font-switch use Linux setfont for character-translation"
++ac_help="$ac_help
++ --enable-cgi-links support cgi links w/o a http daemon"
++ac_help="$ac_help
++ --enable-exec-links allow lynx to execute programs accessed via a link"
++ac_help="$ac_help
++ --enable-exec-scripts allow lynx to execute programs inferred from a link"
++ac_help="$ac_help
++ --enable-internal-links handle following links to same doc differently"
++ac_help="$ac_help
++ --enable-nsl-fork fork NSL requests, allowing them to be aborted"
++ac_help="$ac_help
++ --enable-syslog log URL requests via syslog"
++ac_help="$ac_help
++ --disable-persistent-cookies disable persistent-cookie support"
++ac_help="$ac_help
++ --enable-underlines underline links rather than using boldface"
++ac_help="$ac_help
++ --enable-gzip-help install gzip'ed help files"
++ac_help="$ac_help
++ --with-zlib use zlib for decompression of some gzip files"
++ac_help="$ac_help
++ --disable-finger disable FINGER logic"
++ac_help="$ac_help
++ --disable-gopher disable GOPHER logic"
++ac_help="$ac_help
++ --disable-news disable NEWS logic"
++ac_help="$ac_help
++ --disable-ftp disable FTP logic"
++ac_help="$ac_help
++ --disable-dired disable optional directory-editor, DirEd"
++ac_help="$ac_help
++ --disable-dired-archive disable dearchiving commands"
++ac_help="$ac_help
++ --disable-dired-override disable private keymaps"
++ac_help="$ac_help
++ --disable-dired-permit disable chmod/attrib commands"
++ac_help="$ac_help
++ --disable-dired-xpermit disable chmod/attrib commands"
++ac_help="$ac_help
++ --disable-dired-tar disable "tar" command"
++ac_help="$ac_help
++ --disable-dired-uudecode disable "uudecode" command"
++ac_help="$ac_help
++ --disable-dired-zip disable "zip", "unzip" commands"
++ac_help="$ac_help
++ --disable-dired-gzip disable "gzip", "gunzip" commands"
++ac_help="$ac_help
++ --disable-long-list disable long "ls -l" directory listings"
++ac_help="$ac_help
++ --disable-parent-dir-refs
++ disable "Up-to" links in directory listings"
+
+ # Initialize some variables set by options.
+ # The variables have the same names as the options, with
+@@ -182,77 +290,9 @@
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+ EOF
+-cat <<EOF
+---enable and --with options recognized:
+-Development Options:
+- --disable-echo test: display "compiling" commands
+- --enable-find-leaks logic for testing memory leaks
+- --enable-debug logic for object code debugging
+- --disable-trace disable logic for trace code
+- --enable-warnings GCC compiler warnings
+-Basic Configuration Options:
+- --enable-nls use Native Language Support
+- --with-included-gettext use the GNU gettext library included here
+- --with-catgets use catgets functions if available
+- --with-nls-datadir=DIR NLS data, parent of locale (default: PREFIX/DATADIR)
+- --enable-included-msgs use included messages, for i18n support
+- --disable-full-paths control whether full utility pathnames are used
+-EOF
+-cat <<EOF
+- --with-socks[=path] link with socks library if available
+- --with-socks5[=path] link with socks5 library if available
+- --with-screen=XXX select screen type
+- (XXX is curses (default), ncurses or slang)
+-Experimental Options:
+- --disable-config-info disable browsable configuration-info
+- --disable-forms-options disable experimental forms-based options
+- --disable-menu-options disable old-style option menu
+- --enable-addrlist-page use experimental address-list page
+- --enable-color-style use optional/experimental color style
+- --enable-default-colors enable use of default-colors (ncurses/slang)
+- --enable-kbd-layout use experimental keyboard-layout support
+- --enable-prettysrc colorize HTML source
+-EOF
+-cat <<EOF
+- --enable-source-cache cache HTML source for parse mode changes
+-Miscellaneous Options:
+- --disable-alt-bindings disable alternative line-edit bindings
+- --disable-extended-dtd disable extended HTML DTD logic
+- --disable-partial use partial-display logic
+- --enable-externs use external commands
+- --enable-font-switch use Linux setfont for character-translation
+- --enable-cgi-links support cgi links w/o a http daemon
+- --enable-exec-links allow lynx to execute programs accessed via a link
+- --enable-exec-scripts allow lynx to execute programs inferred from a link
+- --enable-internal-links handle following links to same doc differently
+- --enable-nsl-fork fork NSL requests, allowing them to be aborted
+-EOF
+-cat <<EOF
+- --enable-syslog log URL requests via syslog
+- --disable-persistent-cookies disable persistent-cookie support
+- --enable-underlines underline links rather than using boldface
+- --enable-gzip-help install gzip'ed help files
+- --with-zlib use zlib for decompression of some gzip files
+- --disable-finger disable FINGER logic
+- --disable-gopher disable GOPHER logic
+- --disable-news disable NEWS logic
+- --disable-ftp disable FTP logic
+-Directory Editor Options:
+- --disable-dired disable optional directory-editor, DirEd
+- --disable-dired-archive disable dearchiving commands
+-EOF
+-cat <<EOF
+- --disable-dired-override disable private keymaps
+- --disable-dired-permit disable chmod/attrib commands
+- --disable-dired-xpermit disable chmod/attrib commands
+- --disable-dired-tar disable "tar" command
+- --disable-dired-uudecode disable "uudecode" command
+- --disable-dired-zip disable "zip", "unzip" commands
+- --disable-dired-gzip disable "gzip", "gunzip" commands
+- --disable-long-list disable long "ls -l" directory listings
+- --disable-parent-dir-refs
+- disable "Up-to" links in directory listings
+-EOF
++ if test -n "$ac_help"; then
++ echo "--enable and --with options recognized:$ac_help"
++ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+@@ -402,7 +442,7 @@
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+- echo "configure generated by autoconf version 2.13.19990117"
++ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+@@ -620,7 +660,7 @@
+ fi
+
+ echo $ac_n "checking host system type""... $ac_c" 1>&6
+-echo "configure:624: checking host system type" >&5
++echo "configure:664: checking host system type" >&5
+
+ host_alias=$host
+ case "$host_alias" in
+@@ -675,7 +715,7 @@
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:679: checking for $ac_word" >&5
++echo "configure:719: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -705,7 +745,7 @@
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:709: checking for $ac_word" >&5
++echo "configure:749: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -756,7 +796,7 @@
+ # Extract the first word of "cl", so it can be a program name with args.
+ set dummy cl; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:760: checking for $ac_word" >&5
++echo "configure:800: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -788,7 +828,7 @@
+ fi
+
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:792: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++echo "configure:832: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=c
+ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+@@ -799,12 +839,12 @@
+
+ cat > conftest.$ac_ext << EOF
+
+-#line 803 "configure"
++#line 843 "configure"
+ #include "confdefs.h"
+
+ main(){return(0);}
+ EOF
+-if { (eval echo configure:808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+@@ -830,12 +870,12 @@
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:834: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:874: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cc_cross
+
+ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:839: checking whether we are using GNU C" >&5
++echo "configure:879: checking whether we are using GNU C" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -844,7 +884,7 @@
+ yes;
+ #endif
+ EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:888: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+ else
+ ac_cv_prog_gcc=no
+@@ -863,7 +903,7 @@
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:867: checking whether ${CC-cc} accepts -g" >&5
++echo "configure:907: checking whether ${CC-cc} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -895,7 +935,7 @@
+ fi
+
+ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:899: checking how to run the C preprocessor" >&5
++echo "configure:939: checking how to run the C preprocessor" >&5
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+@@ -910,13 +950,13 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+-#line 914 "configure"
++#line 954 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:920: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -927,13 +967,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+-#line 931 "configure"
++#line 971 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:977: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -944,13 +984,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+-#line 948 "configure"
++#line 988 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -977,7 +1017,7 @@
+ # Extract the first word of "ranlib", so it can be a program name with args.
+ set dummy ranlib; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:981: checking for $ac_word" >&5
++echo "configure:1021: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1005,7 +1045,7 @@
+ fi
+
+ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+-echo "configure:1009: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "configure:1049: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1043,7 +1083,7 @@
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+ echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+-echo "configure:1047: checking for a BSD compatible install" >&5
++echo "configure:1087: checking for a BSD compatible install" >&5
+ if test -z "$INSTALL"; then
+ if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1100,7 +1140,7 @@
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:1104: checking for $ac_word" >&5
++echo "configure:1144: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1131,9 +1171,9 @@
+
+
+ echo $ac_n "checking for AIX""... $ac_c" 1>&6
+-echo "configure:1135: checking for AIX" >&5
++echo "configure:1175: checking for AIX" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 1137 "configure"
++#line 1177 "configure"
+ #include "confdefs.h"
+ #ifdef _AIX
+ yes
+@@ -1155,7 +1195,7 @@
+
+
+ echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
+-echo "configure:1159: checking for POSIXized ISC" >&5
++echo "configure:1199: checking for POSIXized ISC" >&5
+ if test -d /etc/conf/kconfig.d &&
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+ then
+@@ -1177,12 +1217,12 @@
+
+
+
++echo $i
+
+
+
+ echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
+-echo "configure:1185: checking if you want to see long compiling messages" >&5
+-
++echo "configure:1226: checking if you want to see long compiling messages" >&5
+ # Check whether --enable-echo or --disable-echo was given.
+ if test "${enable_echo+set}" = set; then
+ enableval="$enable_echo"
+@@ -1229,8 +1269,7 @@
+
+
+ echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6
+-echo "configure:1233: checking if you want to check memory-leaks" >&5
+-
++echo "configure:1273: checking if you want to check memory-leaks" >&5
+ # Check whether --enable-find-leaks or --disable-find-leaks was given.
+ if test "${enable_find_leaks+set}" = set; then
+ enableval="$enable_find_leaks"
+@@ -1253,8 +1292,7 @@
+
+
+ echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6
+-echo "configure:1257: checking if you want to enable debug-code" >&5
+-
++echo "configure:1296: checking if you want to enable debug-code" >&5
+ # Check whether --enable-debug or --disable-debug was given.
+ if test "${enable_debug+set}" = set; then
+ enableval="$enable_debug"
+@@ -1295,8 +1333,7 @@
+ fi
+
+ echo $ac_n "checking if you want to enable lynx trace code *recommended* ""... $ac_c" 1>&6
+-echo "configure:1299: checking if you want to enable lynx trace code *recommended* " >&5
+-
++echo "configure:1337: checking if you want to enable lynx trace code *recommended* " >&5
+ # Check whether --enable-trace or --disable-trace was given.
+ if test "${enable_trace+set}" = set; then
+ enableval="$enable_trace"
+@@ -1321,8 +1358,7 @@
+ if test -n "$GCC"
+ then
+ echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
+-echo "configure:1325: checking if you want to turn on gcc warnings" >&5
+-
++echo "configure:1362: checking if you want to turn on gcc warnings" >&5
+ # Check whether --enable-warnings or --disable-warnings was given.
+ if test "${enable_warnings+set}" = set; then
+ enableval="$enable_warnings"
+@@ -1361,9 +1397,9 @@
+ if test -n "$GCC"
+ then
+ echo "checking for gcc __attribute__ directives" 1>&6
+-echo "configure:1365: checking for gcc __attribute__ directives" >&5
++echo "configure:1401: checking for gcc __attribute__ directives" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 1367 "configure"
++#line 1403 "configure"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -1401,7 +1437,7 @@
+ EOF
+ ;;
+ esac
+- if { (eval echo configure:1405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ if { (eval echo configure:1441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
+ cat conftest.h >>confdefs.h
+ # else
+@@ -1418,11 +1454,11 @@
+ if test -n "$GCC"
+ then
+ cat > conftest.$ac_ext <<EOF
+-#line 1422 "configure"
++#line 1458 "configure"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+ echo "checking for gcc warning options" 1>&6
+-echo "configure:1426: checking for gcc warning options" >&5
++echo "configure:1462: checking for gcc warning options" >&5
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-W -Wall"
+ cf_warn_CONST=""
+@@ -1440,7 +1476,7 @@
+ Wstrict-prototypes $cf_warn_CONST
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo configure:1444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ if { (eval echo configure:1480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
+@@ -1455,15 +1491,16 @@
+ fi
+
+
++echo $i
+
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1462: checking for ANSI C header files" >&5
++echo "configure:1499: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1467 "configure"
++#line 1504 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -1471,7 +1508,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1512: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1488,7 +1525,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1492 "configure"
++#line 1529 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -1506,7 +1543,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1510 "configure"
++#line 1547 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -1527,7 +1564,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1531 "configure"
++#line 1568 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -1538,7 +1575,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:1542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -1562,12 +1599,12 @@
+ fi
+
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:1566: checking for working const" >&5
++echo "configure:1603: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1571 "configure"
++#line 1608 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -1616,7 +1653,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1657: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -1637,21 +1674,21 @@
+ fi
+
+ echo $ac_n "checking for inline""... $ac_c" 1>&6
+-echo "configure:1641: checking for inline" >&5
++echo "configure:1678: checking for inline" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat > conftest.$ac_ext <<EOF
+-#line 1648 "configure"
++#line 1685 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ } $ac_kw foo() {
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -1677,12 +1714,12 @@
+ esac
+
+ echo $ac_n "checking for off_t""... $ac_c" 1>&6
+-echo "configure:1681: checking for off_t" >&5
++echo "configure:1718: checking for off_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1686 "configure"
++#line 1723 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1710,12 +1747,12 @@
+ fi
+
+ echo $ac_n "checking for size_t""... $ac_c" 1>&6
+-echo "configure:1714: checking for size_t" >&5
++echo "configure:1751: checking for size_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1719 "configure"
++#line 1756 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1745,19 +1782,19 @@
+ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments. Useless!
+ echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
+-echo "configure:1749: checking for working alloca.h" >&5
++echo "configure:1786: checking for working alloca.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1754 "configure"
++#line 1791 "configure"
+ #include "confdefs.h"
+ #include <alloca.h>
+ int main() {
+ char *p = alloca(2 * sizeof(int));
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_header_alloca_h=yes
+ else
+@@ -1778,12 +1815,12 @@
+ fi
+
+ echo $ac_n "checking for alloca""... $ac_c" 1>&6
+-echo "configure:1782: checking for alloca" >&5
++echo "configure:1819: checking for alloca" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1787 "configure"
++#line 1824 "configure"
+ #include "confdefs.h"
+
+ #ifdef __GNUC__
+@@ -1811,7 +1848,7 @@
+ char *p = (char *) alloca(1);
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_func_alloca_works=yes
+ else
+@@ -1843,12 +1880,12 @@
+
+
+ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
+-echo "configure:1847: checking whether alloca needs Cray hooks" >&5
++echo "configure:1884: checking whether alloca needs Cray hooks" >&5
+ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1852 "configure"
++#line 1889 "configure"
+ #include "confdefs.h"
+ #if defined(CRAY) && ! defined(CRAY2)
+ webecray
+@@ -1873,12 +1910,12 @@
+ if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1877: checking for $ac_func" >&5
++echo "configure:1914: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1882 "configure"
++#line 1919 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1901,7 +1938,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1928,7 +1965,7 @@
+ fi
+
+ echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
+-echo "configure:1932: checking stack direction for C alloca" >&5
++echo "configure:1969: checking stack direction for C alloca" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1936,7 +1973,7 @@
+ ac_cv_c_stack_direction=0
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1940 "configure"
++#line 1977 "configure"
+ #include "confdefs.h"
+ find_stack_direction ()
+ {
+@@ -1955,7 +1992,7 @@
+ exit (find_stack_direction() < 0);
+ }
+ EOF
+-if { (eval echo configure:1959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_c_stack_direction=1
+ else
+@@ -1980,17 +2017,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1984: checking for $ac_hdr" >&5
++echo "configure:2021: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1989 "configure"
++#line 2026 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2019,12 +2056,12 @@
+ for ac_func in getpagesize
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2023: checking for $ac_func" >&5
++echo "configure:2060: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2028 "configure"
++#line 2065 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2047,7 +2084,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2072,7 +2109,7 @@
+ done
+
+ echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+-echo "configure:2076: checking for working mmap" >&5
++echo "configure:2113: checking for working mmap" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2080,7 +2117,7 @@
+ ac_cv_func_mmap_fixed_mapped=no
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2084 "configure"
++#line 2121 "configure"
+ #include "confdefs.h"
+
+ /* Thanks to Mike Haertel and Jim Avera for this test.
+@@ -2220,7 +2257,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:2224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:2261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_mmap_fixed_mapped=yes
+ else
+@@ -2248,17 +2285,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:2252: checking for $ac_hdr" >&5
++echo "configure:2289: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2257 "configure"
++#line 2294 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2299: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2288,12 +2325,12 @@
+ __argz_count __argz_stringify __argz_next
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2292: checking for $ac_func" >&5
++echo "configure:2329: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2297 "configure"
++#line 2334 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2316,7 +2353,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2345,12 +2382,12 @@
+ for ac_func in stpcpy
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2349: checking for $ac_func" >&5
++echo "configure:2386: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2354 "configure"
++#line 2391 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2373,7 +2410,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2407,19 +2444,19 @@
+
+ if test $ac_cv_header_locale_h = yes; then
+ echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
+-echo "configure:2411: checking for LC_MESSAGES" >&5
++echo "configure:2448: checking for LC_MESSAGES" >&5
+ if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2416 "configure"
++#line 2453 "configure"
+ #include "confdefs.h"
+ #include <locale.h>
+ int main() {
+ return LC_MESSAGES
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ am_cv_val_LC_MESSAGES=yes
+ else
+@@ -2440,9 +2477,8 @@
+ fi
+ fi
+ echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
+-echo "configure:2444: checking whether NLS is requested" >&5
+-
+-# Check whether --enable-nls or --disable-nls was given.
++echo "configure:2481: checking whether NLS is requested" >&5
++ # Check whether --enable-nls or --disable-nls was given.
+ if test "${enable_nls+set}" = set; then
+ enableval="$enable_nls"
+ USE_NLS=$enableval
+@@ -2461,9 +2497,8 @@
+ EOF
+
+ echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
+-echo "configure:2465: checking whether included gettext is requested" >&5
+-
+-# Check whether --with-included-gettext or --without-included-gettext was given.
++echo "configure:2501: checking whether included gettext is requested" >&5
++ # Check whether --with-included-gettext or --without-included-gettext was given.
+ if test "${with_included_gettext+set}" = set; then
+ withval="$with_included_gettext"
+ nls_cv_force_use_gnu_gettext=$withval
+@@ -2481,17 +2516,17 @@
+
+ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
+-echo "configure:2485: checking for libintl.h" >&5
++echo "configure:2520: checking for libintl.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2490 "configure"
++#line 2525 "configure"
+ #include "confdefs.h"
+ #include <libintl.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:2495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:2530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -2508,19 +2543,19 @@
+ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
+-echo "configure:2512: checking for gettext in libc" >&5
++echo "configure:2547: checking for gettext in libc" >&5
+ if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2517 "configure"
++#line 2552 "configure"
+ #include "confdefs.h"
+ #include <libintl.h>
+ int main() {
+ return (int) gettext ("")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ gt_cv_func_gettext_libc=yes
+ else
+@@ -2536,7 +2571,7 @@
+
+ if test "$gt_cv_func_gettext_libc" != "yes"; then
+ echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
+-echo "configure:2540: checking for bindtextdomain in -lintl" >&5
++echo "configure:2575: checking for bindtextdomain in -lintl" >&5
+ ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -2544,7 +2579,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lintl $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 2548 "configure"
++#line 2583 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -2555,7 +2590,7 @@
+ bindtextdomain()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -2571,19 +2606,19 @@
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
+-echo "configure:2575: checking for gettext in libintl" >&5
++echo "configure:2610: checking for gettext in libintl" >&5
+ if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2580 "configure"
++#line 2615 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ return (int) gettext ("")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ gt_cv_func_gettext_libintl=yes
+ else
+@@ -2611,7 +2646,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2615: checking for $ac_word" >&5
++echo "configure:2650: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2645,12 +2680,12 @@
+ for ac_func in dcgettext
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2649: checking for $ac_func" >&5
++echo "configure:2684: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2654 "configure"
++#line 2689 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2673,7 +2708,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2700,7 +2735,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2704: checking for $ac_word" >&5
++echo "configure:2739: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2736,7 +2771,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2740: checking for $ac_word" >&5
++echo "configure:2775: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2768,7 +2803,7 @@
+ fi
+
+ cat > conftest.$ac_ext <<EOF
+-#line 2772 "configure"
++#line 2807 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -2776,7 +2811,7 @@
+ return _nl_msg_cat_cntr
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ CATOBJEXT=.gmo
+ DATADIRNAME=share
+@@ -2799,9 +2834,8 @@
+
+ if test "$CATOBJEXT" = "NONE"; then
+ echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
+-echo "configure:2803: checking whether catgets can be used" >&5
+-
+-# Check whether --with-catgets or --without-catgets was given.
++echo "configure:2838: checking whether catgets can be used" >&5
++ # Check whether --with-catgets or --without-catgets was given.
+ if test "${with_catgets+set}" = set; then
+ withval="$with_catgets"
+ nls_cv_use_catgets=$withval
+@@ -2813,7 +2847,7 @@
+
+ if test "$nls_cv_use_catgets" = "yes"; then
+ echo $ac_n "checking for main in -li""... $ac_c" 1>&6
+-echo "configure:2817: checking for main in -li" >&5
++echo "configure:2851: checking for main in -li" >&5
+ ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -2821,14 +2855,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-li $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 2825 "configure"
++#line 2859 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -2856,12 +2890,12 @@
+ fi
+
+ echo $ac_n "checking for catgets""... $ac_c" 1>&6
+-echo "configure:2860: checking for catgets" >&5
++echo "configure:2894: checking for catgets" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2865 "configure"
++#line 2899 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char catgets(); below. */
+@@ -2884,7 +2918,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_catgets=yes"
+ else
+@@ -2906,7 +2940,7 @@
+ # Extract the first word of "gencat", so it can be a program name with args.
+ set dummy gencat; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2910: checking for $ac_word" >&5
++echo "configure:2944: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2942,7 +2976,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2946: checking for $ac_word" >&5
++echo "configure:2980: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -2979,7 +3013,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:2983: checking for $ac_word" >&5
++echo "configure:3017: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3014,7 +3048,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3018: checking for $ac_word" >&5
++echo "configure:3052: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3072,7 +3106,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3076: checking for $ac_word" >&5
++echo "configure:3110: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3106,7 +3140,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3110: checking for $ac_word" >&5
++echo "configure:3144: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3142,7 +3176,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3146: checking for $ac_word" >&5
++echo "configure:3180: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3232,7 +3266,7 @@
+ LINGUAS=
+ else
+ echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
+-echo "configure:3236: checking for catalogs to be installed" >&5
++echo "configure:3270: checking for catalogs to be installed" >&5
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+@@ -3261,17 +3295,17 @@
+ if test "$CATOBJEXT" = ".cat"; then
+ ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
+-echo "configure:3265: checking for linux/version.h" >&5
++echo "configure:3299: checking for linux/version.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3270 "configure"
++#line 3304 "configure"
+ #include "confdefs.h"
+ #include <linux/version.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:3275: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -3344,7 +3378,6 @@
+ fi
+
+
+-
+ # Check whether --with-nls-datadir or --without-nls-datadir was given.
+ if test "${with_nls_datadir+set}" = set; then
+ withval="$with_nls_datadir"
+@@ -3383,9 +3416,8 @@
+ use_our_messages=no
+ if test -d $srcdir/po ; then
+ echo $ac_n "checking if we should use included message-library""... $ac_c" 1>&6
+-echo "configure:3387: checking if we should use included message-library" >&5
+-
+-# Check whether --enable-included-msgs or --disable-included-msgs was given.
++echo "configure:3420: checking if we should use included message-library" >&5
++ # Check whether --enable-included-msgs or --disable-included-msgs was given.
+ if test "${enable_included_msgs+set}" = set; then
+ enableval="$enable_included_msgs"
+ use_our_messages=$enableval
+@@ -3419,17 +3451,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:3423: checking for $ac_hdr" >&5
++echo "configure:3455: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3428 "configure"
++#line 3460 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:3433: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -3499,8 +3531,7 @@
+ fi
+
+ echo $ac_n "checking if you want full utility pathnames""... $ac_c" 1>&6
+-echo "configure:3503: checking if you want full utility pathnames" >&5
+-
++echo "configure:3535: checking if you want full utility pathnames" >&5
+ # Check whether --enable-full-paths or --disable-full-paths was given.
+ if test "${enable_full_paths+set}" = set; then
+ enableval="$enable_full_paths"
+@@ -3524,7 +3555,7 @@
+
+
+ echo $ac_n "checking for system mailer""... $ac_c" 1>&6
+-echo "configure:3528: checking for system mailer" >&5
++echo "configure:3559: checking for system mailer" >&5
+ if eval "test \"`echo '$''{'cf_cv_SYSTEM_MAIL'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3551,7 +3582,7 @@
+
+
+ echo $ac_n "checking system mail flags""... $ac_c" 1>&6
+-echo "configure:3555: checking system mail flags" >&5
++echo "configure:3586: checking system mail flags" >&5
+ if eval "test \"`echo '$''{'cf_cv_system_mail_flags'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3579,7 +3610,7 @@
+ # Extract the first word of "chmod", so it can be a program name with args.
+ set dummy chmod; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3583: checking for $ac_word" >&5
++echo "configure:3614: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3614,7 +3645,7 @@
+
+ else
+ echo $ac_n "checking for chmod""... $ac_c" 1>&6
+-echo "configure:3618: checking for chmod" >&5
++echo "configure:3649: checking for chmod" >&5
+ echo "$ac_t""$CHMOD" 1>&6
+ eval 'ac_cv_path_'CHMOD'="'chmod'"'
+ fi
+@@ -3656,7 +3687,7 @@
+ # Extract the first word of "compress", so it can be a program name with args.
+ set dummy compress; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3660: checking for $ac_word" >&5
++echo "configure:3691: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_COMPRESS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3691,7 +3722,7 @@
+
+ else
+ echo $ac_n "checking for compress""... $ac_c" 1>&6
+-echo "configure:3695: checking for compress" >&5
++echo "configure:3726: checking for compress" >&5
+ echo "$ac_t""$COMPRESS" 1>&6
+ eval 'ac_cv_path_'COMPRESS'="'compress'"'
+ fi
+@@ -3733,7 +3764,7 @@
+ # Extract the first word of "cp", so it can be a program name with args.
+ set dummy cp; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3737: checking for $ac_word" >&5
++echo "configure:3768: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_COPY'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3768,7 +3799,7 @@
+
+ else
+ echo $ac_n "checking for cp""... $ac_c" 1>&6
+-echo "configure:3772: checking for cp" >&5
++echo "configure:3803: checking for cp" >&5
+ echo "$ac_t""$COPY" 1>&6
+ eval 'ac_cv_path_'COPY'="'cp'"'
+ fi
+@@ -3810,7 +3841,7 @@
+ # Extract the first word of "gzip", so it can be a program name with args.
+ set dummy gzip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3814: checking for $ac_word" >&5
++echo "configure:3845: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GZIP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3845,7 +3876,7 @@
+
+ else
+ echo $ac_n "checking for gzip""... $ac_c" 1>&6
+-echo "configure:3849: checking for gzip" >&5
++echo "configure:3880: checking for gzip" >&5
+ echo "$ac_t""$GZIP" 1>&6
+ eval 'ac_cv_path_'GZIP'="'gzip'"'
+ fi
+@@ -3887,7 +3918,7 @@
+ # Extract the first word of "mkdir", so it can be a program name with args.
+ set dummy mkdir; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3891: checking for $ac_word" >&5
++echo "configure:3922: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3922,7 +3953,7 @@
+
+ else
+ echo $ac_n "checking for mkdir""... $ac_c" 1>&6
+-echo "configure:3926: checking for mkdir" >&5
++echo "configure:3957: checking for mkdir" >&5
+ echo "$ac_t""$MKDIR" 1>&6
+ eval 'ac_cv_path_'MKDIR'="'mkdir'"'
+ fi
+@@ -3964,7 +3995,7 @@
+ # Extract the first word of "mv", so it can be a program name with args.
+ set dummy mv; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:3968: checking for $ac_word" >&5
++echo "configure:3999: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3999,7 +4030,7 @@
+
+ else
+ echo $ac_n "checking for mv""... $ac_c" 1>&6
+-echo "configure:4003: checking for mv" >&5
++echo "configure:4034: checking for mv" >&5
+ echo "$ac_t""$MV" 1>&6
+ eval 'ac_cv_path_'MV'="'mv'"'
+ fi
+@@ -4041,7 +4072,7 @@
+ # Extract the first word of "rm", so it can be a program name with args.
+ set dummy rm; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4045: checking for $ac_word" >&5
++echo "configure:4076: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4076,7 +4107,7 @@
+
+ else
+ echo $ac_n "checking for rm""... $ac_c" 1>&6
+-echo "configure:4080: checking for rm" >&5
++echo "configure:4111: checking for rm" >&5
+ echo "$ac_t""$RM" 1>&6
+ eval 'ac_cv_path_'RM'="'rm'"'
+ fi
+@@ -4118,7 +4149,7 @@
+ # Extract the first word of "tar", so it can be a program name with args.
+ set dummy tar; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4122: checking for $ac_word" >&5
++echo "configure:4153: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_TAR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4153,7 +4184,7 @@
+
+ else
+ echo $ac_n "checking for tar""... $ac_c" 1>&6
+-echo "configure:4157: checking for tar" >&5
++echo "configure:4188: checking for tar" >&5
+ echo "$ac_t""$TAR" 1>&6
+ eval 'ac_cv_path_'TAR'="'tar'"'
+ fi
+@@ -4195,7 +4226,7 @@
+ # Extract the first word of "touch", so it can be a program name with args.
+ set dummy touch; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4199: checking for $ac_word" >&5
++echo "configure:4230: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_TOUCH'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4230,7 +4261,7 @@
+
+ else
+ echo $ac_n "checking for touch""... $ac_c" 1>&6
+-echo "configure:4234: checking for touch" >&5
++echo "configure:4265: checking for touch" >&5
+ echo "$ac_t""$TOUCH" 1>&6
+ eval 'ac_cv_path_'TOUCH'="'touch'"'
+ fi
+@@ -4272,7 +4303,7 @@
+ # Extract the first word of "gunzip", so it can be a program name with args.
+ set dummy gunzip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4276: checking for $ac_word" >&5
++echo "configure:4307: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_UNCOMPRESS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4307,7 +4338,7 @@
+
+ else
+ echo $ac_n "checking for gunzip""... $ac_c" 1>&6
+-echo "configure:4311: checking for gunzip" >&5
++echo "configure:4342: checking for gunzip" >&5
+ echo "$ac_t""$UNCOMPRESS" 1>&6
+ eval 'ac_cv_path_'UNCOMPRESS'="'gunzip'"'
+ fi
+@@ -4349,7 +4380,7 @@
+ # Extract the first word of "unzip", so it can be a program name with args.
+ set dummy unzip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4353: checking for $ac_word" >&5
++echo "configure:4384: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_UNZIP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4384,7 +4415,7 @@
+
+ else
+ echo $ac_n "checking for unzip""... $ac_c" 1>&6
+-echo "configure:4388: checking for unzip" >&5
++echo "configure:4419: checking for unzip" >&5
+ echo "$ac_t""$UNZIP" 1>&6
+ eval 'ac_cv_path_'UNZIP'="'unzip'"'
+ fi
+@@ -4426,7 +4457,7 @@
+ # Extract the first word of "bzip2", so it can be a program name with args.
+ set dummy bzip2; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4430: checking for $ac_word" >&5
++echo "configure:4461: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_BZIP2'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4461,7 +4492,7 @@
+
+ else
+ echo $ac_n "checking for bzip2""... $ac_c" 1>&6
+-echo "configure:4465: checking for bzip2" >&5
++echo "configure:4496: checking for bzip2" >&5
+ echo "$ac_t""$BZIP2" 1>&6
+ eval 'ac_cv_path_'BZIP2'="'bzip2'"'
+ fi
+@@ -4503,7 +4534,7 @@
+ # Extract the first word of "uudecode", so it can be a program name with args.
+ set dummy uudecode; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4507: checking for $ac_word" >&5
++echo "configure:4538: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_UUDECODE'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4538,7 +4569,7 @@
+
+ else
+ echo $ac_n "checking for uudecode""... $ac_c" 1>&6
+-echo "configure:4542: checking for uudecode" >&5
++echo "configure:4573: checking for uudecode" >&5
+ echo "$ac_t""$UUDECODE" 1>&6
+ eval 'ac_cv_path_'UUDECODE'="'uudecode'"'
+ fi
+@@ -4580,7 +4611,7 @@
+ # Extract the first word of "zcat", so it can be a program name with args.
+ set dummy zcat; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4584: checking for $ac_word" >&5
++echo "configure:4615: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_ZCAT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4615,7 +4646,7 @@
+
+ else
+ echo $ac_n "checking for zcat""... $ac_c" 1>&6
+-echo "configure:4619: checking for zcat" >&5
++echo "configure:4650: checking for zcat" >&5
+ echo "$ac_t""$ZCAT" 1>&6
+ eval 'ac_cv_path_'ZCAT'="'zcat'"'
+ fi
+@@ -4657,7 +4688,7 @@
+ # Extract the first word of "zip", so it can be a program name with args.
+ set dummy zip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4661: checking for $ac_word" >&5
++echo "configure:4692: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_ZIP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4692,7 +4723,7 @@
+
+ else
+ echo $ac_n "checking for zip""... $ac_c" 1>&6
+-echo "configure:4696: checking for zip" >&5
++echo "configure:4727: checking for zip" >&5
+ echo "$ac_t""$ZIP" 1>&6
+ eval 'ac_cv_path_'ZIP'="'zip'"'
+ fi
+@@ -4734,7 +4765,7 @@
+ # Extract the first word of "telnet", so it can be a program name with args.
+ set dummy telnet; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4738: checking for $ac_word" >&5
++echo "configure:4769: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_TELNET'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4769,7 +4800,7 @@
+
+ else
+ echo $ac_n "checking for telnet""... $ac_c" 1>&6
+-echo "configure:4773: checking for telnet" >&5
++echo "configure:4804: checking for telnet" >&5
+ echo "$ac_t""$TELNET" 1>&6
+ eval 'ac_cv_path_'TELNET'="'telnet'"'
+ fi
+@@ -4811,7 +4842,7 @@
+ # Extract the first word of "tn3270", so it can be a program name with args.
+ set dummy tn3270; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4815: checking for $ac_word" >&5
++echo "configure:4846: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_TN3270'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4846,7 +4877,7 @@
+
+ else
+ echo $ac_n "checking for tn3270""... $ac_c" 1>&6
+-echo "configure:4850: checking for tn3270" >&5
++echo "configure:4881: checking for tn3270" >&5
+ echo "$ac_t""$TN3270" 1>&6
+ eval 'ac_cv_path_'TN3270'="'tn3270'"'
+ fi
+@@ -4888,7 +4919,7 @@
+ # Extract the first word of "rlogin", so it can be a program name with args.
+ set dummy rlogin; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:4892: checking for $ac_word" >&5
++echo "configure:4923: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_RLOGIN'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -4923,7 +4954,7 @@
+
+ else
+ echo $ac_n "checking for rlogin""... $ac_c" 1>&6
+-echo "configure:4927: checking for rlogin" >&5
++echo "configure:4958: checking for rlogin" >&5
+ echo "$ac_t""$RLOGIN" 1>&6
+ eval 'ac_cv_path_'RLOGIN'="'rlogin'"'
+ fi
+@@ -4984,7 +5015,7 @@
+ if test -z "$GCC" ; then
+
+ echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
+-echo "configure:4988: checking for ${CC-cc} option to accept ANSI C" >&5
++echo "configure:5019: checking for ${CC-cc} option to accept ANSI C" >&5
+ if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -5008,7 +5039,7 @@
+ do
+ CFLAGS="$cf_save_CFLAGS $cf_arg"
+ cat > conftest.$ac_ext <<EOF
+-#line 5012 "configure"
++#line 5043 "configure"
+ #include "confdefs.h"
+
+ #ifndef CC_HAS_PROTOS
+@@ -5024,7 +5055,7 @@
+ struct s2 {int (*f) (double a);};
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:5059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ansi_cc="$cf_arg"; break
+ else
+@@ -5052,12 +5083,12 @@
+
+ fi
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:5056: checking for working const" >&5
++echo "configure:5087: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 5061 "configure"
++#line 5092 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -5106,7 +5137,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5110: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:5141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -5148,7 +5179,7 @@
+ # contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil) also
+ # references -lmalloc and -lbsd.
+ echo $ac_n "checking for strcmp in -lc_s""... $ac_c" 1>&6
+-echo "configure:5152: checking for strcmp in -lc_s" >&5
++echo "configure:5183: checking for strcmp in -lc_s" >&5
+ ac_lib_var=`echo c_s'_'strcmp | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -5156,7 +5187,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lc_s $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5160 "configure"
++#line 5191 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -5167,7 +5198,7 @@
+ strcmp()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -5257,7 +5288,7 @@
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:5261: checking for $ac_word" >&5
++echo "configure:5292: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -5302,17 +5333,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:5306: checking for $ac_hdr" >&5
++echo "configure:5337: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 5311 "configure"
++#line 5342 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:5316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:5347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -5356,17 +5387,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:5360: checking for $ac_hdr" >&5
++echo "configure:5391: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 5365 "configure"
++#line 5396 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:5370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:5401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -5404,16 +5435,16 @@
+ cf_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $TRY_CFLAGS"
+ echo $ac_n "checking if we should use compile options $TRY_CFLAGS""... $ac_c" 1>&6
+-echo "configure:5408: checking if we should use compile options $TRY_CFLAGS" >&5
++echo "configure:5439: checking if we should use compile options $TRY_CFLAGS" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 5410 "configure"
++#line 5441 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int main() {
+ FILE *fp = stdin
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:5448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -5431,12 +5462,11 @@
+ ### Look for network libraries first, since some functions (such as gethostname)
+ ### are used in a lot of places.
+ echo $ac_n "checking if you want socks library""... $ac_c" 1>&6
+-echo "configure:5435: checking if you want socks library" >&5
++echo "configure:5466: checking if you want socks library" >&5
+ if eval "test \"`echo '$''{'cf_cv_use_libsocks'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+-
+ # Check whether --with-socks or --without-socks was given.
+ if test "${with_socks+set}" = set; then
+ withval="$with_socks"
+@@ -5451,12 +5481,11 @@
+ echo "$ac_t""$cf_cv_use_libsocks" 1>&6
+
+ echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6
+-echo "configure:5455: checking if you want socks5 library" >&5
++echo "configure:5485: checking if you want socks5 library" >&5
+ if eval "test \"`echo '$''{'cf_cv_use_libsocks5'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+-
+ # Check whether --with-socks5 or --without-socks5 was given.
+ if test "${with_socks5+set}" = set; then
+ withval="$with_socks5"
+@@ -5517,7 +5546,7 @@
+ EOF
+
+ cat > conftest.$ac_ext <<EOF
+-#line 5521 "configure"
++#line 5550 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -5526,7 +5555,7 @@
+ accept((char *)0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ :
+ else
+ echo "configure: failed program was:" >&5
+@@ -5556,9 +5585,9 @@
+ EOF
+
+ echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6
+-echo "configure:5560: checking if the socks library uses socks4 prefix" >&5
++echo "configure:5589: checking if the socks library uses socks4 prefix" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 5562 "configure"
++#line 5591 "configure"
+ #include "confdefs.h"
+
+ #include <socks.h>
+@@ -5567,7 +5596,7 @@
+ Rinit((char *)0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+ #define USE_SOCKS4_PREFIX 1
+@@ -5579,14 +5608,14 @@
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+-#line 5583 "configure"
++#line 5612 "configure"
+ #include "confdefs.h"
+ #include <socks.h>
+ int main() {
+ SOCKSinit((char *)0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_use_socks4=no
+ else
+@@ -5655,7 +5684,7 @@
+
+ cf_test_netlibs=no
+ echo $ac_n "checking for network libraries""... $ac_c" 1>&6
+-echo "configure:5659: checking for network libraries" >&5
++echo "configure:5688: checking for network libraries" >&5
+ if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -5666,12 +5695,12 @@
+ for ac_func in gethostname
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:5670: checking for $ac_func" >&5
++echo "configure:5699: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 5675 "configure"
++#line 5704 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -5694,7 +5723,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -5717,7 +5746,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
+-echo "configure:5721: checking for gethostname in -lnsl" >&5
++echo "configure:5750: checking for gethostname in -lnsl" >&5
+ ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -5725,7 +5754,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lnsl $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5729 "configure"
++#line 5758 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -5736,7 +5765,7 @@
+ gethostname()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -5769,7 +5798,7 @@
+
+
+ echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
+-echo "configure:5773: checking for gethostname in -lsocket" >&5
++echo "configure:5802: checking for gethostname in -lsocket" >&5
+ ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -5777,7 +5806,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lsocket $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5781 "configure"
++#line 5810 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -5788,7 +5817,7 @@
+ gethostname()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -5832,21 +5861,21 @@
+ # FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
+ # I don't know the entrypoints - 97/7/22 TD
+ echo $ac_n "checking for -linet""... $ac_c" 1>&6
+-echo "configure:5836: checking for -linet" >&5
++echo "configure:5865: checking for -linet" >&5
+ if eval "test \"`echo '$''{'ac_cv_lib_inet'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+ LIBS="-linet $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5843 "configure"
++#line 5872 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_lib_inet=yes
+ else
+@@ -5869,12 +5898,12 @@
+ for ac_func in socket
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:5873: checking for $ac_func" >&5
++echo "configure:5902: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 5878 "configure"
++#line 5907 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -5897,7 +5926,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -5920,7 +5949,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
+-echo "configure:5924: checking for socket in -lsocket" >&5
++echo "configure:5953: checking for socket in -lsocket" >&5
+ ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -5928,7 +5957,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lsocket $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5932 "configure"
++#line 5961 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -5939,7 +5968,7 @@
+ socket()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:5972: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -5972,7 +6001,7 @@
+
+
+ echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
+-echo "configure:5976: checking for socket in -lbsd" >&5
++echo "configure:6005: checking for socket in -lbsd" >&5
+ ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -5980,7 +6009,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lbsd $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 5984 "configure"
++#line 6013 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -5991,7 +6020,7 @@
+ socket()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:5995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6036,12 +6065,12 @@
+ for ac_func in gethostbyname
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6040: checking for $ac_func" >&5
++echo "configure:6069: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6045 "configure"
++#line 6074 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6064,7 +6093,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6087,7 +6116,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
+-echo "configure:6091: checking for gethostbyname in -lnsl" >&5
++echo "configure:6120: checking for gethostbyname in -lnsl" >&5
+ ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6095,7 +6124,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lnsl $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6099 "configure"
++#line 6128 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6106,7 +6135,7 @@
+ gethostbyname()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6147,12 +6176,12 @@
+ for ac_func in strcasecmp
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6151: checking for $ac_func" >&5
++echo "configure:6180: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6156 "configure"
++#line 6185 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6175,7 +6204,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6198,7 +6227,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
+-echo "configure:6202: checking for strcasecmp in -lresolv" >&5
++echo "configure:6231: checking for strcasecmp in -lresolv" >&5
+ ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6206,7 +6235,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lresolv $cf_cv_netlibs $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6210 "configure"
++#line 6239 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6217,7 +6246,7 @@
+ strcasecmp()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6263,13 +6292,13 @@
+ fi
+
+ echo $ac_n "checking for inet_aton function""... $ac_c" 1>&6
+-echo "configure:6267: checking for inet_aton function" >&5
++echo "configure:6296: checking for inet_aton function" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_inet_aton'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 6273 "configure"
++#line 6302 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -6280,7 +6309,7 @@
+ inet_aton(0, (struct in_addr *)0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_have_inet_aton=yes
+ else
+@@ -6300,13 +6329,13 @@
+
+ else
+ echo $ac_n "checking for inet_addr function""... $ac_c" 1>&6
+-echo "configure:6304: checking for inet_addr function" >&5
++echo "configure:6333: checking for inet_addr function" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_inet_addr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 6310 "configure"
++#line 6339 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -6317,7 +6346,7 @@
+ inet_addr(0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_have_inet_addr=yes
+ else
+@@ -6332,7 +6361,7 @@
+ echo "$ac_t""$cf_cv_have_inet_addr" 1>&6
+ if test "$cf_cv_have_inet_addr" = no ; then
+ echo $ac_n "checking for library with inet_addr""... $ac_c" 1>&6
+-echo "configure:6336: checking for library with inet_addr" >&5
++echo "configure:6365: checking for library with inet_addr" >&5
+ if eval "test \"`echo '$''{'cf_cv_lib_inet_addr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -6342,7 +6371,7 @@
+ do
+ LIBS="$cf_save_LIBS $cf_inetlib"
+ cat > conftest.$ac_ext <<EOF
+-#line 6346 "configure"
++#line 6375 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -6353,7 +6382,7 @@
+ inet_addr(0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_lib_inet_addr=$cf_inetlib
+ else
+@@ -6380,12 +6409,11 @@
+
+
+ echo $ac_n "checking for screen type""... $ac_c" 1>&6
+-echo "configure:6384: checking for screen type" >&5
++echo "configure:6413: checking for screen type" >&5
+ if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+-
+ # Check whether --with-screen or --without-screen was given.
+ if test "${with_screen+set}" = set; then
+ withval="$with_screen"
+@@ -6415,12 +6443,12 @@
+ curses)
+
+ echo $ac_n "checking for initscr""... $ac_c" 1>&6
+-echo "configure:6419: checking for initscr" >&5
++echo "configure:6447: checking for initscr" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6424 "configure"
++#line 6452 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr(); below. */
+@@ -6443,7 +6471,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_initscr=yes"
+ else
+@@ -6464,7 +6492,7 @@
+ case $host_os in #(vi
+ freebsd*) #(vi
+ echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
+-echo "configure:6468: checking for tgoto in -lmytinfo" >&5
++echo "configure:6496: checking for tgoto in -lmytinfo" >&5
+ ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6472,7 +6500,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lmytinfo $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6476 "configure"
++#line 6504 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6483,7 +6511,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6506,7 +6534,7 @@
+ ;;
+ hpux10.*)
+ echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
+-echo "configure:6510: checking for initscr in -lcur_colr" >&5
++echo "configure:6538: checking for initscr in -lcur_colr" >&5
+ ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6514,7 +6542,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lcur_colr $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6518 "configure"
++#line 6546 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6525,7 +6553,7 @@
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6549,7 +6577,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
+-echo "configure:6553: checking for initscr in -lHcurses" >&5
++echo "configure:6581: checking for initscr in -lHcurses" >&5
+ ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6557,7 +6585,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lHcurses $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6561 "configure"
++#line 6589 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6568,7 +6596,7 @@
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6617,12 +6645,12 @@
+ # Check for library containing tgoto. Do this before curses library
+ # because it may be needed to link the test-case for initscr.
+ echo $ac_n "checking for tgoto""... $ac_c" 1>&6
+-echo "configure:6621: checking for tgoto" >&5
++echo "configure:6649: checking for tgoto" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6626 "configure"
++#line 6654 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char tgoto(); below. */
+@@ -6645,7 +6673,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_tgoto=yes"
+ else
+@@ -6666,7 +6694,7 @@
+ for cf_term_lib in termcap termlib unknown
+ do
+ echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
+-echo "configure:6670: checking for tgoto in -l$cf_term_lib" >&5
++echo "configure:6698: checking for tgoto in -l$cf_term_lib" >&5
+ ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6674,7 +6702,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$cf_term_lib $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6678 "configure"
++#line 6706 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6685,7 +6713,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6715,7 +6743,7 @@
+ for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown
+ do
+ echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
+-echo "configure:6719: checking for initscr in -l$cf_curs_lib" >&5
++echo "configure:6747: checking for initscr in -l$cf_curs_lib" >&5
+ ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6723,7 +6751,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$cf_curs_lib $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6727 "configure"
++#line 6755 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6734,7 +6762,7 @@
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6760,16 +6788,16 @@
+ LIBS="-l$cf_curs_lib $cf_save_LIBS"
+ if test "$cf_term_lib" = unknown ; then
+ echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
+-echo "configure:6764: checking if we can link with $cf_curs_lib library" >&5
++echo "configure:6792: checking if we can link with $cf_curs_lib library" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 6766 "configure"
++#line 6794 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -6783,16 +6811,16 @@
+ test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
+ elif test "$cf_term_lib" != predefined ; then
+ echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
+-echo "configure:6787: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
++echo "configure:6815: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 6789 "configure"
++#line 6817 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr(); tgoto((char *)0, 0, 0);
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=no
+ else
+@@ -6802,14 +6830,14 @@
+
+ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6806 "configure"
++#line 6834 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -6831,14 +6859,14 @@
+
+
+ echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6
+-echo "configure:6835: checking for curses performance tradeoff" >&5
++echo "configure:6863: checking for curses performance tradeoff" >&5
+ if eval "test \"`echo '$''{'cf_cv_curs_performance'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cf_cv_curs_performance=no
+ cat > conftest.$ac_ext <<EOF
+-#line 6842 "configure"
++#line 6870 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -6852,11 +6880,11 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:6884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 6860 "configure"
++#line 6888 "configure"
+ #include "confdefs.h"
+
+ #define CURS_PERFORMANCE
+@@ -6871,7 +6899,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6875: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:6903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_curs_performance=yes
+ else
+@@ -6896,13 +6924,13 @@
+ ncurses)
+
+ echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6
+-echo "configure:6900: checking for ncurses header file" >&5
++echo "configure:6928: checking for ncurses header file" >&5
+ if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 6906 "configure"
++#line 6934 "configure"
+ #include "confdefs.h"
+ #include <curses.h>
+ int main() {
+@@ -6919,7 +6947,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:6951: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ncurses_header=predefined
+ else
+@@ -7005,7 +7033,7 @@
+ ;;
+ esac
+ echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
+-echo "configure:7009: checking for ncurses version" >&5
++echo "configure:7037: checking for ncurses version" >&5
+ if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7030,7 +7058,7 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo configure:7034: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
++ { (eval echo configure:7062: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
+ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+@@ -7039,7 +7067,7 @@
+
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7043 "configure"
++#line 7071 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -7062,7 +7090,7 @@
+ exit(0);
+ }
+ EOF
+-if { (eval echo configure:7066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:7094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -7087,7 +7115,7 @@
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+ echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
+-echo "configure:7091: checking for Gpm_Open in -lgpm" >&5
++echo "configure:7119: checking for Gpm_Open in -lgpm" >&5
+ ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7095,7 +7123,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lgpm $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7099 "configure"
++#line 7127 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7106,7 +7134,7 @@
+ Gpm_Open()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7122,7 +7150,7 @@
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
+-echo "configure:7126: checking for initscr in -lgpm" >&5
++echo "configure:7154: checking for initscr in -lgpm" >&5
+ ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7130,7 +7158,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lgpm $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7134 "configure"
++#line 7162 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7141,7 +7169,7 @@
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7172,7 +7200,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
+-echo "configure:7176: checking for tgoto in -lmytinfo" >&5
++echo "configure:7204: checking for tgoto in -lmytinfo" >&5
+ ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7180,7 +7208,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lmytinfo $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7184 "configure"
++#line 7212 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7191,7 +7219,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7219,12 +7247,12 @@
+ cf_cv_have_lib_ncurses=no
+ cf_libdir=""
+ echo $ac_n "checking for initscr""... $ac_c" 1>&6
+-echo "configure:7223: checking for initscr" >&5
++echo "configure:7251: checking for initscr" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7228 "configure"
++#line 7256 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr(); below. */
+@@ -7247,7 +7275,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_initscr=yes"
+ else
+@@ -7267,17 +7295,17 @@
+
+ cf_save_LIBS="$LIBS"
+ echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
+-echo "configure:7271: checking for initscr in -lncurses" >&5
++echo "configure:7299: checking for initscr in -lncurses" >&5
+ LIBS="-lncurses $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7274 "configure"
++#line 7302 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_ncurses=yes
+@@ -7304,17 +7332,17 @@
+ for cf_libdir in $cf_search
+ do
+ echo $ac_n "checking for -lncurses in $cf_libdir""... $ac_c" 1>&6
+-echo "configure:7308: checking for -lncurses in $cf_libdir" >&5
++echo "configure:7336: checking for -lncurses in $cf_libdir" >&5
+ LIBS="-L$cf_libdir -lncurses $cf_save_LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7311 "configure"
++#line 7339 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_ncurses=yes
+@@ -7346,7 +7374,7 @@
+
+ if test -n "$cf_ncurses_LIBS" ; then
+ echo $ac_n "checking if we can link ncurses without $cf_ncurses_LIBS""... $ac_c" 1>&6
+-echo "configure:7350: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
++echo "configure:7378: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+ q=`echo $LIBS | sed -e 's/'$p' //' -e 's/'$p'$//'`
+@@ -7355,14 +7383,14 @@
+ fi
+ done
+ cat > conftest.$ac_ext <<EOF
+-#line 7359 "configure"
++#line 7387 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ else
+@@ -7379,20 +7407,20 @@
+ slang)
+
+ echo $ac_n "checking for slang header file""... $ac_c" 1>&6
+-echo "configure:7383: checking for slang header file" >&5
++echo "configure:7411: checking for slang header file" >&5
+ if eval "test \"`echo '$''{'cf_cv_slang_header'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 7389 "configure"
++#line 7417 "configure"
+ #include "confdefs.h"
+ #include <slang.h>
+ int main() {
+ printf("%s\n", SLANG_VERSION)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7396: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:7424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_slang_header=predefined
+ else
+@@ -7474,24 +7502,24 @@
+
+ cf_cv_termlib=none
+ cat > conftest.$ac_ext <<EOF
+-#line 7478 "configure"
++#line 7506 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ char *x=(char*)tgoto("",0,0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+-#line 7488 "configure"
++#line 7516 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ int x=tigetstr("")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_termlib=terminfo
+ else
+@@ -7513,7 +7541,7 @@
+ # HP-UX 9.x terminfo has setupterm, but no tigetstr.
+ if test "$cf_cv_termlib" = none; then
+ echo $ac_n "checking for tigetstr in -ltermlib""... $ac_c" 1>&6
+-echo "configure:7517: checking for tigetstr in -ltermlib" >&5
++echo "configure:7545: checking for tigetstr in -ltermlib" >&5
+ ac_lib_var=`echo termlib'_'tigetstr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7521,7 +7549,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ltermlib $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7525 "configure"
++#line 7553 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7532,7 +7560,7 @@
+ tigetstr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7555,7 +7583,7 @@
+ fi
+ if test "$cf_cv_termlib" = none; then
+ echo $ac_n "checking for tgoto in -ltermlib""... $ac_c" 1>&6
+-echo "configure:7559: checking for tgoto in -ltermlib" >&5
++echo "configure:7587: checking for tgoto in -ltermlib" >&5
+ ac_lib_var=`echo termlib'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7563,7 +7591,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ltermlib $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7567 "configure"
++#line 7595 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7574,7 +7602,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7598,7 +7626,7 @@
+ if test "$cf_cv_termlib" = none; then
+ # allow curses library for broken AIX system.
+ echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
+-echo "configure:7602: checking for initscr in -lcurses" >&5
++echo "configure:7630: checking for initscr in -lcurses" >&5
+ ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7606,7 +7634,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lcurses $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7610 "configure"
++#line 7638 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7617,7 +7645,7 @@
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7638,7 +7666,7 @@
+ fi
+
+ echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
+-echo "configure:7642: checking for tgoto in -ltermcap" >&5
++echo "configure:7670: checking for tgoto in -ltermcap" >&5
+ ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7646,7 +7674,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ltermcap $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7650 "configure"
++#line 7678 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7657,7 +7685,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7680,7 +7708,7 @@
+ fi
+ if test "$cf_cv_termlib" = none; then
+ echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
+-echo "configure:7684: checking for tgoto in -ltermcap" >&5
++echo "configure:7712: checking for tgoto in -ltermcap" >&5
+ ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7688,7 +7716,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ltermcap $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7692 "configure"
++#line 7720 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7699,7 +7727,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7722,7 +7750,7 @@
+ fi
+ if test "$cf_cv_termlib" = none; then
+ echo $ac_n "checking for tgoto in -lncurses""... $ac_c" 1>&6
+-echo "configure:7726: checking for tgoto in -lncurses" >&5
++echo "configure:7754: checking for tgoto in -lncurses" >&5
+ ac_lib_var=`echo ncurses'_'tgoto | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7730,7 +7758,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lncurses $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7734 "configure"
++#line 7762 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7741,7 +7769,7 @@
+ tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7773,12 +7801,12 @@
+
+ cf_slang_LIBS2="$LIBS"
+ echo $ac_n "checking for acos""... $ac_c" 1>&6
+-echo "configure:7777: checking for acos" >&5
++echo "configure:7805: checking for acos" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_acos'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7782 "configure"
++#line 7810 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char acos(); below. */
+@@ -7801,7 +7829,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_acos=yes"
+ else
+@@ -7820,7 +7848,7 @@
+ echo "$ac_t""no" 1>&6
+
+ echo $ac_n "checking for acos in -lm""... $ac_c" 1>&6
+-echo "configure:7824: checking for acos in -lm" >&5
++echo "configure:7852: checking for acos in -lm" >&5
+ ac_lib_var=`echo m'_'acos | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7828,7 +7856,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lm $LIBS $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7832 "configure"
++#line 7860 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7839,7 +7867,7 @@
+ acos()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7879,12 +7907,12 @@
+ cf_cv_have_lib_slang=no
+ cf_libdir=""
+ echo $ac_n "checking for SLtt_get_screen_size""... $ac_c" 1>&6
+-echo "configure:7883: checking for SLtt_get_screen_size" >&5
++echo "configure:7911: checking for SLtt_get_screen_size" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_SLtt_get_screen_size'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7888 "configure"
++#line 7916 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char SLtt_get_screen_size(); below. */
+@@ -7907,7 +7935,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_SLtt_get_screen_size=yes"
+ else
+@@ -7927,17 +7955,17 @@
+
+ cf_save_LIBS="$LIBS"
+ echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
+-echo "configure:7931: checking for SLtt_get_screen_size in -lslang" >&5
++echo "configure:7959: checking for SLtt_get_screen_size in -lslang" >&5
+ LIBS="-lslang $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7934 "configure"
++#line 7962 "configure"
+ #include "confdefs.h"
+ #include <slang.h>
+ int main() {
+ SLtt_get_screen_size()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_slang=yes
+@@ -7964,17 +7992,17 @@
+ for cf_libdir in $cf_search
+ do
+ echo $ac_n "checking for -lslang in $cf_libdir""... $ac_c" 1>&6
+-echo "configure:7968: checking for -lslang in $cf_libdir" >&5
++echo "configure:7996: checking for -lslang in $cf_libdir" >&5
+ LIBS="-L$cf_libdir -lslang $cf_save_LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7971 "configure"
++#line 7999 "configure"
+ #include "confdefs.h"
+ #include <slang.h>
+ int main() {
+ SLtt_get_screen_size()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_slang=yes
+@@ -8005,7 +8033,7 @@
+
+ cf_slang_LIBS3="$LIBS"
+ echo $ac_n "checking if we can link slang without termcap""... $ac_c" 1>&6
+-echo "configure:8009: checking if we can link slang without termcap" >&5
++echo "configure:8037: checking if we can link slang without termcap" >&5
+ if test -n "`echo $cf_slang_LIBS1 | sed -e 's/ //g'`" ; then
+ cf_exclude=`echo ".$cf_slang_LIBS2" | sed -e "s@$cf_slang_LIBS1@@" -e 's@^.@@'`
+ else
+@@ -8013,14 +8041,14 @@
+ fi
+ LIBS=`echo ".$cf_slang_LIBS3" | sed -e "s@$cf_exclude@@" -e 's@^.@@'`
+ cat > conftest.$ac_ext <<EOF
+-#line 8017 "configure"
++#line 8045 "configure"
+ #include "confdefs.h"
+ #include <slang.h>
+ int main() {
+ SLtt_get_screen_size()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -8040,7 +8068,7 @@
+ cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$prefix/@ -e s@'^NONE/'@$ac_default_prefix/@`
+
+ echo $ac_n "checking for location of config-file""... $ac_c" 1>&6
+-echo "configure:8044: checking for location of config-file" >&5
++echo "configure:8072: checking for location of config-file" >&5
+ LYNX_CFG_FILE=$cf_libdir/lynx.cfg
+ cat >> confdefs.h <<EOF
+ #define LYNX_CFG_FILE "$LYNX_CFG_FILE"
+@@ -8050,12 +8078,12 @@
+
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:8054: checking for ANSI C header files" >&5
++echo "configure:8082: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8059 "configure"
++#line 8087 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -8063,7 +8091,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8067: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8095: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8080,7 +8108,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 8084 "configure"
++#line 8112 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -8098,7 +8126,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 8102 "configure"
++#line 8130 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -8119,7 +8147,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8123 "configure"
++#line 8151 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -8130,7 +8158,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:8134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:8162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -8154,12 +8182,12 @@
+ fi
+
+ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+-echo "configure:8158: checking whether time.h and sys/time.h may both be included" >&5
++echo "configure:8186: checking whether time.h and sys/time.h may both be included" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8163 "configure"
++#line 8191 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -8168,7 +8196,7 @@
+ struct tm *tp;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+ else
+@@ -8193,12 +8221,12 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
+-echo "configure:8197: checking for $ac_hdr that defines DIR" >&5
++echo "configure:8225: checking for $ac_hdr that defines DIR" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8202 "configure"
++#line 8230 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -8206,7 +8234,7 @@
+ DIR *dirp = 0;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8238: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ eval "ac_cv_header_dirent_$ac_safe=yes"
+ else
+@@ -8231,7 +8259,7 @@
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+ echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
+-echo "configure:8235: checking for opendir in -ldir" >&5
++echo "configure:8263: checking for opendir in -ldir" >&5
+ ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -8239,7 +8267,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldir $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 8243 "configure"
++#line 8271 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -8250,7 +8278,7 @@
+ opendir()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -8272,7 +8300,7 @@
+
+ else
+ echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
+-echo "configure:8276: checking for opendir in -lx" >&5
++echo "configure:8304: checking for opendir in -lx" >&5
+ ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -8280,7 +8308,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lx $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 8284 "configure"
++#line 8312 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -8291,7 +8319,7 @@
+ opendir()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -8330,17 +8358,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:8334: checking for $ac_hdr" >&5
++echo "configure:8362: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8339 "configure"
++#line 8367 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8368,13 +8396,13 @@
+
+
+ echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6
+-echo "configure:8372: checking termio.h and termios.h" >&5
++echo "configure:8400: checking termio.h and termios.h" >&5
+ if eval "test \"`echo '$''{'cf_cv_termio_and_termios'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8378 "configure"
++#line 8406 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_TERMIO_H
+@@ -8387,7 +8415,7 @@
+ putchar (0x0a)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_termio_and_termios=yes
+ else
+@@ -8410,17 +8438,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:8414: checking for $ac_hdr" >&5
++echo "configure:8442: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8419 "configure"
++#line 8447 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8424: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8457,17 +8485,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:8461: checking for $ac_hdr" >&5
++echo "configure:8489: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8466 "configure"
++#line 8494 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8497,17 +8525,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:8501: checking for $ac_hdr" >&5
++echo "configure:8529: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8506 "configure"
++#line 8534 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8548,13 +8576,13 @@
+
+
+ echo $ac_n "checking for union wait""... $ac_c" 1>&6
+-echo "configure:8552: checking for union wait" >&5
++echo "configure:8580: checking for union wait" >&5
+ if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8558 "configure"
++#line 8586 "configure"
+ #include "confdefs.h"
+ $cf_wait_headers
+ int main() {
+@@ -8565,7 +8593,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_type_unionwait=no
+ echo compiles ok w/o union wait 1>&5
+@@ -8576,7 +8604,7 @@
+ rm -rf conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8580 "configure"
++#line 8608 "configure"
+ #include "confdefs.h"
+ $cf_wait_headers
+ int main() {
+@@ -8591,7 +8619,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:8623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_type_unionwait=yes
+ echo compiles ok with union wait and possibly macros too 1>&5
+@@ -8618,20 +8646,20 @@
+ if test $cf_cv_type_unionwait = yes; then
+
+ echo $ac_n "checking if union wait can be used as wait-arg""... $ac_c" 1>&6
+-echo "configure:8622: checking if union wait can be used as wait-arg" >&5
++echo "configure:8650: checking if union wait can be used as wait-arg" >&5
+ if eval "test \"`echo '$''{'cf_cv_arg_union_wait'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8628 "configure"
++#line 8656 "configure"
+ #include "confdefs.h"
+ $cf_wait_headers
+ int main() {
+ union wait x; wait(&x)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_arg_union_wait=yes
+ else
+@@ -8651,20 +8679,20 @@
+
+
+ echo $ac_n "checking if union wait can be used as waitpid-arg""... $ac_c" 1>&6
+-echo "configure:8655: checking if union wait can be used as waitpid-arg" >&5
++echo "configure:8683: checking if union wait can be used as waitpid-arg" >&5
+ if eval "test \"`echo '$''{'cf_cv_arg_union_waitpid'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8661 "configure"
++#line 8689 "configure"
+ #include "confdefs.h"
+ $cf_wait_headers
+ int main() {
+ union wait x; waitpid(0, &x, 0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8668: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_arg_union_waitpid=yes
+ else
+@@ -8690,17 +8718,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:8694: checking for $ac_hdr" >&5
++echo "configure:8722: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8699 "configure"
++#line 8727 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:8732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8727,13 +8755,13 @@
+ done
+
+ echo $ac_n "checking for standard varargs""... $ac_c" 1>&6
+-echo "configure:8731: checking for standard varargs" >&5
++echo "configure:8759: checking for standard varargs" >&5
+ if eval "test \"`echo '$''{'cf_cv_ansi_varargs'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 8737 "configure"
++#line 8765 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_STDARG_H
+@@ -8748,7 +8776,7 @@
+ return 0;} int foo(char *fmt,...){va_list args;va_start(args,fmt);va_end(args)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:8752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:8780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ansi_varargs=yes
+ else
+@@ -8768,12 +8796,12 @@
+
+
+ echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
+-echo "configure:8772: checking for uid_t in sys/types.h" >&5
++echo "configure:8800: checking for uid_t in sys/types.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8777 "configure"
++#line 8805 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ EOF
+@@ -8802,7 +8830,7 @@
+ fi
+
+ echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
+-echo "configure:8806: checking type of array argument to getgroups" >&5
++echo "configure:8834: checking type of array argument to getgroups" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -8810,7 +8838,7 @@
+ ac_cv_type_getgroups=cross
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8814 "configure"
++#line 8842 "configure"
+ #include "confdefs.h"
+
+ /* Thanks to Mike Rendell for this test. */
+@@ -8835,7 +8863,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:8839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:8867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_type_getgroups=gid_t
+ else
+@@ -8849,7 +8877,7 @@
+
+ if test $ac_cv_type_getgroups = cross; then
+ cat > conftest.$ac_ext <<EOF
+-#line 8853 "configure"
++#line 8881 "configure"
+ #include "confdefs.h"
+ #include <unistd.h>
+ EOF
+@@ -8873,12 +8901,12 @@
+
+
+ echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+-echo "configure:8877: checking for pid_t" >&5
++echo "configure:8905: checking for pid_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8882 "configure"
++#line 8910 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -8906,12 +8934,12 @@
+ fi
+
+ echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
+-echo "configure:8910: checking for uid_t in sys/types.h" >&5
++echo "configure:8938: checking for uid_t in sys/types.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8915 "configure"
++#line 8943 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ EOF
+@@ -8940,12 +8968,12 @@
+ fi
+
+ echo $ac_n "checking for mode_t""... $ac_c" 1>&6
+-echo "configure:8944: checking for mode_t" >&5
++echo "configure:8972: checking for mode_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8949 "configure"
++#line 8977 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -8976,17 +9004,17 @@
+
+ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
+-echo "configure:8980: checking for vfork.h" >&5
++echo "configure:9008: checking for vfork.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 8985 "configure"
++#line 9013 "configure"
+ #include "confdefs.h"
+ #include <vfork.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:8990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:9018: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -9011,18 +9039,18 @@
+ fi
+
+ echo $ac_n "checking for working vfork""... $ac_c" 1>&6
+-echo "configure:9015: checking for working vfork" >&5
++echo "configure:9043: checking for working vfork" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ if test "$cross_compiling" = yes; then
+ echo $ac_n "checking for vfork""... $ac_c" 1>&6
+-echo "configure:9021: checking for vfork" >&5
++echo "configure:9049: checking for vfork" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9026 "configure"
++#line 9054 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char vfork(); below. */
+@@ -9045,7 +9073,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_vfork=yes"
+ else
+@@ -9067,7 +9095,7 @@
+ ac_cv_func_vfork_works=$ac_cv_func_vfork
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9071 "configure"
++#line 9099 "configure"
+ #include "confdefs.h"
+ /* Thanks to Paul Eggert for this test. */
+ #include <stdio.h>
+@@ -9162,7 +9190,7 @@
+ }
+ }
+ EOF
+-if { (eval echo configure:9166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:9194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_vfork_works=yes
+ else
+@@ -9186,13 +9214,13 @@
+
+
+ echo $ac_n "checking if we should use fcntl or ioctl""... $ac_c" 1>&6
+-echo "configure:9190: checking if we should use fcntl or ioctl" >&5
++echo "configure:9218: checking if we should use fcntl or ioctl" >&5
+ if eval "test \"`echo '$''{'cf_cv_fionbio'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9196 "configure"
++#line 9224 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9204,7 +9232,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_fionbio=ioctl
+ else
+@@ -9213,7 +9241,7 @@
+ rm -rf conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9217 "configure"
++#line 9245 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9230,7 +9258,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_fionbio=fcntl
+ else
+@@ -9253,20 +9281,20 @@
+
+
+ echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6
+-echo "configure:9257: checking for broken/missing definition of remove" >&5
++echo "configure:9285: checking for broken/missing definition of remove" >&5
+ if eval "test \"`echo '$''{'cf_cv_baddef_remove'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9263 "configure"
++#line 9291 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int main() {
+ remove("dummy")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_baddef_remove=no
+ else
+@@ -9274,7 +9302,7 @@
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+-#line 9278 "configure"
++#line 9306 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int __unlink(name) { return unlink(name); }
+@@ -9282,7 +9310,7 @@
+ remove("dummy")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_baddef_remove=yes
+ else
+@@ -9306,13 +9334,13 @@
+
+
+ echo $ac_n "checking for lstat""... $ac_c" 1>&6
+-echo "configure:9310: checking for lstat" >&5
++echo "configure:9338: checking for lstat" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_lstat'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9316 "configure"
++#line 9344 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9321,7 +9349,7 @@
+ lstat(".", (struct stat *)0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_func_lstat=yes
+ else
+@@ -9356,12 +9384,12 @@
+
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:9360: checking for $ac_func" >&5
++echo "configure:9388: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9365 "configure"
++#line 9393 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -9384,7 +9412,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -9414,12 +9442,12 @@
+
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:9418: checking for $ac_func" >&5
++echo "configure:9446: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9423 "configure"
++#line 9451 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -9442,7 +9470,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -9473,12 +9501,12 @@
+ do
+
+ echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
+-echo "configure:9477: checking for $ac_func declaration" >&5
++echo "configure:9505: checking for $ac_func declaration" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9482 "configure"
++#line 9510 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ int main() {
+@@ -9487,11 +9515,11 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9495 "configure"
++#line 9523 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ int main() {
+@@ -9500,7 +9528,7 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+
+ eval "ac_cv_func_decl_$ac_func=yes"
+@@ -9542,12 +9570,12 @@
+ do
+
+ echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
+-echo "configure:9546: checking for $ac_func declaration" >&5
++echo "configure:9574: checking for $ac_func declaration" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 9551 "configure"
++#line 9579 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9558,11 +9586,11 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9566 "configure"
++#line 9594 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9573,7 +9601,7 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+
+ eval "ac_cv_func_decl_$ac_func=yes"
+@@ -9615,13 +9643,13 @@
+
+
+ echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6
+-echo "configure:9619: checking if TRUE/FALSE are defined" >&5
++echo "configure:9647: checking if TRUE/FALSE are defined" >&5
+ if eval "test \"`echo '$''{'cf_cv_bool_defs'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9625 "configure"
++#line 9653 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -9630,7 +9658,7 @@
+ int x = TRUE, y = FALSE
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_bool_defs=yes
+ else
+@@ -9657,13 +9685,13 @@
+
+
+ echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
+-echo "configure:9661: checking if external errno is declared" >&5
++echo "configure:9689: checking if external errno is declared" >&5
+ if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9667 "configure"
++#line 9695 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_STDLIB_H
+@@ -9676,7 +9704,7 @@
+ long x = (long) errno
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9708: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ eval 'cf_cv_dcl_'errno'=yes'
+ else
+@@ -9707,13 +9735,13 @@
+ # It's possible (for near-UNIX clones) that the data doesn't exist
+
+ echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
+-echo "configure:9711: checking if external errno exists" >&5
++echo "configure:9739: checking if external errno exists" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9717 "configure"
++#line 9745 "configure"
+ #include "confdefs.h"
+
+ #undef errno
+@@ -9723,7 +9751,7 @@
+ errno = 2
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval 'cf_cv_have_'errno'=yes'
+ else
+@@ -9755,20 +9783,20 @@
+
+
+ echo $ac_n "checking for setlocale()""... $ac_c" 1>&6
+-echo "configure:9759: checking for setlocale()" >&5
++echo "configure:9787: checking for setlocale()" >&5
+ if eval "test \"`echo '$''{'cf_cv_locale'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9765 "configure"
++#line 9793 "configure"
+ #include "confdefs.h"
+ #include <locale.h>
+ int main() {
+ setlocale(LC_ALL, "")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_locale=yes
+ else
+@@ -9789,13 +9817,13 @@
+
+
+ echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6
+-echo "configure:9793: checking if NGROUPS is defined" >&5
++echo "configure:9821: checking if NGROUPS is defined" >&5
+ if eval "test \"`echo '$''{'cf_cv_ngroups'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9799 "configure"
++#line 9827 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_SYS_PARAM_H
+@@ -9809,7 +9837,7 @@
+ int x = NGROUPS
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ngroups=yes
+ else
+@@ -9817,7 +9845,7 @@
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+-#line 9821 "configure"
++#line 9849 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_SYS_PARAM_H
+@@ -9831,7 +9859,7 @@
+ int x = NGROUPS_MAX
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ngroups=NGROUPS_MAX
+ else
+@@ -9865,13 +9893,13 @@
+ do
+
+ echo $ac_n "checking if external $cf_name is declared""... $ac_c" 1>&6
+-echo "configure:9869: checking if external $cf_name is declared" >&5
++echo "configure:9897: checking if external $cf_name is declared" >&5
+ if eval "test \"`echo '$''{'cf_cv_dcl_$cf_name'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9875 "configure"
++#line 9903 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_STDLIB_H
+@@ -9884,7 +9912,7 @@
+ long x = (long) $cf_name
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:9916: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ eval 'cf_cv_dcl_'$cf_name'=yes'
+ else
+@@ -9915,13 +9943,13 @@
+ # It's possible (for near-UNIX clones) that the data doesn't exist
+
+ echo $ac_n "checking if external $cf_name exists""... $ac_c" 1>&6
+-echo "configure:9919: checking if external $cf_name exists" >&5
++echo "configure:9947: checking if external $cf_name exists" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_$cf_name'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9925 "configure"
++#line 9953 "configure"
+ #include "confdefs.h"
+
+ #undef $cf_name
+@@ -9931,7 +9959,7 @@
+ $cf_name = 2
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:9963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval 'cf_cv_have_'$cf_name'=yes'
+ else
+@@ -9964,13 +9992,13 @@
+
+
+ echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6
+-echo "configure:9968: checking if struct utmp is declared" >&5
++echo "configure:9996: checking if struct utmp is declared" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_utmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 9974 "configure"
++#line 10002 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9979,7 +10007,7 @@
+ struct utmp x; char *y = &x.ut_host[0]
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:10011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_have_utmp=yes
+ else
+@@ -9987,14 +10015,14 @@
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+-#line 9991 "configure"
++#line 10019 "configure"
+ #include "confdefs.h"
+ #include <utmpx.h>
+ int main() {
+ struct utmpx x; char *y = &x.ut_host[0]
+ ; return 0; }
+ EOF
+-if { (eval echo configure:9998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:10026: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_have_utmp=utmpx
+ else
+@@ -10022,13 +10050,13 @@
+
+
+ echo $ac_n "checking if external h_errno exists""... $ac_c" 1>&6
+-echo "configure:10026: checking if external h_errno exists" >&5
++echo "configure:10054: checking if external h_errno exists" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_h_errno'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10032 "configure"
++#line 10060 "configure"
+ #include "confdefs.h"
+
+ #undef h_errno
+@@ -10038,7 +10066,7 @@
+ h_errno = 2
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval 'cf_cv_have_'h_errno'=yes'
+ else
+@@ -10069,13 +10097,13 @@
+
+
+ echo $ac_n "checking if character set is EBCDIC""... $ac_c" 1>&6
+-echo "configure:10073: checking if character set is EBCDIC" >&5
++echo "configure:10101: checking if character set is EBCDIC" >&5
+ if eval "test \"`echo '$''{'cf_cv_ebcdic'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10079 "configure"
++#line 10107 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -10088,7 +10116,7 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10092: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:10120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ # TryCompile action if true
+ cf_cv_ebcdic=yes
+@@ -10122,7 +10150,7 @@
+ if test $cf_cv_screen != slang ; then
+
+ echo $ac_n "checking if curses supports alternate-character set""... $ac_c" 1>&6
+-echo "configure:10126: checking if curses supports alternate-character set" >&5
++echo "configure:10154: checking if curses supports alternate-character set" >&5
+ if eval "test \"`echo '$''{'cf_cv_alt_char_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -10130,7 +10158,7 @@
+ for mapname in acs_map _acs_map
+ do
+ cat > conftest.$ac_ext <<EOF
+-#line 10134 "configure"
++#line 10162 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -10139,7 +10167,7 @@
+ chtype x = $mapname['l']; $mapname['m'] = 0
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_alt_char_set=$mapname
+ break
+@@ -10162,13 +10190,13 @@
+
+
+ echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6
+-echo "configure:10166: checking if curses supports fancy attributes" >&5
++echo "configure:10194: checking if curses supports fancy attributes" >&5
+ if eval "test \"`echo '$''{'cf_cv_fancy_curses'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10172 "configure"
++#line 10200 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -10181,7 +10209,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_fancy_curses=yes
+ else
+@@ -10201,7 +10229,7 @@
+
+
+ echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
+-echo "configure:10205: checking for ncurses version" >&5
++echo "configure:10233: checking for ncurses version" >&5
+ if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -10226,7 +10254,7 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo configure:10230: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
++ { (eval echo configure:10258: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
+ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+@@ -10235,7 +10263,7 @@
+
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 10239 "configure"
++#line 10267 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -10258,7 +10286,7 @@
+ exit(0);
+ }
+ EOF
+-if { (eval echo configure:10262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:10290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -10278,13 +10306,13 @@
+
+ if test "$cf_cv_ncurses_version" != no ; then
+ echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6
+-echo "configure:10282: checking for obsolete/broken version of ncurses" >&5
++echo "configure:10310: checking for obsolete/broken version of ncurses" >&5
+ if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10288 "configure"
++#line 10316 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -10298,7 +10326,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:10330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_ncurses_broken=no
+ else
+@@ -10323,13 +10351,13 @@
+
+
+ echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
+-echo "configure:10327: checking if curses supports color attributes" >&5
++echo "configure:10355: checking if curses supports color attributes" >&5
+ if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10333 "configure"
++#line 10361 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header-curses.h}>
+@@ -10344,7 +10372,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_color_curses=yes
+ else
+@@ -10371,7 +10399,7 @@
+
+
+ echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
+-echo "configure:10375: checking declaration of size-change" >&5
++echo "configure:10403: checking declaration of size-change" >&5
+ if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -10385,7 +10413,7 @@
+ CFLAGS="$cf_save_CFLAGS"
+ test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
+ cat > conftest.$ac_ext <<EOF
+-#line 10389 "configure"
++#line 10417 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if HAVE_TERMIOS_H
+@@ -10424,7 +10452,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:10456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_sizechange=yes
+ else
+@@ -10456,20 +10484,20 @@
+
+
+ echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6
+-echo "configure:10460: checking if ttytype is declared in curses library" >&5
++echo "configure:10488: checking if ttytype is declared in curses library" >&5
+ if eval "test \"`echo '$''{'cf_cv_have_ttytype'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+ cat > conftest.$ac_ext <<EOF
+-#line 10466 "configure"
++#line 10494 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ char *x = &ttytype[1]; *x = 1
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_have_ttytype=yes
+ else
+@@ -10497,12 +10525,12 @@
+
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:10501: checking for $ac_func" >&5
++echo "configure:10529: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 10506 "configure"
++#line 10534 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -10525,7 +10553,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:10529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:10557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -10552,11 +10580,11 @@
+ fi
+
+
++echo $i
+
+
+ echo $ac_n "checking if configuration info should be browsable""... $ac_c" 1>&6
+-echo "configure:10559: checking if configuration info should be browsable" >&5
+-
++echo "configure:10588: checking if configuration info should be browsable" >&5
+ # Check whether --enable-config-info or --disable-config-info was given.
+ if test "${enable_config_info+set}" = set; then
+ enableval="$enable_config_info"
+@@ -10579,8 +10607,7 @@
+
+
+ echo $ac_n "checking if new-style forms-based options screen should be used""... $ac_c" 1>&6
+-echo "configure:10583: checking if new-style forms-based options screen should be used" >&5
+-
++echo "configure:10611: checking if new-style forms-based options screen should be used" >&5
+ # Check whether --enable-forms-options or --disable-forms-options was given.
+ if test "${enable_forms_options+set}" = set; then
+ enableval="$enable_forms_options"
+@@ -10603,8 +10630,7 @@
+
+
+ echo $ac_n "checking if old-style options menu should be used""... $ac_c" 1>&6
+-echo "configure:10607: checking if old-style options menu should be used" >&5
+-
++echo "configure:10634: checking if old-style options menu should be used" >&5
+ # Check whether --enable-menu-options or --disable-menu-options was given.
+ if test "${enable_menu_options+set}" = set; then
+ enableval="$enable_menu_options"
+@@ -10627,8 +10653,7 @@
+
+
+ echo $ac_n "checking if experimental address-list page should be used""... $ac_c" 1>&6
+-echo "configure:10631: checking if experimental address-list page should be used" >&5
+-
++echo "configure:10657: checking if experimental address-list page should be used" >&5
+ # Check whether --enable-addrlist-page or --disable-addrlist-page was given.
+ if test "${enable_addrlist_page+set}" = set; then
+ enableval="$enable_addrlist_page"
+@@ -10651,8 +10676,7 @@
+
+
+ echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6
+-echo "configure:10655: checking if color-style code should be used" >&5
+-
++echo "configure:10680: checking if color-style code should be used" >&5
+ # Check whether --enable-color-style or --disable-color-style was given.
+ if test "${enable_color_style+set}" = set; then
+ enableval="$enable_color_style"
+@@ -10699,7 +10723,7 @@
+ echo "$ac_t""yes" 1>&6
+
+ echo $ac_n "checking for location of style-sheet file""... $ac_c" 1>&6
+-echo "configure:10703: checking for location of style-sheet file" >&5
++echo "configure:10727: checking for location of style-sheet file" >&5
+ LYNX_LSS_FILE=$cf_libdir/lynx.lss
+ cat >> confdefs.h <<EOF
+ #define LYNX_LSS_FILE "$LYNX_LSS_FILE"
+@@ -10717,8 +10741,7 @@
+
+ if test "$use_dft_colors" != no ; then
+ echo $ac_n "checking if you want to use default-colors""... $ac_c" 1>&6
+-echo "configure:10721: checking if you want to use default-colors" >&5
+-
++echo "configure:10745: checking if you want to use default-colors" >&5
+ # Check whether --enable-default-colors or --disable-default-colors was given.
+ if test "${enable_default_colors+set}" = set; then
+ enableval="$enable_default_colors"
+@@ -10742,8 +10765,7 @@
+ fi
+
+ echo $ac_n "checking if experimental keyboard-layout logic should be used""... $ac_c" 1>&6
+-echo "configure:10746: checking if experimental keyboard-layout logic should be used" >&5
+-
++echo "configure:10769: checking if experimental keyboard-layout logic should be used" >&5
+ # Check whether --enable-kbd-layout or --disable-kbd-layout was given.
+ if test "${enable_kbd_layout+set}" = set; then
+ enableval="$enable_kbd_layout"
+@@ -10767,8 +10789,7 @@
+
+
+ echo $ac_n "checking if html source should be colorized""... $ac_c" 1>&6
+-echo "configure:10771: checking if html source should be colorized" >&5
+-
++echo "configure:10793: checking if html source should be colorized" >&5
+ # Check whether --enable-prettysrc or --disable-prettysrc was given.
+ if test "${enable_prettysrc+set}" = set; then
+ enableval="$enable_prettysrc"
+@@ -10791,8 +10812,7 @@
+
+
+ echo $ac_n "checking if source caching should be used""... $ac_c" 1>&6
+-echo "configure:10795: checking if source caching should be used" >&5
+-
++echo "configure:10816: checking if source caching should be used" >&5
+ # Check whether --enable-source-cache or --disable-source-cache was given.
+ if test "${enable_source_cache+set}" = set; then
+ enableval="$enable_source_cache"
+@@ -10815,11 +10835,11 @@
+
+
+
++echo $i
+
+
+ echo $ac_n "checking if alternative line-edit bindings should be used""... $ac_c" 1>&6
+-echo "configure:10822: checking if alternative line-edit bindings should be used" >&5
+-
++echo "configure:10843: checking if alternative line-edit bindings should be used" >&5
+ # Check whether --enable-alt-bindings or --disable-alt-bindings was given.
+ if test "${enable_alt_bindings+set}" = set; then
+ enableval="$enable_alt_bindings"
+@@ -10842,8 +10862,7 @@
+
+
+ echo $ac_n "checking if you want to use extended HTML DTD logic""... $ac_c" 1>&6
+-echo "configure:10846: checking if you want to use extended HTML DTD logic" >&5
+-
++echo "configure:10866: checking if you want to use extended HTML DTD logic" >&5
+ # Check whether --enable-extended-dtd or --disable-extended-dtd was given.
+ if test "${enable_extended_dtd+set}" = set; then
+ enableval="$enable_extended_dtd"
+@@ -10866,8 +10885,7 @@
+
+
+ echo $ac_n "checking if partial-display should be used""... $ac_c" 1>&6
+-echo "configure:10870: checking if partial-display should be used" >&5
+-
++echo "configure:10889: checking if partial-display should be used" >&5
+ # Check whether --enable-partial or --disable-partial was given.
+ if test "${enable_partial+set}" = set; then
+ enableval="$enable_partial"
+@@ -10890,8 +10908,7 @@
+
+
+ echo $ac_n "checking if you want to use external commands""... $ac_c" 1>&6
+-echo "configure:10894: checking if you want to use external commands" >&5
+-
++echo "configure:10912: checking if you want to use external commands" >&5
+ # Check whether --enable-externs or --disable-externs was given.
+ if test "${enable_externs+set}" = set; then
+ enableval="$enable_externs"
+@@ -10914,8 +10931,7 @@
+
+
+ echo $ac_n "checking if you want to use setfont support""... $ac_c" 1>&6
+-echo "configure:10918: checking if you want to use setfont support" >&5
+-
++echo "configure:10935: checking if you want to use setfont support" >&5
+ # Check whether --enable-font-switch or --disable-font-switch was given.
+ if test "${enable_font_switch+set}" = set; then
+ enableval="$enable_font_switch"
+@@ -10938,8 +10954,7 @@
+
+
+ echo $ac_n "checking if you want cgi-link support""... $ac_c" 1>&6
+-echo "configure:10942: checking if you want cgi-link support" >&5
+-
++echo "configure:10958: checking if you want cgi-link support" >&5
+ # Check whether --enable-cgi-links or --disable-cgi-links was given.
+ if test "${enable_cgi_links+set}" = set; then
+ enableval="$enable_cgi_links"
+@@ -10957,8 +10972,7 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you want exec-links support""... $ac_c" 1>&6
+-echo "configure:10961: checking if you want exec-links support" >&5
+-
++echo "configure:10976: checking if you want exec-links support" >&5
+ # Check whether --enable-exec-links or --disable-exec-links was given.
+ if test "${enable_exec_links+set}" = set; then
+ enableval="$enable_exec_links"
+@@ -10976,8 +10990,7 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you want exec-scripts support""... $ac_c" 1>&6
+-echo "configure:10980: checking if you want exec-scripts support" >&5
+-
++echo "configure:10994: checking if you want exec-scripts support" >&5
+ # Check whether --enable-exec-scripts or --disable-exec-scripts was given.
+ if test "${enable_exec_scripts+set}" = set; then
+ enableval="$enable_exec_scripts"
+@@ -10995,8 +11008,7 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you want internal-links feature""... $ac_c" 1>&6
+-echo "configure:10999: checking if you want internal-links feature" >&5
+-
++echo "configure:11012: checking if you want internal-links feature" >&5
+ # Check whether --enable-internal-links or --disable-internal-links was given.
+ if test "${enable_internal_links+set}" = set; then
+ enableval="$enable_internal_links"
+@@ -11019,8 +11031,7 @@
+
+
+ echo $ac_n "checking if you want to fork NSL requests""... $ac_c" 1>&6
+-echo "configure:11023: checking if you want to fork NSL requests" >&5
+-
++echo "configure:11035: checking if you want to fork NSL requests" >&5
+ # Check whether --enable-nsl-fork or --disable-nsl-fork was given.
+ if test "${enable_nsl_fork+set}" = set; then
+ enableval="$enable_nsl_fork"
+@@ -11043,8 +11054,7 @@
+
+
+ echo $ac_n "checking if you want to log URL requests via syslog""... $ac_c" 1>&6
+-echo "configure:11047: checking if you want to log URL requests via syslog" >&5
+-
++echo "configure:11058: checking if you want to log URL requests via syslog" >&5
+ # Check whether --enable-syslog or --disable-syslog was given.
+ if test "${enable_syslog+set}" = set; then
+ enableval="$enable_syslog"
+@@ -11067,8 +11077,7 @@
+
+
+ echo $ac_n "checking if persistent-cookie logic should be used""... $ac_c" 1>&6
+-echo "configure:11071: checking if persistent-cookie logic should be used" >&5
+-
++echo "configure:11081: checking if persistent-cookie logic should be used" >&5
+ # Check whether --enable-persistent-cookies or --disable-persistent-cookies was given.
+ if test "${enable_persistent_cookies+set}" = set; then
+ enableval="$enable_persistent_cookies"
+@@ -11091,8 +11100,7 @@
+
+
+ echo $ac_n "checking if you want to underline links""... $ac_c" 1>&6
+-echo "configure:11095: checking if you want to underline links" >&5
+-
++echo "configure:11104: checking if you want to underline links" >&5
+ # Check whether --enable-underlines or --disable-underlines was given.
+ if test "${enable_underlines+set}" = set; then
+ enableval="$enable_underlines"
+@@ -11115,8 +11123,7 @@
+
+
+ echo $ac_n "checking if help files should be gzip'ed""... $ac_c" 1>&6
+-echo "configure:11119: checking if help files should be gzip'ed" >&5
+-
++echo "configure:11127: checking if help files should be gzip'ed" >&5
+ # Check whether --enable-gzip-help or --disable-gzip-help was given.
+ if test "${enable_gzip_help+set}" = set; then
+ enableval="$enable_gzip_help"
+@@ -11144,8 +11151,7 @@
+
+
+ echo $ac_n "checking if you want to use zlib for decompression of some gzip files""... $ac_c" 1>&6
+-echo "configure:11148: checking if you want to use zlib for decompression of some gzip files" >&5
+-
++echo "configure:11155: checking if you want to use zlib for decompression of some gzip files" >&5
+ # Check whether --with-zlib or --without-zlib was given.
+ if test "${with_zlib+set}" = set; then
+ withval="$with_zlib"
+@@ -11161,12 +11167,12 @@
+ cf_cv_have_lib_z=no
+ cf_libdir=""
+ echo $ac_n "checking for gzopen""... $ac_c" 1>&6
+-echo "configure:11165: checking for gzopen" >&5
++echo "configure:11171: checking for gzopen" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_gzopen'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 11170 "configure"
++#line 11176 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gzopen(); below. */
+@@ -11189,7 +11195,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:11193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:11199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_gzopen=yes"
+ else
+@@ -11209,17 +11215,17 @@
+
+ cf_save_LIBS="$LIBS"
+ echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6
+-echo "configure:11213: checking for gzopen in -lz" >&5
++echo "configure:11219: checking for gzopen in -lz" >&5
+ LIBS="-lz $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 11216 "configure"
++#line 11222 "configure"
+ #include "confdefs.h"
+ #include <zlib.h>
+ int main() {
+ gzopen("name","mode")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:11223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:11229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_z=yes
+@@ -11246,17 +11252,17 @@
+ for cf_libdir in $cf_search
+ do
+ echo $ac_n "checking for -lz in $cf_libdir""... $ac_c" 1>&6
+-echo "configure:11250: checking for -lz in $cf_libdir" >&5
++echo "configure:11256: checking for -lz in $cf_libdir" >&5
+ LIBS="-L$cf_libdir -lz $cf_save_LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 11253 "configure"
++#line 11259 "configure"
+ #include "confdefs.h"
+ #include <zlib.h>
+ int main() {
+ gzopen("name","mode")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:11260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:11266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ cf_cv_have_lib_z=yes
+@@ -11292,8 +11298,7 @@
+ fi
+
+ echo $ac_n "checking if you want to exclude FINGER code""... $ac_c" 1>&6
+-echo "configure:11296: checking if you want to exclude FINGER code" >&5
+-
++echo "configure:11302: checking if you want to exclude FINGER code" >&5
+ # Check whether --enable-finger or --disable-finger was given.
+ if test "${enable_finger+set}" = set; then
+ enableval="$enable_finger"
+@@ -11316,8 +11321,7 @@
+
+
+ echo $ac_n "checking if you want to exclude GOPHER code""... $ac_c" 1>&6
+-echo "configure:11320: checking if you want to exclude GOPHER code" >&5
+-
++echo "configure:11325: checking if you want to exclude GOPHER code" >&5
+ # Check whether --enable-gopher or --disable-gopher was given.
+ if test "${enable_gopher+set}" = set; then
+ enableval="$enable_gopher"
+@@ -11340,8 +11344,7 @@
+
+
+ echo $ac_n "checking if you want to exclude NEWS code""... $ac_c" 1>&6
+-echo "configure:11344: checking if you want to exclude NEWS code" >&5
+-
++echo "configure:11348: checking if you want to exclude NEWS code" >&5
+ # Check whether --enable-news or --disable-news was given.
+ if test "${enable_news+set}" = set; then
+ enableval="$enable_news"
+@@ -11364,8 +11367,7 @@
+
+
+ echo $ac_n "checking if you want to exclude FTP code""... $ac_c" 1>&6
+-echo "configure:11368: checking if you want to exclude FTP code" >&5
+-
++echo "configure:11371: checking if you want to exclude FTP code" >&5
+ # Check whether --enable-ftp or --disable-ftp was given.
+ if test "${enable_ftp+set}" = set; then
+ enableval="$enable_ftp"
+@@ -11388,13 +11390,13 @@
+
+
+
++echo $i
+
+
+ # All DirEd functions that were enabled on compilation can be disabled
+ # or modified at run time via DIRED_MENU symbols in lynx.cfg.
+ echo $ac_n "checking if directory-editor code should be used""... $ac_c" 1>&6
+-echo "configure:11397: checking if directory-editor code should be used" >&5
+-
++echo "configure:11400: checking if directory-editor code should be used" >&5
+ # Check whether --enable-dired or --disable-dired was given.
+ if test "${enable_dired+set}" = set; then
+ enableval="$enable_dired"
+@@ -11419,9 +11421,8 @@
+
+
+ echo $ac_n "checking if you wish to allow extracting from archives via DirEd""... $ac_c" 1>&6
+-echo "configure:11423: checking if you wish to allow extracting from archives via DirEd" >&5
+-
+-# Check whether --enable-dired-archive or --disable-dired-archive was given.
++echo "configure:11425: checking if you wish to allow extracting from archives via DirEd" >&5
++ # Check whether --enable-dired-archive or --disable-dired-archive was given.
+ if test "${enable_dired_archive+set}" = set; then
+ enableval="$enable_dired_archive"
+ test "$enableval" != no && enableval=yes
+@@ -11438,9 +11439,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow users to redefine DirEd keys""... $ac_c" 1>&6
+-echo "configure:11442: checking if you wish to allow users to redefine DirEd keys" >&5
+-
+-# Check whether --enable-dired-override or --disable-dired-override was given.
++echo "configure:11443: checking if you wish to allow users to redefine DirEd keys" >&5
++ # Check whether --enable-dired-override or --disable-dired-override was given.
+ if test "${enable_dired_override+set}" = set; then
+ enableval="$enable_dired_override"
+ test "$enableval" != no && enableval=yes
+@@ -11465,8 +11465,7 @@
+
+ echo $ac_n "checking if you wish to allow permissions commands via DirEd""... $ac_c" 1>&6
+ echo "configure:11468: checking if you wish to allow permissions commands via DirEd" >&5
+-
+-# Check whether --enable-dired-permit or --disable-dired-permit was given.
++ # Check whether --enable-dired-permit or --disable-dired-permit was given.
+ if test "${enable_dired_permit+set}" = set; then
+ enableval="$enable_dired_permit"
+ test "$enableval" != no && enableval=yes
+@@ -11490,9 +11489,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow executable-permission commands via DirEd""... $ac_c" 1>&6
+-echo "configure:11494: checking if you wish to allow executable-permission commands via DirEd" >&5
+-
+-# Check whether --enable-dired-xpermit or --disable-dired-xpermit was given.
++echo "configure:11493: checking if you wish to allow executable-permission commands via DirEd" >&5
++ # Check whether --enable-dired-xpermit or --disable-dired-xpermit was given.
+ if test "${enable_dired_xpermit+set}" = set; then
+ enableval="$enable_dired_xpermit"
+ test "$enableval" != no && enableval=yes
+@@ -11509,9 +11507,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow "tar" commands from DirEd""... $ac_c" 1>&6
+-echo "configure:11513: checking if you wish to allow "tar" commands from DirEd" >&5
+-
+-# Check whether --enable-dired-tar or --disable-dired-tar was given.
++echo "configure:11511: checking if you wish to allow "tar" commands from DirEd" >&5
++ # Check whether --enable-dired-tar or --disable-dired-tar was given.
+ if test "${enable_dired_tar+set}" = set; then
+ enableval="$enable_dired_tar"
+ test "$enableval" != no && enableval=yes
+@@ -11535,9 +11532,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow "uudecode" commands from DirEd""... $ac_c" 1>&6
+-echo "configure:11539: checking if you wish to allow "uudecode" commands from DirEd" >&5
+-
+-# Check whether --enable-dired-uudecode or --disable-dired-uudecode was given.
++echo "configure:11536: checking if you wish to allow "uudecode" commands from DirEd" >&5
++ # Check whether --enable-dired-uudecode or --disable-dired-uudecode was given.
+ if test "${enable_dired_uudecode+set}" = set; then
+ enableval="$enable_dired_uudecode"
+ test "$enableval" != no && enableval=yes
+@@ -11561,9 +11557,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow "zip" and "unzip" commands from DirEd""... $ac_c" 1>&6
+-echo "configure:11565: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
+-
+-# Check whether --enable-dired-zip or --disable-dired-zip was given.
++echo "configure:11561: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
++ # Check whether --enable-dired-zip or --disable-dired-zip was given.
+ if test "${enable_dired_zip+set}" = set; then
+ enableval="$enable_dired_zip"
+ test "$enableval" != no && enableval=yes
+@@ -11587,9 +11582,8 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if you wish to allow "gzip" and "gunzip" commands from DirEd""... $ac_c" 1>&6
+-echo "configure:11591: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
+-
+-# Check whether --enable-dired-gzip or --disable-dired-gzip was given.
++echo "configure:11586: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
++ # Check whether --enable-dired-gzip or --disable-dired-gzip was given.
+ if test "${enable_dired_gzip+set}" = set; then
+ enableval="$enable_dired_gzip"
+ test "$enableval" != no && enableval=yes
+@@ -11614,8 +11608,7 @@
+ fi
+
+ echo $ac_n "checking if you want long-directory listings""... $ac_c" 1>&6
+-echo "configure:11618: checking if you want long-directory listings" >&5
+-
++echo "configure:11612: checking if you want long-directory listings" >&5
+ # Check whether --enable-long-list or --disable-long-list was given.
+ if test "${enable_long_list+set}" = set; then
+ enableval="$enable_long_list"
+@@ -11640,8 +11633,7 @@
+ echo "$ac_t""$enableval" 1>&6
+
+ echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6
+-echo "configure:11644: checking if parent-directory references are permitted" >&5
+-
++echo "configure:11637: checking if parent-directory references are permitted" >&5
+ # Check whether --enable-parent-dir-refs or --disable-parent-dir-refs was given.
+ if test "${enable_parent_dir_refs+set}" = set; then
+ enableval="$enable_parent_dir_refs"
+@@ -11660,7 +11652,7 @@
+
+
+ echo $ac_n "checking if we can include termio.h with curses""... $ac_c" 1>&6
+-echo "configure:11664: checking if we can include termio.h with curses" >&5
++echo "configure:11656: checking if we can include termio.h with curses" >&5
+ if eval "test \"`echo '$''{'cf_cv_termio_and_curses'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -11669,7 +11661,7 @@
+ CFLAGS="$CFLAGS -DHAVE_CONFIG_H -I. -I${srcdir-.} -I${srcdir-.}/src -I${srcdir-.}/WWW/Library/Implementation"
+ touch lynx_cfg.h
+ cat > conftest.$ac_ext <<EOF
+-#line 11673 "configure"
++#line 11665 "configure"
+ #include "confdefs.h"
+
+ #include <LYCurses.h>
+@@ -11678,7 +11670,7 @@
+ putchar(0x0a)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:11682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:11674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_termio_and_curses=yes
+ else
+@@ -11807,7 +11799,7 @@
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+- echo "$CONFIG_STATUS generated by autoconf version 2.13.19990117"
++ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+@@ -12073,7 +12065,6 @@
+
+ EOF
+
+-
+ # Transform confdefs.h into a sed script conftest.vals that substitutes
+ # the proper values into config.h.in to produce config.h. And first:
+ # Protect against being on the right side of a sed subst in config.status.
+@@ -12119,7 +12110,6 @@
+ done
+ rm -f conftest.vals
+
+-
+ cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+@@ -12142,7 +12132,6 @@
+
+ EOF
+ cat >> $CONFIG_STATUS <<EOF
+-# Extra initialization commands, if any
+
+ USE_NLS=$USE_NLS
+ use_our_messages=$use_our_messages
+@@ -12150,7 +12139,6 @@
+
+ EOF
+ cat >> $CONFIG_STATUS <<\EOF
+-# Extra commands, if any
+
+ if test "$USE_NLS" = yes ; then
+ if test "$use_our_messages" = yes ; then
diff --git a/www/lynx/patches.v6/patch-ax b/www/lynx/patches.v6/patch-ax
new file mode 100644
index 00000000000..d3bac5be69b
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ax
@@ -0,0 +1,20 @@
+$NetBSD: patch-ax,v 1.1 2000/01/15 17:44:26 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./makefile.in /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/makefile.in
+--- ./makefile.in Fri May 28 16:04:01 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/makefile.in Sat Jan 15 07:59:17 2000
+@@ -15,10 +15,11 @@
+ CC = @CC@
+ CFLAGS = @CFLAGS@
+ DEFS = @DEFS@
+-CPPFLAGS = @CPPFLAGS@
++CPPFLAGS = @CPPFLAGS@
+ LINT = @LINT@
+
+ LIBS = @LIBS@
++#LIBS+= -L/usr/local/v6/lib -linet6
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
diff --git a/www/lynx/patches.v6/patch-ay b/www/lynx/patches.v6/patch-ay
new file mode 100644
index 00000000000..ff4067ce10c
--- /dev/null
+++ b/www/lynx/patches.v6/patch-ay
@@ -0,0 +1,30 @@
+$NetBSD: patch-ay,v 1.1 2000/01/15 17:44:26 hubertf Exp $
+
+Place(s) where this was (most probably...) in before:
+
+diff -x *.orig -urN ./src/LYUtils.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/src/LYUtils.c
+--- ./src/LYUtils.c Sun May 30 05:27:26 1999
++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/src/LYUtils.c Sat Jan 15 07:57:20 2000
+@@ -4298,6 +4298,8 @@
+ char *Fragment = NULL;
+ BOOLEAN GotHost = FALSE;
+ BOOLEAN Startup = (helpfilepath == NULL);
++ struct addrinfo hints, *res;
++ int error;
+
+ /*
+ * If it's a NULL or zero-length string,
+@@ -4370,7 +4372,12 @@
+ fprintf(stdout, "%s '%s'%s\n", WWW_FIND_MESSAGE, host, FIRST_SEGMENT);
+ }
+ #ifndef DJGPP
+- if (LYGetHostByName(host) != NULL)
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ error = getaddrinfo(host, "80", &hints, &res);
++
++ if (!error && res)
+ #else
+ if (resolve(host) != 0)
+ #endif /* DJGPP */
diff --git a/www/lynx/patches.v6/patch-az b/www/lynx/patches.v6/patch-az
new file mode 100644
index 00000000000..5457ddaa01c
--- /dev/null
+++ b/www/lynx/patches.v6/patch-az
@@ -0,0 +1,13 @@
+$NetBSD: patch-az,v 1.1 2000/01/15 17:44:27 hubertf Exp $
+
+--- src/chrtrans/makefile.in.orig Sat May 8 13:46:28 1999
++++ src/chrtrans/makefile.in Fri Jul 2 03:59:44 1999
+@@ -94,7 +94,7 @@
+ tables: $(TABLES)
+
+ makeuctb$x: makeuctb.o
+- $(CC) $(CC_OPTS) -o $@ makeuctb.o $(INTLLIB) $(LIBS)
++ $(CC) $(CC_OPTS) $(LDFLAGS) -o $@ makeuctb.o $(INTLLIB) $(LIBS)
+
+ makeuctb.o: $(srcdir)/UCkd.h $(srcdir)/makeuctb.c
+