diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 1998-12-13 04:18:55 -0500 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 1998-12-13 04:18:55 -0500 |
commit | 08fc6e5c6582f05f43c968931b04d698cf7abc86 (patch) | |
tree | e8dd5f36c333c4fec9bee88f9bffb370db7ee176 | |
parent | 0654c7025fbe241efddf0c3b9e58817f262aeda9 (diff) | |
download | lynx-snapshots-08fc6e5c6582f05f43c968931b04d698cf7abc86.tar.gz |
snapshot of project "lynx", label v2-8-2dev_9
134 files changed, 3512 insertions, 2777 deletions
diff --git a/CHANGES b/CHANGES index 98f0992f..4b9ace33 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,67 @@ Changes since Lynx 2.8.1 release ================================================================================ +1998-12-12 (2.8.2dev.9) +* change location-not-absolute message from an alert to user-message - TD +* Check for EINTR from read() call in HTDoRead, and retry if necessary. This + change only for Unix. Interrupted read() system calls should be rare (or + impossible, depending on the system implementation?) since the read() is only + done after a successful select(), but checking can't hurt - KW +* Check for read read() errors in HTDoRead and HTCopy, and generate alert + messages for unexpected errors. HTCopy still returns HT_LOADED to indicate + success if any data have been received before an unexpected error or + disconnection. Previously this happened without any indication to the user + that something was wrong and a document or file might be incomplete. These + changes currently only for Unix - KW +* Added/enhanced comments in HTFormat.c to document current behavior of HTCopy, + HTFileCopy, HTGzFileCopy, HTParseSocket, HTParseFile, and HTParseGzFile - KW +* Moved definition of HT_NO_DATA to HTUtils.h, changed value of some status + codes to libwww5-like values while we're at it - KW +* correct uninitialized de variable in LYCookie.c when dump_output_immediately + is set. Also, made a slight change to this mode in LYMain.c, so that cookies + received will also be written to the cookie file; cleanup() is not called in + -dump mode (reported by Elwin Oost) - BJP +* correct include-path for chrtrans makefile to allow builds outside the + source tree (Masashi Fujita) +* minor cleanup of LYCookie.c, add some traces - BJP +* add support for content encoding for x-bzip2, bzip2 for suffix "bz2" - HN +* add po directory to install-bin and uninstall rules - TD +* modify the environment variable logic to avoid freeing string given to putenv + until after giving it a new string - TD +* add several environment variables to LYPrint.c - KED +* add ENVIRONMENT section to lynx.man and lynx.hlp - KED +* add installation note about --enable-gzip-help - KED +* update installation notes for WAIS - DK +* add/use new functions for building up command-string for shell commands, + which quote parameters as needed: HTAddParam(), HTEndParam(). Moved the + logic in quote_pathname to HTQuoteParameter, extending that function to quote + the parameter only if it contains characters which are problems with various + shells (e.g., wildcards), and to escape backslashes. In particular, use + these functions to ensure that the user and port strings in HTTelnet.c are + quoted (fixes a hole reported by Art Mulder <art@openbsd.org> - TD +* modify print-to-file logic to permit writing to pipe, provided that the + user does not have no-shell restriction - TD +* split-out logic for LYValidateFilename() from printfile() and LYDownload - TD +* whitespace fixes - BJP +* add configure option --with-nls-datadir, to allow installer to specify + alternate locale data directory. A separate option from --datadir is + required because the GNU gettext code is usually installed under + $(prefix)/share rather $(prefix)/lib - TD +* add configure check for gettimeofday, to implement 0.1 second interval + for skipping HTCheckForInterrupt() - TD +* modify configure script to generate references to $CONFIG_SHELL rather than + /bin/sh, to allow some testing with alternate shells. Autoconf uses this + variable for a similar purpose - TD +* correct missing case for 'o', octal in StrAllocVsprintf (reported by IC) - TD +* fix -restrictions=bookmark check in forms-based options menu (reported by KW + & Rodiger Geys) - LP +* fix memory leaks in LYPrint.c and UCdomap.c - KW +* when printing HEAD to email use URL in the subject, was title. (it was + especially annoying when we have 8bit title being sent as 7bit: no charset + information is supplied for letters with 7bit message body) - LP +* remove "temp fix for HText_trimHightext side effect from partial mode by + introducing a flag in HText_beginInput()" from 1998-09-12 since it is now not + needed after KW's changes in HText_trimHightext. - LP 1998-12-03 (2.8.2dev.8) * use HTSprintf/HTSprintf0 in LYCookie.c, LYLocal.c - TD * correct logic in OpenHiddenFile, which did not check if a failure to open a @@ -10,7 +71,7 @@ Changes since Lynx 2.8.1 release 2.8.1rel.2) - TD * fixed line number removal code in HText_endAnchor in several places, it was modifying the wrong line which could lead to memory corruption - KW -* tweaks in HText_startAnchor and HText_endAnchor for handling link numbers: +* tweaks in HText_startAnchor and HText_endAnchor for handling link numbers: don't swallow space after number if line was split, find link number on previous line even it it is at the very end, adjust line split position after number removal. Generate TRACE output in interesting cases - KW @@ -37,7 +98,7 @@ Changes since Lynx 2.8.1 release (single=byline, double=bypage, triple=beg/end), or above/below menu (single=bypage, double=beg/end)) mouse-3 ==> quit; e) Double-click-1 on the first and last row are interpreted as goto- - start/end/main-window (depending on the location of the click). + start/end/main-window (depending on the location of the click). Other Changes: a) Ask ncurses for all mouse events, but increase mouseinterval() to simulate current behavior (which is effectively an infinite mouseinterval() + @@ -49,17 +110,16 @@ Changes since Lynx 2.8.1 release called repeatedly if partial display is enabled. Some other changes in this function, to interact better with the other GridText.c functions, especially for partial display mode. We don't have to handle all anchors if the new - parameter "final" is not set. + parameter "final" is not set. Also empty anchors should now generally not any more move down over empty lines, if they happen at a line end. Made some trace messages give more - information - KW, LP + information - KW * color styles: reset screen style cache to avoid random coloring when a link - is unhighlighted - KW, LP + is unhighlighted - KW * Tweak in HText_setLastOptionValue: if an OPTION tag was directly followed by - several newlines, characters could be dropped - KW, LP -* modify havevisible() function in LYBookmark.c to compare against Unicode - value rather than ASCII. Optimize title_convert8bit() by moving character - translation out of loop - LP + several newlines, characters could be dropped - KW +* Tweak havevisible() function in LYBookmark.c to compare against Unicode + value rather than ASCII when checking for blanks. - LP * ifdef user/group function caching calls so that this builds with djgpp, which doesn't need/support this (patch by Gisle Vanem) * documentation updates for NLS - HN @@ -121,7 +181,7 @@ Changes since Lynx 2.8.1 release activated by placing lines in the WATTCP.CFG file for: DEBUG.MODE= (choices are HEADERS, DUMP, or ALL) DEBUG.PROTO= (choices are TCP, UDP, or ALL) - DEBUG.FILE= (name of log file. Defaults to WATTCP.DBG) + DEBUG.FILE= (name of log file. Defaults to WATTCP.DBG) This adds about 2K to the size of the stripped, compressed executable. You get a log of the headers and/or a binary dump of the packets sent and received. Maybe this will help in determining where ftp is failing in this @@ -221,7 +281,7 @@ Changes since Lynx 2.8.1 release ^X = LYE_DELPW delete previous word ^^ = LYE_UPPER upper case line (not active when kbd-layout binding is) ^_ = LYE_LOWER lower case line - (Kim DeVaughn <kimdv@best.com>). + KED ((Kim DeVaughn <kimdv@best.com>)). * modify to show address to submit to on the statusline when in advanced user mode. Also fixes one small typo in LYMainLoop.c. (suggested by <erisson@sw-tech.com>) - BJP @@ -250,7 +310,7 @@ Changes since Lynx 2.8.1 release remove the remaining generated files - TD + add preliminary changes from PG (pg@sweng.stortek.com) to support port to OS/390, some ifdef'd with __MVS__, some with EBCDIC and NOT_ASCII. -* modify LYCookies.c to accept cookies with no value, in case the site resets a +* modify LYCookie.c to accept cookies with no value, in case the site resets a cookie by nulling out the value (reported by Larry Virden) - BJP * modify cookie parsing to ignore comment lines beginning with a '#' (reported by Jonathan Bobin indicates that Netscape adds comments back, confusing Lynx) @@ -306,7 +366,7 @@ Changes since Lynx 2.8.1 release 1998-08-27 (2.8.1dev.21-intl) * add hooks to GNU gettext for international language support - JES (This is an experimental modification that will be patched into - the main Lynx release after other platform testing. I've only done + the main Lynx release after other platform testing. I've only done NetBSD.) 1998-11-05 (2.8.2dev.1) @@ -320,12 +380,12 @@ Changes since Lynx 2.8.1 release <m9235159@grz08u.unileoben.ac.at>) * Fix core dump which may happen after printing-to-email. - LP * Move read_rc() before parsing any command-line arguments (except -help) - so the latter will override any .lynxrc settings. In particular, the problem + so the latter will override any .lynxrc settings. In particular, the problem was detected with -cookie_file= which was ignored after saving values from Options menu. - LP * Chartrans bug: LYNXIMGMAP now shows the text in right charset. (The page was converted twice, fixed by adding META charset to this internal - page. The bug was in all versions of Lynx starting from 2.7.1ac) - LP + page. The bug was in all versions of Lynx starting from 2.7.1ac) - LP * Oops, my typo from pre3 back to 27-09-98: windows-1252 appears twice in the list of character sets in options menu, was also typo in docs. - LP * modify HTDOS.c to permit compile with K&R compiler - TD @@ -437,7 +497,7 @@ Changes since Lynx 2.8.1 release Also remove changes from 1998-06-11 (case LYK_DOWNLOAD) since this is now protected by HText_new() which never starts. - LP * tweak suggested filename for download menu: now it we have URL - terminated with "/" (e.g. a directory or possibly root) do one more try - + terminated with "/" (e.g., a directory or possibly root) do one more try - remove terminating "/" - LP * download menu: do not show "Suggested file name" when "save to disk disabled" (requested by HN) - LP @@ -667,7 +727,7 @@ Changes since Lynx 2.8.1 release documents with forms input mixed with normal href= link. - LP * print menu: fixed document URL near the top (was temp file name) - LP * forms-options menu: fixed screen size in Novice mode - LP -* limit length of strings copied via tok_values[] in LYCookies.c - TD +* limit length of strings copied via tok_values[] in LYCookie.c - TD * clean up a few memory leaks in cookie_add_acceptlist() and cookie_add_rejectlist() in LYCookie.c. These were leaking 4 bytes for each entry in COOKIE_ACCEPT_DOMAINS - BJP @@ -707,7 +767,7 @@ Changes since Lynx 2.8.1 release * modify quote_pathname() so that for DJGPP it does not put single-quotes around the result - DK * correct a missing assignment to turn bold off in split_line (GridText.c) - LE -* Fixed: forms input in display_partial mode! Previously hightext was printed +* Fixed: forms input in display_partial mode! Previously hightext was printed at wrong positions while loading was in process (try -debug_partial to see the bug). Fix made in HText_pageDisplay: we call HText_trimHightext() which was the main part of HText_endAppend() before. Seems no more problems @@ -849,9 +909,9 @@ Changes since Lynx 2.8.1 release and rerender the page with Cntrl-R to see what is happening in fact. - LP * Serious bug fixed for DISP_PARTIAL: two asynchronous processes synchronized. HTDisplayPartial() synchronized by flag against HText_new() which create - the new HTMainText object. Otherwise HTDisplayPartial() sometimes was + the new HTMainText object. Otherwise HTDisplayPartial() sometimes was matching old HTMainText (with its own line counter) and repaint previous doc, - not a new one. TRACE log now got a message from HText_pageDisplay - LP + not a new one. TRACE log now got a message from HText_pageDisplay - LP * fixed last chartrans changes, lines such as #0x99 #NOTDEFINED should not be commented with leading comment symbol because they are ignored @@ -881,7 +941,7 @@ Changes since Lynx 2.8.1 release makefile.dos, fixes some of the unusual background color handling that was present in the PDCurses DOS port - DK * correct ifdef: LYOptions.c fails to build with -DEXP_FORMS_OPTIONS but - _without_ -DDIRED_SUPPORT (e.g. djgpp) - LP + _without_ -DDIRED_SUPPORT (e.g., djgpp) - LP * redesigned cookie_add_{accept,reject}list in LYCookie.c -- they work now - BJP * added COOKIE_{ACCEPT,REJECT}_DOMAINS in .lynxrc handling to LYrcFile.c - BJP * slight spacing fix in lynx.cfg - BJP diff --git a/INSTALLATION b/INSTALLATION index d9f02ba9..f331159e 100644 --- a/INSTALLATION +++ b/INSTALLATION @@ -60,19 +60,9 @@ Step 4. (optional -- news for UNIX and VMS) in userdefs.h or lynx.cfg so that it points to users' signature files for appending to posted messages. -Step 5. (optional -- UNIX only) - To add direct WAIS support, get the freeWAIS distribution from - "ftp://ftp.cnidr.org/pub/NIDR.tools/freewais", and compile it. The - compile process will create the libraries you will need, wais.a and - client.a. Edit the generated makefile in the top level directory and - add the library locations under the DIRECT WAIS ACCESS heading. Edit - "WWW/Library/Implementation/CommonMakefile" to point to the include - directory for the freewais distribution. Precompiled libraries are - available for many platforms if you don't wish to compile one yourself. - -Step 6. (Anonymous account -- VERY IMPORTANT!!!!! -- ) +Step 5. (Anonymous account -- VERY IMPORTANT!!!!! -- ) If you are building Lynx for your personal use only you may skip this - step. If you are setting up an anonymous account with Lynx, you are + step. If you are setting up an anonymous account with Lynx, you are STRONGLY advised to use the -anonymous command line option. If you do not use this option, users may be able to gain access to all readable files on your machine! ALSO NOTE that many implementations of telnetd @@ -286,7 +276,10 @@ II. Compile instructions -- UNIX --enable-font-switch (define EXP_CHARTRANS_AUTOSWITCH) Allow Lynx to automatically change the Linux console state (switch fonts) according to the current Display Character Set. (Linux console - only. *Use with discretion.* See docs/README.chartrans.) + only. *Use with discretion.* See docs/README.chartrans.) + + --enable-gzip-help + Install the lynx help files in gzip'd format [*.gz] to save space. --enable-internal-links (define DONT_TRACK_INTERNAL_LINKS) Disabled by default, this option allows tracking of internal links, @@ -337,6 +330,12 @@ II. Compile instructions -- UNIX use the GNU gettext library included here (default). See "--enable-nls". + --with-nls-datadir=DIR + Use this option to override the configure script's NLS data directory, + under which the locale (i.e., language) files are installed. The + default value is derived at configure time, and depends on whether GNU + or native gettext is used. + --with-screen=XXX Use this option to select the screen type. The option value, XXX must be one of curses (the default), ncurses or slang. @@ -436,6 +435,16 @@ II. Compile instructions -- UNIX top-level Makefile, and instructions on how to compile are given in "docs/INSTALLATION.old". +3. Wais support (optional) + To add direct WAIS support, get the freeWAIS distribution from + "ftp://ftp.cnidr.org/pub/NIDR.tools/freewais", and compile it. The compile + process will create the libraries you will need, wais.a and client.a. Edit + the Makefile in the top level directory and add the library locations under + the DIRECT WAIS ACCESS heading. Edit the Makefile for the WWW Library in + "WWW/Library/Implementation/CommonMakefile" to point to the include + directory for the freewais distribution. Precompiled libraries are + available for many platforms if you don't wish to compile one yourself. + III. Compile instructions -- VMS @@ -458,7 +467,7 @@ Step 2. Passive FTP If your system requires the PASV FTP code instead of the standard PORT FTP code (e.g., to deal with a firewall) then edit "WWW/Library/ Implementation/HTFTP.c" and comment out line 43 like so: - /* #define LISTEN /* @@@@ Test LJM */. + /* #define LISTEN /* @@@@ Test LJM */. Step 3a. Lynx uses the VMS port of gzip for uncompressing streams which have @@ -475,10 +484,10 @@ Step 3a. or slang is in the top level directory. All you have to do is type "@build" or "@build-slang" and answer its prompt for your system's TCP-IP software. Current choices are: - MULTINET (default) + MULTINET (default) UCX WIN_TCP - CMU_TCP + CMU_TCP SOCKETSHR_TCP TCPWARE It will autosense whether you have VAXC, DECC or GNUC on VAX or AXP and @@ -575,14 +584,14 @@ V. Compile instructions -- 386 DOS Compiling for DOS with DJGPP is a multistep procedure. First install the c compiler and its libraries. Update the distribution with the - patched lib.c, to take care of bug fixes. It is available at: + patched lib.c, to take care of bug fixes. It is available at: "http://www.cartsys.com/eldredge/djgpp-patches.html". DJGPP, as distributed from the usual DJGPP archives, will - not successfully compile lynx. You need to "stubedit" your - "cc1.exe" file. The following parameters have worked successfully: - minstack=800k, bufsize=64k. To accomplish this, move to the + not successfully compile lynx. You need to "stubedit" your + "cc1.exe" file. The following parameters have worked successfully: + minstack=800k, bufsize=64k. To accomplish this, move to the djgpp\bin directory and type the command: - "stubedit cc1.exe bufsize=64k minstack=800k". + "stubedit cc1.exe bufsize=64k minstack=800k". Or do it interactively with the command: "stubedit cc1.exe". (see "http://www.flora.org/lynx-dev/html/month0897/msg00145.html"). @@ -607,7 +616,7 @@ V. Compile instructions -- 386 DOS (available in two different versions at "ftp://neonatal.sm.med.ic.ac.uk/" and in "http://www.fdisk.com/doslynx/wlynx/source/djgpp.zip"). You can also use slang ("ftp://space.mit.edu/pub/davis/slang") as your - curses library. You need to compile these before you go any further. + curses library. You need to compile these before you go any further. If you wish to use PDCurses 2.3, you need to first apply the following patch: @@ -627,7 +636,7 @@ V. Compile instructions -- 386 DOS If you have trouble applying the patch, we recommend that you use the "patch" program, ("http://www.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/pat25b.zip"). The - WATTCP TCPLIB sources also need to be patched prior to compilation. See + WATTCP TCPLIB sources also need to be patched prior to compilation. See "http://www.flora.org/lynx-dev/html/month1197/msg00403.html". To read the Unix man style documentation, use, for example, "less" @@ -640,17 +649,17 @@ V. Compile instructions -- 386 DOS and INCLUDE_PATH in your DJGPP.ENV file. Move to the "lynx2-*/WWW/Library/djgpp" directory and do "make". This - should compile libwww.a. Next move to the "lynx2-*/src/chrtrans" + should compile libwww.a. Next move to the "lynx2-*/src/chrtrans" directory and do "make -f makefile.dos" to compile the character tables. - Then move to the "lynx2-*/src" directory. There are three choices for - compiling at this point. You can do "make -f makefile.dos" to compile + Then move to the "lynx2-*/src" directory. There are three choices for + compiling at this point. You can do "make -f makefile.dos" to compile with PDCurses, "make -f makefile.wsl" to compile with SLANG, or "make -f makefile.dsl" to compile with SLANG and the DJGPP keyhandler. At the time of this writing, it is not clear what the advantages and - disadvantages of each version are. The PDCurses version has the most - experience and allows remapping of ALT and Function keys. The SLANG - version seems to have better screen handling. It allows mapping of - function keys, but not ALT keys. The SLANG with DJGPP keyhandler allows + disadvantages of each version are. The PDCurses version has the most + experience and allows remapping of ALT and Function keys. The SLANG + version seems to have better screen handling. It allows mapping of + function keys, but not ALT keys. The SLANG with DJGPP keyhandler allows mapping of ALT and Function keys, but has the risk of incompatibilities from mixing different programs. @@ -812,51 +821,51 @@ VII. Setting environment variables before running Lynx (optional) the older gateway servers. Each protocol used by Lynx can be mapped separately using PROTOCOL_proxy environment variables of the form: - UNIX - setenv http_proxy "http://some.server.dom:port/" - setenv https_proxy "http://some.server.dom:port/" - setenv ftp_proxy "http://some.server.dom:port/" - setenv gopher_proxy "http://some.server.dom:port/" - setenv news_proxy "http://some.server.dom:port/" - setenv newspost_proxy "http://some.server.dom:port/" - setenv newsreply_proxy "http://some.server.dom:port/" - setenv snews_proxy "http://some.server.dom:port/" - setenv snewspost_proxy "http://some.server.dom:port/" - setenv snewsreply_proxy "http://some.server.dom:port/" - setenv nntp_proxy "http://some.server.dom:port/" - setenv wais_proxy "http://some.server.dom:port/" - setenv finger_proxy "http://some.server.dom:port/" - setenv cso_proxy "http://some.server.dom:port/" - - VMS - define "http_proxy" "http://some.server.dom:port/" - define "https_proxy" "http://some.server.dom:port/" - define "ftp_proxy" "http://some.server.dom:port/" - define "gopher_proxy" "http://some.server.dom:port/" - define "news_proxy" "http://some.server.dom:port/" - define "newspost_proxy" "http://some.server.dom:port/" - define "newsreply_proxy" "http://some.server.dom:port/" - define "snews_proxy" "http://some.server.dom:port/" - define "snewspost_proxy" "http://some.server.dom:port/" - define "snewsreply_proxy" "http://some.server.dom:port/" - define "nntp_proxy" "http://some.server.dom:port/" - define "wais_proxy" "http://some.server.dom:port/" - define "finger_proxy" "http://some.server.dom:port/" - define "cso_proxy" "http://some.server.dom:port/" - (Encase *BOTH* strings in double-quotes to maintain + UNIX + setenv http_proxy "http://some.server.dom:port/" + setenv https_proxy "http://some.server.dom:port/" + setenv ftp_proxy "http://some.server.dom:port/" + setenv gopher_proxy "http://some.server.dom:port/" + setenv news_proxy "http://some.server.dom:port/" + setenv newspost_proxy "http://some.server.dom:port/" + setenv newsreply_proxy "http://some.server.dom:port/" + setenv snews_proxy "http://some.server.dom:port/" + setenv snewspost_proxy "http://some.server.dom:port/" + setenv snewsreply_proxy "http://some.server.dom:port/" + setenv nntp_proxy "http://some.server.dom:port/" + setenv wais_proxy "http://some.server.dom:port/" + setenv finger_proxy "http://some.server.dom:port/" + setenv cso_proxy "http://some.server.dom:port/" + + VMS + define "http_proxy" "http://some.server.dom:port/" + define "https_proxy" "http://some.server.dom:port/" + define "ftp_proxy" "http://some.server.dom:port/" + define "gopher_proxy" "http://some.server.dom:port/" + define "news_proxy" "http://some.server.dom:port/" + define "newspost_proxy" "http://some.server.dom:port/" + define "newsreply_proxy" "http://some.server.dom:port/" + define "snews_proxy" "http://some.server.dom:port/" + define "snewspost_proxy" "http://some.server.dom:port/" + define "snewsreply_proxy" "http://some.server.dom:port/" + define "nntp_proxy" "http://some.server.dom:port/" + define "wais_proxy" "http://some.server.dom:port/" + define "finger_proxy" "http://some.server.dom:port/" + define "cso_proxy" "http://some.server.dom:port/" + (Encase *BOTH* strings in double-quotes to maintain lower case for the PROTOCOL_proxy variable and for the http access type; include /system if you want proxying for all clients on your system.) If you wish to override the use of a proxy server for specific hosts or - entire domains you may use the "no_proxy" environment variable. Here is + entire domains you may use the "no_proxy" environment variable. Here is an example use of "no_proxy": - UNIX - setenv no_proxy "host.domain.dom, domain1.dom, domain2" + UNIX + setenv no_proxy "host.domain.dom, domain1.dom, domain2" - VMS - define "no_proxy" "host.domain.dom, domain1.dom, domain2" + VMS + define "no_proxy" "host.domain.dom, domain1.dom, domain2" You can include a port number in the no_proxy list to override use of a proxy server for the host accessed via that port, but not via @@ -887,9 +896,9 @@ VII. Setting environment variables before running Lynx (optional) "readme.dos" by Doug Kaufman) Here are some environment variables that should be set, usually in a - batch file that runs the lynx executable. Make sure that you have enough - room left in your environment. You may need to change your "SHELL=" - setting in config.sys. In addition, lynx looks for a "SHELL" environment + batch file that runs the lynx executable. Make sure that you have enough + room left in your environment. You may need to change your "SHELL=" + setting in config.sys. In addition, lynx looks for a "SHELL" environment variable when shelling to DOS. If you wish to preserve the environment space when shelling, put a line like this in your AUTOEXEC.BAT file also "SET SHELL=C:\COMMAND.COM /E:2048". It should match CONFIG.SYS. @@ -913,16 +922,16 @@ VII. Setting environment variables before running Lynx (optional) In lynx_386, a typical batch file might look like: - @echo off - set HOME=f:/lynx2-8 - set USER=your_login_name - set LYNX_CFG=%HOME%/lynx.cfg - set WATTCP.CFG=%HOME% - f:\lynx2-8\lynx %1 %2 %3 %4 %5 %6 %7 %8 %9 + @echo off + set HOME=f:/lynx2-8 + set USER=your_login_name + set LYNX_CFG=%HOME%/lynx.cfg + set WATTCP.CFG=%HOME% + f:\lynx2-8\lynx %1 %2 %3 %4 %5 %6 %7 %8 %9 You will also need to make sure that the WATTCP.CFG file has the correct information for IP number, Gateway, Netmask, and Domain Name - Server. This can also be automated in the batch file. + Server. This can also be automated in the batch file. VIII. Acknowledgment diff --git a/LYMessages_en.h b/LYMessages_en.h index 60f06992..6508f116 100644 --- a/LYMessages_en.h +++ b/LYMessages_en.h @@ -124,7 +124,7 @@ #define SOURCE_HELP \ gettext("Currently viewing document source. Press '\\' to return to rendered version.") #define NOVICE_LINE_ONE \ - gettext(" Arrow keys: Up and Down to move. Right to follow a link; Left to go back. \n") + gettext(" Arrow keys: Up and Down to move. Right to follow a link; Left to go back. \n") #define NOVICE_LINE_TWO \ gettext(" H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list \n") #define NOVICE_LINE_TWO_A \ @@ -140,7 +140,7 @@ /* mailto */ #define BAD_FORM_MAILTO gettext("Malformed mailto form submission! Cancelled!") -#define MAILTO_SQUASH_CTL gettext("Warning! Control codes in mail address replaced by ?") +#define MAILTO_SQUASH_CTL gettext("Warning! Control codes in mail address replaced by ?") #define FORM_MAILTO_DISALLOWED gettext("Mail disallowed! Cannot submit.") #define FORM_MAILTO_FAILED gettext("Mailto form submission failed!") #define FORM_MAILTO_CANCELLED gettext("Mailto form submission Cancelled!!!") @@ -299,7 +299,7 @@ #define PREV_DOC_QUERY gettext("Do you want to go back to the previous document? [N]") #define ARROWS_OR_TAB_TO_MOVE gettext("Use arrows or tab to move off of field.") #define ENTER_TEXT_ARROWS_OR_TAB \ - gettext("Enter text. Use arrows or tab to move off of field.") + gettext("Enter text. Use arrows or tab to move off of field.") #define NO_FORM_ACTION gettext("** Bad HTML!! No form action defined. **") #define BAD_HTML_NO_POPUP gettext("Bad HTML!! Unable to create popup window!") #define POPUP_FAILED gettext("Unable to create popup window!") @@ -395,7 +395,7 @@ #define CANNOT_OPEN_OUTPUT gettext("Can't open output file! Cancelling!") #define EXECUTION_DISABLED gettext("Execution is disabled.") #define EXECUTION_DISABLED_FOR_FILE \ - gettext("Execution is not enabled for this file. See the Options menu (use %s).") + gettext("Execution is not enabled for this file. See the Options menu (use %s).") #define EXECUTION_NOT_COMPILED \ gettext("Execution capabilities are not compiled into this version.") #define CANNOT_DISPLAY_FILE gettext("This file cannot be displayed on this terminal.") @@ -411,9 +411,9 @@ #define NEW_FILENAME_PROMPT gettext("Enter a new filename: ") #define FILENAME_CANNOT_BE_DOT gettext("File name may not begin with a dot.") #ifdef VMS -#define FILE_EXISTS_HPROMPT gettext("File exists. Create higher version? (y/n)") +#define FILE_EXISTS_HPROMPT gettext("File exists. Create higher version? (y/n)") #else -#define FILE_EXISTS_OPROMPT gettext("File exists. Overwrite? (y/n)") +#define FILE_EXISTS_OPROMPT gettext("File exists. Overwrite? (y/n)") #endif /* VMS */ #define CANNOT_WRITE_TO_FILE gettext("Cannot write to file.") #define MISCONF_DOWNLOAD_COMMAND gettext("ERROR! - download command is misconfigured.") @@ -561,9 +561,9 @@ #define PROCEED_GET_CANCEL gettext("P)roceed, use G)ET or C)ancel ") #define PROCEED_OR_CANCEL gettext("P)roceed, or C)ancel ") #define ADVANCED_POST_GET_REDIRECT \ - gettext("Redirection of POST content. P)roceed, see U)RL, use G)ET or C)ancel") + gettext("Redirection of POST content. P)roceed, see U)RL, use G)ET or C)ancel") #define ADVANCED_POST_REDIRECT \ - gettext("Redirection of POST content. P)roceed, see U)RL, or C)ancel") + gettext("Redirection of POST content. P)roceed, see U)RL, or C)ancel") #define CONFIRM_POST_RESUBMISSION \ gettext("Document from Form with POST content. Resubmit?") #define CONFIRM_POST_RESUBMISSION_TO \ @@ -677,7 +677,7 @@ #define PORT_INVALID gettext("Port %lu not permitted in URLs.") #define URL_PORT_BAD gettext("URL has a bad port field.") #define HTML_STACK_OVERRUN gettext("Maximum nesting of HTML elements exceeded.") -#define BAD_PARTIAL_REFERENCE gettext("Bad partial reference! Stripping lead dots.") +#define BAD_PARTIAL_REFERENCE gettext("Bad partial reference! Stripping lead dots.") #define TRACELOG_OPEN_FAILED gettext("Trace Log open failed. Trace off!.") #define LYNX_TRACELOG_TITLE gettext("Lynx Trace Log") #define NO_TRACELOG_STARTED gettext("No trace log has been started for this session.") diff --git a/PROBLEMS b/PROBLEMS index 4815d2ba..049f593f 100644 --- a/PROBLEMS +++ b/PROBLEMS @@ -115,7 +115,7 @@ they will be outlined in this file. screen (separating different sorts of highlight); or sections of the screen may be unexpectedly highlighted. There is a workaround which works by restricting the terminal to a - single standout attribute (e.g. normal and reverse, but no others). + single standout attribute (e.g., normal and reverse, but no others). Implementing the workaround is specific to your curses implementation. Most versions of curses use one of two terminal databases, called "termcap" and "terminfo". Updating these databases is system-specific. diff --git a/README b/README index 94bebd6f..7c312578 100644 --- a/README +++ b/README @@ -5,7 +5,7 @@ Lynx Version 2.8.1 is the latest release. This release is based on the lynx2.8pre.11 development code set, and includes bug fixes through October 24, 1998. See the CHANGES file for a complete record of all changes and bug fixes in this release. New releases are announced on the lynx-dev mailing list (see -below). +below). WHAT IS LYNX? @@ -13,7 +13,7 @@ WHAT IS LYNX? Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices such as vt100 terminals, vt100 emulators running on PCs or Macs, or any other - character-cell display. It will display Hypertext Markup Language + character-cell display. It will display Hypertext Markup Language (HTML) documents containing links to files on the local system, as well as files on remote systems running http, gopher, ftp, wais, nntp, finger, or cso/ph/qi servers, and services accessible via logins to @@ -21,7 +21,7 @@ WHAT IS LYNX? Unix, VMS, Windows95/NT, 386DOS and OS/2 EMX. Lynx can be used to access information on the WWW, or to establish - information systems intended primarily for local access. Lynx has been + information systems intended primarily for local access. Lynx has been used to build several Campus Wide Information Systems (CWIS). Lynx can also be used to build systems isolated within a single LAN. @@ -56,17 +56,17 @@ YEAR 2000 COMPLIANCE DOCUMENTATION A users guide is included in this distribution along with a man page - for Unix systems and a help file for VMS systems. All documentation is + for Unix systems and a help file for VMS systems. All documentation is contained in the top directory and the docs, samples and lynx_help subdirectories. While running Lynx, type 'h', 'H', or '?' to invoke the help menu - system. From the help menu you may access several useful documents - pertaining to Lynx and the World Wide Web. The most important of - these is the Lynx Users Guide. By default, Lynx will use the Lynx + system. From the help menu you may access several useful documents + pertaining to Lynx and the World Wide Web. The most important of + these is the Lynx Users Guide. By default, Lynx will use the Lynx Enhanced Pages, which includes http links for help and FAQs concerning - Lynx. It is recommended that you install your own help menu system at - your site in order to lessen the load on http servers. This also will + Lynx. It is recommended that you install your own help menu system at + your site in order to lessen the load on http servers. This also will allow you to customize the help menu system for your site and greatly speed up access for those using Lynx over a slow connection. diff --git a/WWW/Library/Implementation/CommonMakefile b/WWW/Library/Implementation/CommonMakefile index af0d200c..fda9f648 100644 --- a/WWW/Library/Implementation/CommonMakefile +++ b/WWW/Library/Implementation/CommonMakefile @@ -27,9 +27,6 @@ # 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 diff --git a/WWW/Library/Implementation/HTAABrow.c b/WWW/Library/Implementation/HTAABrow.c index 4208bfea..8ee0731b 100644 --- a/WWW/Library/Implementation/HTAABrow.c +++ b/WWW/Library/Implementation/HTAABrow.c @@ -15,7 +15,7 @@ ** ** 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 +** 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. ** @@ -75,7 +75,7 @@ typedef struct { int portnumber; /* Port number */ BOOL IsProxy; /* Is it a proxy? */ HTList * setups; /* List of protection setups */ - /* on this server; i.e. valid */ + /* on this server; i.e., valid */ /* authentication schemes and */ /* templates when to use them. */ /* This is actually a list of */ @@ -609,7 +609,7 @@ PRIVATE char *compose_auth_string ARGS3( } /* * The template should be either the '*' global - * for everthing on the server (always true for + * for everything on the server (always true for * proxy authorization setups), or a path for * the start of a protected limb, with no host * field, but we'll check for a host anyway in @@ -1029,7 +1029,7 @@ PUBLIC char *HTAA_composeAuth ARGS4( ** USERNAME AND/OR PASSWORD (IF MISSPELLED)) ** ON ENTRY: ** start_of_headers is the first block already read from socket, -** but status line skipped; i.e. points to the +** but status line skipped; i.e., points to the ** start of the header section. ** length is the remaining length of the first block. ** soc is the socket to read the rest of server reply. @@ -1180,7 +1180,7 @@ PUBLIC BOOL HTAA_shouldRetryWithAuth ARGS4( } } else { /* - ** proxy_setup == NULL, i.e. we have a + ** proxy_setup == NULL, i.e., we have a ** first connection to a protected server or ** the server serves a wider set of documents ** than we expected so far. @@ -1239,7 +1239,7 @@ PUBLIC BOOL HTAA_shouldRetryWithAuth ARGS4( } } else { /* - ** current_setup == NULL, i.e. we have a + ** current_setup == NULL, i.e., we have a ** first connection to a protected server or ** the server serves a wider set of documents ** than we expected so far. @@ -1278,7 +1278,7 @@ PUBLIC void HTClearHTTPAuthInfo NOARGS { /* ** Need code to check cached documents against the - ** protention templates, and do something to ensure + ** protection templates, and do something to ensure ** that any protected documents no longer can be ** accessed without a new retrieval. - FM */ diff --git a/WWW/Library/Implementation/HTAABrow.h b/WWW/Library/Implementation/HTAABrow.h index 49351cd2..5a195a91 100644 --- a/WWW/Library/Implementation/HTAABrow.h +++ b/WWW/Library/Implementation/HTAABrow.h @@ -12,7 +12,7 @@ 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 + 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. @@ -89,7 +89,7 @@ extern char *HTAA_composeAuth PARAMS(( ** USERNAME AND/OR PASSWORD (IF MISSPELLED)) ** ON ENTRY: ** start_of_headers is the first block already read from socket, -** but status line skipped; i.e. points to the +** but status line skipped; i.e., points to the ** start of the header section. ** length is the remaining length of the first block. ** soc is the socket to read the rest of server reply. @@ -127,7 +127,7 @@ Enabling Gateway httpds to Forward Authorization These functions should only be called from daemon code, and HTAAForwardAuth_reset() must be called before the next request is handled to make sure that authorization string isn't cached in daemon so that other people can access private files using - somebody elses previous authorization information. + somebody else's previous authorization information. */ diff --git a/WWW/Library/Implementation/HTAAFile.c b/WWW/Library/Implementation/HTAAFile.c index 82da7af9..101176cf 100644 --- a/WWW/Library/Implementation/HTAAFile.c +++ b/WWW/Library/Implementation/HTAAFile.c @@ -31,7 +31,7 @@ ** fp is the file from which records are read from. ** ** ON EXIT: -** returns nothing. File read pointer is located at the beginning +** 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). @@ -60,19 +60,19 @@ PUBLIC void HTAAFile_nextRec ARGS1(FILE *, fp) /* PRIVATE read_item() ** READ AN ITEM FROM A PASSWORD, GROUP ** OR ACCESS CONTROL LIST FILE -** i.e. either a field, or a list item. +** 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), +** a comma or a colon), ** 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 +** 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). +** (i.e., either separator or CR or LF or EOF). ** contents contains a null-terminated string representing ** the read field. ** NOTE 1: @@ -132,17 +132,17 @@ PRIVATE int read_item ARGS4(FILE *, fp, /* PUBLIC HTAAFile_readField() ** READ A FIELD FROM A PASSWORD, GROUP ** OR ACCESS CONTROL LIST FILE -** i.e. an item terminated by colon, +** 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 +** 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). +** (i.e., either separator or CR or LF or EOF). ** contents contains a null-terminated string representing ** the read field. ** NOTE 1: diff --git a/WWW/Library/Implementation/HTAAFile.h b/WWW/Library/Implementation/HTAAFile.h index 8986b593..05082f42 100644 --- a/WWW/Library/Implementation/HTAAFile.h +++ b/WWW/Library/Implementation/HTAAFile.h @@ -1,14 +1,14 @@ /* 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 - + */ @@ -35,23 +35,23 @@ 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() @@ -60,7 +60,7 @@ Record-oriented Read Routines ** fp is the file from which records are read from. ** ** ON EXIT: -** returns nothing. File read pointer is located at the beginning +** returns nothing. File read pointer is located at the beginning ** of the next record. ** */ @@ -70,17 +70,17 @@ 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, +** 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 +** 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). +** (i.e., either separator or CR or LF or EOF). ** contents contains a null-terminated string representing ** the read field. ** NOTE 1: diff --git a/WWW/Library/Implementation/HTAAProt.c b/WWW/Library/Implementation/HTAAProt.c index 9112b856..a7915121 100644 --- a/WWW/Library/Implementation/HTAAProt.c +++ b/WWW/Library/Implementation/HTAAProt.c @@ -534,7 +534,7 @@ PUBLIC HTAAProt *HTAA_getCurrentProtection NOARGS ** returns a HTAAProt structure representing the ** default protection setup of the HTTranslate()'d ** file (if HTAA_getCurrentProtection() returned -** NULL, i.e. if there is no "protect" rule +** NULL, i.e., if there is no "protect" rule ** but ACL exists, and we need to know default ** protection settings). ** This must not be free()'d. diff --git a/WWW/Library/Implementation/HTAAProt.h b/WWW/Library/Implementation/HTAAProt.h index e423983b..f26ba7bc 100644 --- a/WWW/Library/Implementation/HTAAProt.h +++ b/WWW/Library/Implementation/HTAAProt.h @@ -154,7 +154,7 @@ extern HTAAProt *HTAA_getCurrentProtection NOPARAMS; ** returns a HTAAProt structure representing the ** default protection setup of the HTTranslate()'d ** file (if HTAA_getCurrentProtection() returned -** NULL, i.e. if there is no "protect" rule +** NULL, i.e., if there is no "protect" rule ** but ACL exists, and we need to know default ** protection settings). ** This must not be free()'d. diff --git a/WWW/Library/Implementation/HTAAServ.c b/WWW/Library/Implementation/HTAAServ.c index c081a3fa..c3aebd48 100644 --- a/WWW/Library/Implementation/HTAAServ.c +++ b/WWW/Library/Implementation/HTAAServ.c @@ -14,7 +14,7 @@ ** ** 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 +** 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. ** @@ -169,12 +169,12 @@ PRIVATE char *status_name ARGS1(HTAAFailReasonType, reason) } -/* PRIVATE check_uthorization() +/* PRIVATE check_authorization() ** 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, ... +** method method, e.g., METHOD_GET, METHOD_PUT, ... ** scheme authentication scheme. ** scheme_specifics authentication string (or other ** scheme specific parameters, like @@ -369,7 +369,7 @@ PRIVATE HTAAFailReasonType check_authorization ARGS4(CONST char *, pathname, ** 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" +** method_name name of the method, e.g., "GET" ** scheme_name authentication scheme name. ** scheme_specifics authentication string (or other ** scheme specific parameters, like diff --git a/WWW/Library/Implementation/HTAAServ.h b/WWW/Library/Implementation/HTAAServ.h index a2946ec4..c2612dfb 100644 --- a/WWW/Library/Implementation/HTAAServ.h +++ b/WWW/Library/Implementation/HTAAServ.h @@ -1,31 +1,31 @@ /* SERVER SIDE ACCESS AUTHORIZATION MODULE - - This module is the server side interface to Access Authorization (AA) package. It + + 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 + 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 @@ -37,10 +37,10 @@ #ifdef SHORT_NAMES -#define HTAAstMs HTAA_statusMessage -#define HTAAchAu HTAA_checkAuthorization -#define HTAAcoAH HTAA_composeAuthHeaders -#define HTAAsLog HTAA_startLogging +#define HTAA_statusMessage HTAAstMs +#define HTAA_checkAuthorization HTAAchAu +#define HTAA_composeAuthHeaders HTAAcoAH +#define HTAA_startLogging HTAAsLog #endif /*SHORT_NAMES*/ extern time_t theTime; @@ -50,14 +50,14 @@ 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" +** method_name name of the method, e.g., "GET" ** scheme_name authentication scheme name. ** scheme_specifics authentication string (or other ** scheme specific parameters, like diff --git a/WWW/Library/Implementation/HTAAUtil.c b/WWW/Library/Implementation/HTAAUtil.c index 05726a8e..f4407fc3 100644 --- a/WWW/Library/Implementation/HTAAUtil.c +++ b/WWW/Library/Implementation/HTAAUtil.c @@ -11,7 +11,7 @@ ** ** 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 +** 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. ** @@ -212,11 +212,11 @@ PUBLIC BOOL HTAAMethod_inList ARGS2(HTAAMethod, method, ** ** ON ENTRY: ** template is a template string to match the file name -** agaist, may contain a single wildcard +** against, may contain a single wildcard ** character * which matches zero or more ** arbitrary characters. ** filename is the filename (or pathname) to be matched -** agaist the template. +** against the template. ** ** ON EXIT: ** returns YES, if filename matches the template. @@ -263,11 +263,11 @@ PUBLIC BOOL HTAA_templateMatch ARGS2(CONST char *, template, ** ** ON ENTRY: ** template is a template string to match the file name -** agaist, may contain a single wildcard +** against, may contain a single wildcard ** character * which matches zero or more ** arbitrary characters. ** filename is the filename (or pathname) to be matched -** agaist the template. +** against the template. ** ** ON EXIT: ** returns YES, if filename matches the template. @@ -353,7 +353,7 @@ PUBLIC char *HTAA_makeProtectionTemplate ARGS1(CONST char *, docname) #define SKIPWS(s) while (*s==' ' || *s=='\t') s++; /* -** Kill trailing whitespace starting from *(s-1) backwords +** Kill trailing whitespace starting from *(s-1) backwards */ #define KILLWS(s) {char *c=s-1; while (*c==' ' || *c=='\t') *(c--)='\0';} @@ -455,7 +455,7 @@ PRIVATE char *end_pointer = buffer; PRIVATE int in_soc = -1; /* PUBLIC HTAA_setupReader() -** SET UP HEADER LINE READER, i.e. give +** SET UP HEADER LINE READER, i.e., give ** the already-read-but-not-yet-processed ** buffer of text to be read before more ** is read from the socket. diff --git a/WWW/Library/Implementation/HTAAUtil.h b/WWW/Library/Implementation/HTAAUtil.h index 059d5b03..eab920e0 100644 --- a/WWW/Library/Implementation/HTAAUtil.h +++ b/WWW/Library/Implementation/HTAAUtil.h @@ -2,7 +2,7 @@ COMMON PARTS OF AUTHORIZATION MODULE TO BOTH SERVER AND BROWSER This module is the interface to the common parts of Access Authorization (AA) package - for both server and browser. Important to know about memory allocation: + for both server and browser. Important to know about memory allocation: Routines in this module use dynamic allocation, but free automatically all the memory reserved by them. @@ -33,16 +33,16 @@ #include <HTList.h> #ifdef SHORT_NAMES -#define HTAASenu HTAAScheme_enum -#define HTAASnam HTAAScheme_name -#define HTAAMenu HTAAMethod_enum -#define HTAAMnam HTAAMethod_name -#define HTAAMinL HTAAMethod_inList -#define HTAAteMa HTAA_templateMatch -#define HTAAmaPT HTAA_makeProtectionTemplate -#define HTAApALi HTAA_parseArgList -#define HTAAsuRe HTAA_setupReader -#define HTAAgUfL HTAA_getUnfoldedLine +#define HTAAScheme_enum HTAASenu +#define HTAAScheme_name HTAASnam +#define HTAAMethod_enum HTAAMenu +#define HTAAMethod_name HTAAMnam +#define HTAAMethod_inList HTAAMinL +#define HTAA_templateMatch HTAAteMa +#define HTAA_makeProtectionTemplate HTAAmaPT +#define HTAA_parseArgList HTAApALi +#define HTAA_setupReader HTAAsuRe +#define HTAA_getUnfoldedLine HTAAgUfL #endif /*SHORT_NAMES*/ @@ -299,7 +299,7 @@ Header Line Reader */ /* PUBLIC HTAA_setupReader() -** SET UP HEADER LINE READER, i.e. give +** SET UP HEADER LINE READER, i.e., give ** the already-read-but-not-yet-processed ** buffer of text to be read before more ** is read from the socket. diff --git a/WWW/Library/Implementation/HTACL.c b/WWW/Library/Implementation/HTACL.c index cca7753f..64c8a1af 100644 --- a/WWW/Library/Implementation/HTACL.c +++ b/WWW/Library/Implementation/HTACL.c @@ -36,7 +36,7 @@ ** ON EXIT: ** returns the absolute pathname of ACL file ** (which is automatically freed next time -** this fuction is called). +** this function is called). */ PRIVATE char *HTAA_getAclFilename ARGS1(CONST char *, pathname) { @@ -113,7 +113,7 @@ PUBLIC void HTAA_closeAcl ARGS1(FILE *, acl_file) ** 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 +** group definition in group file, i.e., everything that ** follows the 'groupname:' part, ** e.g. ** user, group, user@address, group@address, @@ -137,7 +137,7 @@ PUBLIC void HTAA_closeAcl ARGS1(FILE *, acl_file) ** ** NOTE: ** The returned group definition may well contain references -** to groups defined in group file. Therefore these 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 diff --git a/WWW/Library/Implementation/HTACL.h b/WWW/Library/Implementation/HTACL.h index d1431b34..9aa0a68e 100644 --- a/WWW/Library/Implementation/HTACL.h +++ b/WWW/Library/Implementation/HTACL.h @@ -9,9 +9,9 @@ #include <HTGroup.h> #ifdef SHORT_NAMES -#define HTAAoACL HTAA_openAcl -#define HTAAcACL HTAA_closeAcl -#define HTAAgAEn HTAA_getAclEntry +#define HTAA_openAcl HTAAoACL +#define HTAA_closeAcl HTAAcACL +#define HTAA_getAclEntry HTAAgAEn #endif /* SHORT_NAMES */ /* @@ -63,7 +63,7 @@ Getting ACL Entry ** 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 +** group definition in group file, i.e., everything that ** follows the 'groupname:' part, ** e.g. ** user, group, user@address, group@address, @@ -87,7 +87,7 @@ Getting ACL Entry ** ** NOTE: ** The returned group definition may well contain references -** to groups defined in group file. Therefore these 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 diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c index 0bca6812..946a4a26 100644 --- a/WWW/Library/Implementation/HTAccess.c +++ b/WWW/Library/Implementation/HTAccess.c @@ -116,7 +116,7 @@ PUBLIC BOOL HTRegisterProtocol ARGS1( ** ----------------------------- ** ** Add to or subtract from this list if you add or remove protocol -** modules. This routine is called the first time the protocol list +** modules. This routine is called the first time the protocol list ** is needed, unless any protocols are already registered, in which ** case it is not called. Therefore the application can override ** this list. @@ -774,7 +774,7 @@ PRIVATE BOOL HTLoadDocument ARGS4( * doesn't guarantee that the resource from which the MAP element * is taken will be read again (reloaded) when the list of links * for a client-side image map is regenerated, when in some cases - * it should (e.g. user requested RELOAD, or HTTP response with + * it should (e.g., user requested RELOAD, or HTTP response with * no-cache header and we are not overriding). * * If DONT_TRACK_INTERNAL_LINKS is undefined, a target address that @@ -965,7 +965,7 @@ PRIVATE BOOL HTLoadDocument ARGS4( fprintf(stderr, gettext("**** HTAccess: socket or file number returned by obsolete load routine!\n")); fprintf(stderr, - gettext("**** HTAccess: Internal software error. Please mail lynx_dev@sig.net!\n")); + gettext("**** HTAccess: Internal software error. Please mail lynx_dev@sig.net!\n")); fprintf(stderr, gettext("**** HTAccess: Status returned was: %d\n"),status); exit(-1); } @@ -1317,7 +1317,7 @@ PUBLIC HTParentAnchor * HTHomeAnchor NOARGS "file:", PARSE_ACCESS|PARSE_HOST|PARSE_PATH|PARSE_PUNCTUATION); if (my_home_document) { - CTRACE(tfp, "HTAccess: Using custom home page %s i.e. address %s\n", + CTRACE(tfp, "HTAccess: Using custom home page %s i.e., address %s\n", my_home_document, ref); FREE(my_home_document); } diff --git a/WWW/Library/Implementation/HTAccess.h b/WWW/Library/Implementation/HTAccess.h index 32d8e562..3dc91793 100644 --- a/WWW/Library/Implementation/HTAccess.h +++ b/WWW/Library/Implementation/HTAccess.h @@ -1,12 +1,12 @@ /* HTAccess: Access manager for libwww ACCESS MANAGER - + This module keeps a list of valid protocol (naming scheme) specifiers with associated access code. It allows documents to be loaded given various combinations of - parameters. New access protocols may be registered at any time. - + parameters. New access protocols may be registered at any time. + Part of the libwww library . - + */ #ifndef HTACCESS_H #define HTACCESS_H @@ -32,16 +32,14 @@ extern char * use_this_url_instead; ** In general, positive codes are OK and negative ones are bad. */ -#define HT_NO_DATA -9999 /* return code: OK but no data was loaded */ - /* Typically, other app started or forked */ /* Default Addresses - These control the home page selection. To mess with these for normal browses is asking + These control the home page selection. To mess with these for normal browses is asking for user confusion. - + */ #define LOGICAL_DEFAULT "WWW_HOME" /* Defined to be the home page */ @@ -111,17 +109,17 @@ extern BOOL override_proxy PARAMS(( Load a document from relative name ON ENTRY, - + relative_name The relative address of the file to be accessed. - + here The anchor of the object being searched - + ON EXIT, - + returns YES Success in opening file - + NO Failure - + */ extern BOOL HTLoadRelative PARAMS(( CONST char * relative_name, @@ -133,25 +131,25 @@ extern BOOL HTLoadRelative PARAMS(( Load a document from absolute name ON ENTRY, - + addr The absolute address of the document to be accessed. - + filter_it if YES, treat document as HTML - + */ /* ON EXIT, - + */ /* returns YES Success in opening document - + NO Failure - + */ extern BOOL HTLoadAbsolute PARAMS((CONST DocAddress * addr)); @@ -161,19 +159,19 @@ extern BOOL HTLoadAbsolute PARAMS((CONST DocAddress * addr)); Load a document from absolute name to a stream ON ENTRY, - + addr The absolute address of the document to be accessed. - + filter_it if YES, treat document as HTML - + ON EXIT, - + returns YES Success in opening document - + NO Failure - + Note: This is equivalent to HTLoadDocument - + */ extern BOOL HTLoadToStream PARAMS((CONST char * addr, BOOL filter_it, HTStream * sink)); @@ -184,23 +182,23 @@ extern BOOL HTLoadToStream PARAMS((CONST char * addr, BOOL filter_it, Load if necessary, and select an anchor ON ENTRY, - + destination The child or parenet anchor to be loaded. - + */ /* ON EXIT, - + */ /* returns YES Success - + returns NO Failure - + */ @@ -213,13 +211,13 @@ extern BOOL HTLoadAnchor PARAMS((HTAnchor * destination)); Make a stream for Saving object back ON ENTRY, - + anchor is valid anchor which has previously beeing loaded - + ON EXIT, - + returns 0 if error else a stream to save the object to. - + */ @@ -230,15 +228,15 @@ extern HTStream * HTSaveStream PARAMS((HTParentAnchor * anchor)); Search - Performs a search on word given by the user. Adds the search words to the end of the + Performs a search on word given by the user. Adds the search words to the end of the current address and attempts to open the new address. - + ON ENTRY, - + *keywords space-separated keyword list or similar search list - + here The anchor of the object being searched - + */ extern BOOL HTSearch PARAMS((CONST char * keywords, HTParentAnchor* here)); @@ -247,15 +245,15 @@ extern BOOL HTSearch PARAMS((CONST char * keywords, HTParentAnchor* here)); Search Given Indexname - Performs a keyword search on word given by the user. Adds the keyword to the end of + Performs a keyword search on word given by the user. Adds the keyword to the end of the current address and attempts to open the new address. - + ON ENTRY, - + *keywords space-separated keyword list or similar search list - + *indexname is name of object search is to be done on. - + */ extern BOOL HTSearchAbsolute PARAMS(( CONST char * keywords, @@ -270,13 +268,13 @@ Register an access method typedef struct _HTProtocol { char * name; - + int (*load)PARAMS(( CONST char * full_address, HTParentAnchor * anchor, HTFormat format_out, HTStream* sink)); - + HTStream* (*saveStream)PARAMS((HTParentAnchor * anchor)); } HTProtocol; @@ -294,7 +292,7 @@ Generate the anchor for the home page As it involves file access, this should only be done once when the program first runs. This is a default algorithm -- browser don't HAVE to use this. - + */ extern HTParentAnchor * HTHomeAnchor NOPARAMS; diff --git a/WWW/Library/Implementation/HTAnchor.c b/WWW/Library/Implementation/HTAnchor.c index 3e0c4375..0c1eb7dd 100644 --- a/WWW/Library/Implementation/HTAnchor.c +++ b/WWW/Library/Implementation/HTAnchor.c @@ -13,7 +13,7 @@ ** (c) Copyright CERN 1991 - See Copyright.html */ -#define HASH_SIZE 101 /* Arbitrary prime. Memory/speed tradeoff */ +#define HASH_SIZE 101 /* Arbitrary prime. Memory/speed tradeoff */ #include <HTUtils.h> #include <HTAnchor.h> @@ -60,7 +60,7 @@ PRIVATE HTList **adult_table = 0; /* Point to table of lists of all parents */ /* Creation Methods ** ================ ** -** Do not use "new" by itself outside this module. In order to enforce +** Do not use "new" by itself outside this module. In order to enforce ** consistency, we insist that you furnish more information about the ** anchor you are creating : use newWithParent or newWithAddress. */ @@ -160,7 +160,7 @@ PRIVATE BOOL HTIdentical ARGS2( ** --------------------------------- ** ** Me one is for a new anchor being edited into an existing -** document. The parent anchor must already exist. +** document. The parent anchor must already exist. */ PUBLIC HTChildAnchor * HTAnchor_findChild ARGS2( HTParentAnchor *, parent, @@ -470,7 +470,7 @@ PRIVATE void deleteLinks ARGS1( * Test here to avoid calling overhead. * If the parent has no loaded document, then we should * tell it to attempt to delete itself. - * Don't do this jass if the anchor passed in is the same + * Don't do this jazz if the anchor passed in is the same * as the anchor to delete. * Also, don't do this if the destination parent is our * parent. @@ -1203,7 +1203,7 @@ PUBLIC void HTAnchor_setPhysical ARGS2( ** text/plain ** from file: HTFile.c -> HTPlain.c -> GridText.c ** -** The lock/set_by is used to lock e.g. a charset set by an explicit +** The lock/set_by is used to lock e.g., a charset set by an explicit ** HTTP MIME header against overriding by a HTML META tag - the MIME ** header has higher priority. Defaults (from -assume_.. options etc.) ** will not override charset explicitly given by server. diff --git a/WWW/Library/Implementation/HTAnchor.h b/WWW/Library/Implementation/HTAnchor.h index 2d9c43b9..ea28d5cd 100644 --- a/WWW/Library/Implementation/HTAnchor.h +++ b/WWW/Library/Implementation/HTAnchor.h @@ -12,7 +12,7 @@ #define HTANCHOR_H /* Version 0 (TBL) written in Objective-C for the NeXT browser */ -/* Version 1 of 24-Oct-1991 (JFG), written in C, browser-independant */ +/* Version 1 of 24-Oct-1991 (JFG), written in C, browser-independent */ #include <HTList.h> #include <HTAtom.h> @@ -70,7 +70,7 @@ struct _HTAnchor { /* Generic anchor : just links */ HTLink mainLink; /* Main (or default) destination of this */ HTList * links; /* List of extra links from this, if any */ /* We separate the first link from the others to avoid too many small mallocs - involved by a list creation. Most anchors only point to one place. */ + involved by a list creation. Most anchors only point to one place. */ HTParentAnchor * parent; /* Parent of this anchor (self for adults) */ }; @@ -87,7 +87,7 @@ struct _HTParentAnchor { char * address; /* Absolute address of this node */ char * post_data; /* Posting data */ char * post_content_type; /* Type of post data */ - char * bookmark; /* Bookmark filname */ + char * bookmark; /* Bookmark filename */ HTFormat format; /* Pointer to node format descriptor */ char * charset; /* Pointer to character set (kludge, for now */ BOOL isIndex; /* Acceptance of a keyword search */ @@ -115,7 +115,7 @@ struct _HTParentAnchor { char * content_language; /* Content-Language */ char * content_encoding; /* Compression algorithm */ char * content_base; /* Content-Base */ - char * content_disposition; /* Content-Dispositon */ + char * content_disposition; /* Content-Disposition */ char * content_location; /* Content-Location */ char * content_md5; /* Content-MD5 */ int content_length; /* Content-Length */ @@ -160,7 +160,7 @@ typedef struct _DocAddress { ** --------------------------------- ** ** This one is for a new anchor being edited into an existing -** document. The parent anchor must already exist. +** document. The parent anchor must already exist. */ extern HTChildAnchor * HTAnchor_findChild PARAMS(( HTParentAnchor * parent, diff --git a/WWW/Library/Implementation/HTAuth.c b/WWW/Library/Implementation/HTAuth.c index f1e7efd5..05ff06c9 100644 --- a/WWW/Library/Implementation/HTAuth.c +++ b/WWW/Library/Implementation/HTAuth.c @@ -56,7 +56,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *, authstring, /* \/ */ FREE(cleartext); /* From previous call. */ /* NOTE: parts of this memory are pointed to by */ - /* pointers in HTAAUser structure. Therefore, */ + /* pointers in HTAAUser structure. Therefore, */ /* this also frees all the strings pointed to */ /* by the static 'user'. */ diff --git a/WWW/Library/Implementation/HTAuth.h b/WWW/Library/Implementation/HTAuth.h index 0e88131c..a99081ce 100644 --- a/WWW/Library/Implementation/HTAuth.h +++ b/WWW/Library/Implementation/HTAuth.h @@ -1,8 +1,8 @@ /* AUTHENTICATION MODULE - - This is the authentication module. By modifying the function HTAA_authenticate() it can + + This is the authentication module. By modifying the function HTAA_authenticate() it can be made to support external authentication methods. - + */ #ifndef HTAUTH_H @@ -13,7 +13,7 @@ #ifdef SHORT_NAMES -#define HTAAauth HTAA_authenticate +#define HTAA_authenticate HTAAauth #endif /* SHORT_NAMES */ diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c index 179de6fd..8348b8f2 100644 --- a/WWW/Library/Implementation/HTFTP.c +++ b/WWW/Library/Implementation/HTFTP.c @@ -13,7 +13,7 @@ ** It seems that an attempt by the server to connect to a port which has ** been used recently by a listen on the same socket, or by another ** socket this or another process causes a hangup of (almost exactly) -** one minute. Therefore, we have to use a rotating port number. +** one minute. Therefore, we have to use a rotating port number. ** The problem remains that if the application is run twice in quick ** succession, it will hang for what remains of a minute. ** @@ -63,10 +63,10 @@ /* BUGS: @@@ Limit connection cache size! Error reporting to user. - 400 & 500 errors are acked by user with windows. + 400 & 500 errors are ack'ed by user with windows. Use configuration file for user names -** Note for portablility this version does not use select() and +** Note for portability this version does not use select() and ** so does not watch the control and data channels at the ** same time. */ @@ -239,9 +239,9 @@ PUBLIC char * HTMake_VMS_name ARGS2( CONST char *, fn) { -/* We try converting the filename into Files-11 syntax. That is, we assume -** first that the file is, like us, on a VMS node. We try remote -** (or local) DECnet access. Files-11, VMS, VAX and DECnet +/* We try converting the filename into Files-11 syntax. That is, we assume +** first that the file is, like us, on a VMS node. We try remote +** (or local) DECnet access. Files-11, VMS, VAX and DECnet ** are trademarks of Digital Equipment Corporation. ** The node is assumed to be local if the hostname WITHOUT DOMAIN ** matches the local one. @@@ @@ -257,7 +257,7 @@ PUBLIC char * HTMake_VMS_name ARGS2( if (!filename || !nodename) outofmem(__FILE__, "HTVMSname"); strcpy(filename, fn); - strcpy(nodename, ""); /* On same node? Yes if node names match */ + strcpy(nodename, ""); /* On same node? Yes if node names match */ if (strncmp(nn, "localhost", 9)) { CONST char *p; CONST char *q; @@ -2092,7 +2092,7 @@ PRIVATE EntryInfo * parse_dir_entry ARGS2( default: /* ** We can't tell if it is a directory since we only - ** did an NLST :( List bad file types anyways? NOT! + ** did an NLST :( List bad file types anyways? NOT! */ StrAllocCopy(entry_info->filename, entry); return(entry_info); /* mostly empty info */ @@ -2810,7 +2810,7 @@ PUBLIC int HTFTPLoad ARGS4( } if (binary != control->binary) { /* - ** Act on our setting if not alread set. - FM + ** Act on our setting if not already set. - FM */ char * mode = binary ? "I" : "A"; sprintf(command, "TYPE %s%c%c", mode, CR, LF); @@ -3123,7 +3123,7 @@ PUBLIC int HTFTPLoad ARGS4( sprintf(command, "CWD %s%c%c", filename, CR, LF); status = response(command); - if (status == 2) { /* Successed : let's NAME LIST it */ + if (status == 2) { /* Succeeded : let's NAME LIST it */ isDirectory = YES; if (use_list) sprintf(command, "LIST%c%c", CR, LF); diff --git a/WWW/Library/Implementation/HTFTP.h b/WWW/Library/Implementation/HTFTP.h index 7b857076..4ef22f2d 100644 --- a/WWW/Library/Implementation/HTFTP.h +++ b/WWW/Library/Implementation/HTFTP.h @@ -1,11 +1,11 @@ /* FTP access module for libwww FTP ACCESS FUNCTIONS - + This isn't really a valid protocol module -- it is lumped together with HTFile . That could be changed easily. - - Author: Tim Berners-Lee. Public Domain. Please mail changes to timbl@info.cern.ch - + + Author: Tim Berners-Lee. Public Domain. Please mail changes to timbl@info.cern.ch + */ #ifndef HTFTP_H #define HTFTP_H @@ -14,7 +14,7 @@ #include <HTStream.h> #include <HTParse.h> -#define FILE_BY_NAME 0 +#define FILE_BY_NAME 0 #define FILE_BY_TYPE 1 #define FILE_BY_SIZE 2 #define FILE_BY_DATE 3 @@ -33,7 +33,7 @@ extern int HTfileSortMethod; /* specifies the method of sorting */ ** Bug: Returns pointer to static -- non-reentrant */ PUBLIC char * HTMake_VMS_name PARAMS(( - CONST char * nn, + CONST char * nn, CONST char * fn)); @@ -42,9 +42,9 @@ PUBLIC char * HTMake_VMS_name PARAMS(( Retrieve File from Server ON EXIT, - + returns Socket number for file if good.<0 if bad. - + */ extern int HTFTPLoad PARAMS (( diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c index 4dd8960a..a1dc1dfe 100644 --- a/WWW/Library/Implementation/HTFile.c +++ b/WWW/Library/Implementation/HTFile.c @@ -636,7 +636,7 @@ PUBLIC char * HTnameOfFile_WWW ARGS3( ** ** Bugs: ** At present, only the names of two network root nodes are hand-coded -** in and valid for the NeXT only. This should be configurable in +** in and valid for the NeXT only. This should be configurable in ** the general case. */ PUBLIC char * WWW_nameOfFile ARGS1( diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c index 46892a98..deb4e77a 100644 --- a/WWW/Library/Implementation/HTFormat.c +++ b/WWW/Library/Implementation/HTFormat.c @@ -11,7 +11,6 @@ */ #include <HTUtils.h> -#include <HTAccess.h> /* Implements: */ @@ -503,13 +502,13 @@ PRIVATE void HTDisplayPartial NOARGS /* new hypertext document available */ && ((Newline_partial + display_lines) > NumOfLines_partial) /* current page not complete... */ - && (partial_threshold > 0 ? ((Newline_partial + partial_threshold) < HText_getNumOfLines()) : - ((Newline_partial + display_lines) < HText_getNumOfLines()))) { - /* - * Originally we rendered by increments of 2 lines, - * but that got annoying on slow network connections. - * Then we switched to full-pages. Now it's configurable. - * If partial_threshold < 0, then it's a full page + && (partial_threshold > 0 ? ((Newline_partial + partial_threshold) < HText_getNumOfLines()) : + ((Newline_partial + display_lines) < HText_getNumOfLines()))) { + /* + * Originally we rendered by increments of 2 lines, + * but that got annoying on slow network connections. + * Then we switched to full-pages. Now it's configurable. + * If partial_threshold < 0, then it's a full page */ NumOfLines_partial = HText_getNumOfLines(); HText_pageDisplay(Newline_partial, ""); @@ -530,6 +529,27 @@ PRIVATE void HTDisplayPartial NOARGS ** CRLF at the end of lines which need to be stripped to LF for unix ** when the format is textual. ** +** State of socket and target stream on entry: +** socket (file_number) assumed open, +** target (sink) assumed valid. +** +** Return values: +** HT_INTERRUPTED Interruption or error after some data received. +** -2 Unexpected disconnect before any data received. +** -1 Interruption or error before any data received, or +** (UNIX) other read error before any data received, or +** download cancelled. +** HT_LOADED Normal close of socket (end of file indication +** received), or +** unexpected disconnect after some data received, or +** other read error after some data received, or +** (not UNIX) other read error before any data received. +** +** State of socket and target stream on return depends on return value: +** HT_INTERRUPTED socket still open, target aborted. +** -2 socket still open, target stream still valid. +** -1 socket still open, target aborted. +** otherwise socket closed, target stream still valid. */ PUBLIC int HTCopy ARGS4( HTParentAnchor *, anchor, @@ -597,15 +617,51 @@ PUBLIC int HTCopy ARGS4( rv = -2; goto finished; } else { +#ifdef UNIX + /* + * Treat what we've received already as the complete + * transmission, but not without giving the user + * an alert. I don't know about all the different + * TCP stacks for VMS etc., so this is currently + * only for UNIX. - kw + */ + HTInetStatus("NETREAD"); + HTAlert("Unexpected server disconnect."); + CTRACE(tfp, + "HTCopy: Unexpected server disconnect. Treating as completed.\n"); + status = 0; + break; +#else /* !UNIX */ /* * Treat what we've gotten already * as the complete transmission. - FM */ CTRACE(tfp, - "HTCopy: Unexpected server disconnect. Treating as completed.\n"); + "HTCopy: Unexpected server disconnect. Treating as completed.\n"); status = 0; break; +#endif /* UNIX */ + } +#ifdef UNIX + } else { /* status < 0 and other errno */ + /* + * Treat what we've received already as the complete + * transmission, but not without giving the user + * an alert. I don't know about all the different + * TCP stacks for VMS etc., so this is currently + * only for UNIX. - kw + */ + HTInetStatus("NETREAD"); + HTAlert("Unexpected read error."); + if (bytes) { + (void)NETCLOSE(file_number); + rv = HT_LOADED; + } else { + (*targetClass._abort)(sink, NULL); + rv = -1; } + goto finished; +#endif } break; } @@ -641,6 +697,18 @@ finished: ** graphic (or other) objects described by the file. ** ** +** State of file and target stream on entry: +** FILE* (fp) assumed open, +** target (sink) assumed valid. +** +** Return values: +** HT_INTERRUPTED Interruption after some data read. +** HT_PARTIAL_CONTENT Error after some data read. +** -1 Error before any data read. +** HT_LOADED Normal end of file indication on reading. +** +** State of file and target stream on return: +** always fp still open, target stream still valid. */ PUBLIC int HTFileCopy ARGS2( FILE *, fp, @@ -701,6 +769,18 @@ PUBLIC int HTFileCopy ARGS2( ** graphic (or other) objects described by the file. ** ** +** State of file and target stream on entry: +** gzFile (gzfp) assumed open (should have gzipped content), +** target (sink) assumed valid. +** +** Return values: +** HT_INTERRUPTED Interruption after some data read. +** HT_PARTIAL_CONTENT Error after some data read. +** -1 Error before any data read. +** HT_LOADED Normal end of file indication on reading. +** +** State of file and target stream on return: +** always gzfp still open, target stream still valid. */ PRIVATE int HTGzFileCopy ARGS2( gzFile, gzfp, @@ -807,6 +887,30 @@ PUBLIC void HTCopyNoCR ARGS3( ** CRLF at the end of lines which need to be stripped to LF for unix ** when the format is textual. ** +** State of socket and target stream on entry: +** socket (file_number) assumed open, +** target (sink) usually NULL (will call stream stack). +** +** Return values: +** HT_INTERRUPTED Interruption or error after some data received. +** -501 Stream stack failed (cannot present or convert). +** -2 Unexpected disconnect before any data received. +** -1 Stream stack failed (cannot present or convert), or +** Interruption or error before any data received, or +** (UNIX) other read error before any data received, or +** download cancelled. +** HT_LOADED Normal close of socket (end of file indication +** received), or +** unexpected disconnect after some data received, or +** other read error after some data received, or +** (not UNIX) other read error before any data received. +** +** State of socket and target stream on return depends on return value: +** HT_INTERRUPTED socket still open, target aborted. +** -501 socket still open, target stream NULL. +** -2 socket still open, target freed. +** -1 socket still open, target stream aborted or NULL. +** otherwise socket closed, target stream freed. */ PUBLIC int HTParseSocket ARGS5( HTFormat, rep_in, @@ -841,7 +945,8 @@ PUBLIC int HTParseSocket ARGS5( if (rv != -1 && rv != HT_INTERRUPTED) (*targetClass._free)(stream); - return rv; /* full: HT_LOADED; partial: HT_INTERRUPTED; no bytes: -1 */ + return rv; + /* Originally: full: HT_LOADED; partial: HT_INTERRUPTED; no bytes: -1 */ } /* Parse a file given format and file pointer @@ -853,6 +958,19 @@ PUBLIC int HTParseSocket ARGS5( ** CRLF at the end of lines which need to be stripped to \n for unix ** when the format is textual. ** +** State of file and target stream on entry: +** FILE* (fp) assumed open, +** target (sink) usually NULL (will call stream stack). +** +** Return values: +** -501 Stream stack failed (cannot present or convert). +** -1 Download cancelled. +** HT_NO_DATA Error before any data read. +** HT_PARTIAL_CONTENT Interruption or error after some data read. +** HT_LOADED Normal end of file indication on reading. +** +** State of file and target stream on return: +** always fp still open; target freed, aborted, or NULL. */ PUBLIC int HTParseFile ARGS5( HTFormat, rep_in, @@ -921,6 +1039,22 @@ PRIVATE int HTCloseGzFile ARGS1( return(gzres); } +/* HTParseGzFile +** +** State of file and target stream on entry: +** gzFile (gzfp) assumed open, +** target (sink) usually NULL (will call stream stack). +** +** Return values: +** -501 Stream stack failed (cannot present or convert). +** -1 Download cancelled. +** HT_NO_DATA Error before any data read. +** HT_PARTIAL_CONTENT Interruption or error after some data read. +** HT_LOADED Normal end of file indication on reading. +** +** State of file and target stream on return: +** always gzfp closed; target freed, aborted, or NULL. +*/ PUBLIC int HTParseGzFile ARGS5( HTFormat, rep_in, HTFormat, format_out, diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h index 0e5c4634..c9b6392e 100644 --- a/WWW/Library/Implementation/HTFormat.h +++ b/WWW/Library/Implementation/HTFormat.h @@ -1,13 +1,13 @@ /* HTFormat: The format manager in the WWW Library MANAGE DIFFERENT DOCUMENT FORMATS - + Here we describe the functions of the HTFormat module which handles conversion between different data representations. (In MIME parlance, a representation is known as a - content-type. In WWW the term "format" is often used as it is shorter). - - This module is implemented by HTFormat.c . This hypertext document is used to generate - the HTFormat.h include file. Part of the WWW library . - + content-type. In WWW the term "format" is often used as it is shorter). + + This module is implemented by HTFormat.c. This hypertext document is used to generate + the HTFormat.h include file. Part of the WWW library. + Preamble */ @@ -27,20 +27,20 @@ Preamble The HTFormat type - We use the HTAtom object for holding representations. This allows faster manipulation + We use the HTAtom object for holding representations. This allows faster manipulation (comparison and copying) that if we stayed with strings. - + */ typedef HTAtom * HTFormat; - + /* These macros (which used to be constants) define some basic internally referenced representations. The www/xxx ones are of course not MIME standard. - + www/source is an output format which leaves the input untouched. It is useful for diagnostics, and for users who want to see the original, whatever it is. - + */ /* Internal ones */ #define WWW_SOURCE HTAtom_for("www/source") /* Whatever it was originally*/ @@ -49,29 +49,29 @@ typedef HTAtom * HTFormat; www/present represents the user's perception of the document. If you convert to www/present, you present the material to the user. - + */ #define WWW_PRESENT HTAtom_for("www/present") /* The user's perception */ /* The message/rfc822 format means a MIME message or a plain text message with no MIME - header. This is what is returned by an HTTP server. - + header. This is what is returned by an HTTP server. + */ #define WWW_MIME HTAtom_for("www/mime") /* A MIME message */ /* www/print is like www/present except it represents a printed copy. - + */ #define WWW_PRINT HTAtom_for("www/print") /* A printed copy */ /* - www/unknown is a really unknown type. Some default action is appropriate. - + www/unknown is a really unknown type. Some default action is appropriate. + */ #define WWW_UNKNOWN HTAtom_for("www/unknown") @@ -87,7 +87,7 @@ typedef HTAtom * HTFormat; These are regular MIME types. HTML is assumed to be added by the W3 code. application/octet-stream was mistakenly application/binary in earlier libwww versions (pre 2.11). - + */ #define WWW_PLAINTEXT HTAtom_for("text/plain") #define WWW_POSTSCRIPT HTAtom_for("application/postscript") @@ -100,7 +100,7 @@ typedef HTAtom * HTFormat; We must include the following file after defining HTFormat, to which it makes reference. - + The HTEncoding type */ @@ -109,7 +109,7 @@ typedef HTAtom* HTEncoding; /* The following are values for the MIME types: - + */ #define WWW_ENC_7BIT HTAtom_for("7bit") #define WWW_ENC_8BIT HTAtom_for("8bit") @@ -118,7 +118,7 @@ typedef HTAtom* HTEncoding; /* We also add - + */ #define WWW_ENC_COMPRESS HTAtom_for("compress") @@ -142,11 +142,11 @@ typedef HTAtom* HTEncoding; The HTPresentation and HTConverter types This HTPresentation structure represents a possible conversion algorithm from one - format to annother. It includes a pointer to a conversion routine. The conversion + format to annother. It includes a pointer to a conversion routine. The conversion routine returns a stream to which data should be fed. See also HTStreamStack which - scans the list of registered converters and calls one. See the initialisation module + scans the list of registered converters and calls one. See the initialisation module for a list of conversion routines. - + */ typedef struct _HTPresentation HTPresentation; @@ -154,7 +154,7 @@ typedef HTStream * HTConverter PARAMS(( HTPresentation * pres, HTParentAnchor * anchor, HTStream * sink)); - + struct _HTPresentation { HTAtom * rep; /* representation name atmoized */ HTAtom * rep_out; /* resulting representation */ @@ -170,14 +170,14 @@ struct _HTPresentation { The list of presentations is kept by this module. It is also scanned by modules which want to know the set of formats supported. for example. - + */ extern HTList * HTPresentations; /* The default presentation is used when no other is appriporate - + */ extern HTPresentation* default_presentation; @@ -186,18 +186,18 @@ extern HTPresentation* default_presentation; HTSetPresentation: Register a system command to present a format ON ENTRY, - + rep is the MIME - style format name - + command is the MAILCAP - style command template - + quality A degradation faction 0..1.0 - + secs A limit on the time user will wait (0.0 for infinity) secs_per_byte - + maxbytes A limit on the length acceptable as input (0 infinite) - + */ extern void HTSetPresentation PARAMS(( CONST char * representation, @@ -214,13 +214,13 @@ extern void HTSetPresentation PARAMS(( HTSetConversion: Register a converstion routine ON ENTRY, - + rep_in is the content-type input - + rep_out is the resulting content-type - + converter is the routine to make the stream to do it - + */ extern void HTSetConversion PARAMS(( @@ -238,13 +238,13 @@ extern void HTSetConversion PARAMS(( HTStreamStack: Create a stack of streams - This is the routine which actually sets up the conversion. It currently checks only for - direct conversions, but multi-stage conversions are forseen. It takes a stream into + This is the routine which actually sets up the conversion. It currently checks only for + direct conversions, but multi-stage conversions are forseen. It takes a stream into which the output should be sent in the final format, builds the conversion stack, and returns a stream into which the data in the input format should be fed. The anchor is passed because hypertxet objects load information into the anchor object which represents them. - + */ extern HTStream * HTStreamStack PARAMS(( HTFormat format_in, @@ -268,18 +268,18 @@ extern void HTReorderPresentation PARAMS(( HTStackValue: Find the cost of a filter stack Must return the cost of the same stack which HTStreamStack would set up. - + ON ENTRY, - + format_in The fomat of the data to be converted - + format_out The format required - + initial_value The intrinsic "value" of the data before conversion on a scale from 0 to 1 - + length The number of bytes expected in the input format - + */ extern float HTStackValue PARAMS(( HTFormat format_in, @@ -295,7 +295,7 @@ HTCopy: Copy a socket to a stream This is used by the protocol engines to send data down a stream, typically one which has been generated by HTStreamStack. - + */ extern int HTCopy PARAMS(( HTParentAnchor * anchor, @@ -303,26 +303,26 @@ extern int HTCopy PARAMS(( void* handle, HTStream* sink)); - + /* HTFileCopy: Copy a file to a stream This is used by the protocol engines to send data down a stream, typically one which - has been generated by HTStreamStack. It is currently called by HTParseFile - + has been generated by HTStreamStack. It is currently called by HTParseFile + */ extern int HTFileCopy PARAMS(( FILE* fp, HTStream* sink)); - + /* HTCopyNoCR: Copy a socket to a stream, stripping CR characters. It is slower than HTCopy . - + */ extern void HTCopyNoCR PARAMS(( @@ -338,7 +338,7 @@ Clear input buffer and set file number This routine and the one below provide simple character input from sockets. (They are left over from the older architecure and may not be used very much.) The existence of a common routine and buffer saves memory space in small implementations. - + */ extern void HTInitInput PARAMS((int file_number)); @@ -357,7 +357,7 @@ HTParseSocket: Parse a socket given its format This routine is called by protocol modules to load an object. uses HTStreamStack and the copy routines above. Returns HT_LOADED if succesful, <0 if not. - + */ extern int HTParseSocket PARAMS(( HTFormat format_in, @@ -370,9 +370,10 @@ extern int HTParseSocket PARAMS(( HTParseFile: Parse a File through a file pointer - This routine is called by protocols modules to load an object. uses HTStreamStack and - HTFileCopy . Returns HT_LOADED if succesful, <0 if not. - + This routine is called by protocols modules to load an object. uses + HTStreamStack and HTFileCopy. Returns HT_LOADED if successful, can also + return HT_PARTIAL_CONTENT, HT_NO_DATA, or other <0 for failure. + */ extern int HTParseFile PARAMS(( HTFormat format_in, @@ -389,8 +390,9 @@ extern int HTParseFile PARAMS(( /* HTParseGzFile: Parse a gzipped File through a file pointer - This routine is called by protocols modules to load an object. uses HTStreamStack and - HTGzFileCopy . Returns HT_LOADED if succesful, <0 if not. + This routine is called by protocols modules to load an object. uses + HTStreamStack and HTGzFileCopy. Returns HT_LOADED if successful, can also + return HT_PARTIAL_CONTENT, HT_NO_DATA, or other <0 for failure. */ extern int HTParseGzFile PARAMS(( HTFormat format_in, @@ -406,9 +408,9 @@ extern int HTParseGzFile PARAMS(( HTNetToText: Convert Net ASCII to local representation This is a filter stream suitable for taking text from a socket and passing it into a - stream which expects text in the local C representation. It does ASCII and newline - conversion. As usual, pass its output stream to it when creating it. - + stream which expects text in the local C representation. It does ASCII and newline + conversion. As usual, pass its output stream to it when creating it. + */ extern HTStream * HTNetToText PARAMS ((HTStream * sink)); @@ -421,7 +423,7 @@ HTFormatInit: Set up default presentations and conversions automatically be called the first time a conversion is needed. However, if you explicitly add some conversions (eg using HTLoadRules) then you may want also to explicitly call this to get the defaults as well. - + */ extern void HTFormatInit NOPARAMS; diff --git a/WWW/Library/Implementation/HTGroup.c b/WWW/Library/Implementation/HTGroup.c index a1b6fa4a..09340b30 100644 --- a/WWW/Library/Implementation/HTGroup.c +++ b/WWW/Library/Implementation/HTGroup.c @@ -67,7 +67,7 @@ typedef struct { GroupDef * translation; } Ref; - + PRIVATE void syntax_error ARGS3(FILE *, fp, char *, msg, @@ -111,7 +111,7 @@ PRIVATE AddressDefList *parse_address_part ARGS1(FILE *, fp) ref->name = NULL; ref->translation = NULL; StrAllocCopy(ref->name, HTlex_buffer); - + HTList_addObject(address_def_list, (void*)ref); if (only_one || (lex_item = lex(fp)) != LEX_ITEM_SEP) @@ -167,7 +167,7 @@ PRIVATE UserDefList *parse_user_part ARGS1(FILE *, fp) StrAllocCopy(ref->name, HTlex_buffer); HTList_addObject(user_def_list, (void*)ref); - + if (only_one || (lex_item = lex(fp)) != LEX_ITEM_SEP) break; /* @@ -288,9 +288,9 @@ PUBLIC GroupDef *HTAA_parseGroupDef ARGS1(FILE *, fp) if ((lex_item = lex(fp)) != LEX_REC_SEP) { syntax_error(fp, "Garbage after group definition", lex_item); } - + return group_def; -} +} PRIVATE GroupDef *parse_group_decl ARGS1(FILE *, fp) @@ -324,7 +324,7 @@ PRIVATE GroupDef *parse_group_decl ARGS1(FILE *, fp) return group_def; } - + /* @@ -380,10 +380,10 @@ PRIVATE GroupDefList *parse_group_file ARGS1(FILE *, fp) { GroupDefList *group_def_list = HTList_new(); GroupDef *group_def; - + while (NULL != (group_def = parse_group_decl(fp))) add_group_def(group_def_list, group_def); - + return group_def_list; } @@ -452,7 +452,7 @@ PRIVATE void print_group_def_list ARGS1(GroupDefList *, group_list) { GroupDefList *cur = group_list; GroupDef *group_def; - + while (NULL != (group_def = (GroupDef*)HTList_nextObject(cur))) HTAA_printGroupDef(group_def); } @@ -509,8 +509,8 @@ PRIVATE BOOL part_match ARGS2(CONST char *, tcur, /* PRIVATE ip_number_match() ** MATCH INET NUMBER AGAINST AN INET NUMBER MASK ** ON ENTRY: -** template mask to match agaist, e.g. 128.141.*.* -** the_inet_addr actual inet address, e.g. 128.141.201.74 +** template mask to match agaist, e.g., 128.141.*.* +** the_inet_addr actual inet address, e.g., 128.141.201.74 ** ** ON EXIT: ** returns YES, if match; NO, if not. @@ -521,7 +521,7 @@ PRIVATE BOOL ip_number_match ARGS2(CONST char *, template, CONST char *tcur = template; CONST char *icur = the_inet_addr; int cnt; - + for (cnt=0; cnt<4; cnt++) { if (!tcur || !icur || !part_match(tcur, icur)) return NO; @@ -568,9 +568,9 @@ PRIVATE BOOL is_domain_mask ARGS1(CONST char *, mask) /* PRIVATE ip_mask_match() ** MATCH AN IP NUMBER MASK OR IP NAME MASK ** AGAINST ACTUAL IP NUMBER OR IP NAME -** +** ** ON ENTRY: -** mask mask. Mask may be either an inet number +** mask mask. Mask may be either an inet number ** mask or a domain name mask, ** e.g. ** 128.141.*.* @@ -614,7 +614,7 @@ PRIVATE BOOL ip_in_def_list ARGS3(AddressDefList *, address_def_list, Ref *ref; while (NULL != (ref = (Ref*)HTList_nextObject(cur))) { - /* Value of ref->translation is ignored, i.e. */ + /* Value of ref->translation is ignored, i.e., */ /* no recursion for ip address tamplates. */ if (ip_mask_match(ref->name, ip_number, ip_name)) return YES; @@ -719,7 +719,7 @@ PUBLIC HTAAFailReasonType HTAA_userAndInetInGroup ARGS4(GroupDef *, group, while (NULL != (item = (Item*)HTList_nextObject(cur1))) { if (!item->address_def_list || /* Any address allowed */ ip_in_def_list(item->address_def_list, ip_number, ip_name)) { - + if (!item->user_def_list) /* Any user allowed */ return HTAA_OK; else { @@ -727,7 +727,7 @@ PUBLIC HTAAFailReasonType HTAA_userAndInetInGroup ARGS4(GroupDef *, group, Ref *ref; while (NULL != (ref = (Ref*)HTList_nextObject(cur2))) { - + if (ref->translation) { /* Group, check recursively */ reason = HTAA_userAndInetInGroup(ref->translation, username, @@ -748,7 +748,7 @@ PUBLIC HTAAFailReasonType HTAA_userAndInetInGroup ARGS4(GroupDef *, group, } } /* while items in group */ } /* valid parameters */ - + return reason; /* No match, or invalid parameters */ } diff --git a/WWW/Library/Implementation/HTGroup.h b/WWW/Library/Implementation/HTGroup.h index c578d3c3..80f7dacf 100644 --- a/WWW/Library/Implementation/HTGroup.h +++ b/WWW/Library/Implementation/HTGroup.h @@ -1,5 +1,5 @@ /* GROUP FILE ROUTINES - + */ #ifndef HTGROUP_H @@ -8,11 +8,11 @@ #include <HTList.h> #ifdef SHORT_NAMES -#define HTAApGrD HTAA_parseGroupDef -#define HTAArGrR HTAA_resolveGroupReferences -#define HTAApGrD HTAA_printGroupDef -#define HTAAGD_d GroupDef_delete -#define HTAAuIIG HTAA_userAndInetInGroup +#define HTAA_parseGroupDef HTAApGrD +#define HTAA_resolveGroupReferences HTAArGrR +#define HTAA_printGroupDef HTAApGrD +#define GroupDef_delete HTAAGD_d +#define HTAA_userAndInetInGroup HTAAuIIG #endif /* SHORT_NAMES */ typedef HTList GroupDefList; @@ -48,63 +48,63 @@ Group definition grammar string "sequence of alphanumeric characters" - + user_name string - + group_name string - + group_ref group_name - + user_def user_name | group_ref - + user_def_list user_def { ',' user_def } - + user_part user_def | '(' user_def_list ')' - + templ - + "sequence of alphanumeric characters and '*'s" - + ip_number_mask templ '.' templ '.' templ '.' templ - + domain_name_mask templ { '.' templ } - + address - + ip_number_mask | domain_name_mask - + address_def - + address - + address_def_list address_def { ',' address_def } - + address_part address_def | '(' address_def_list ')' - + item [user_part] ['@' address_part] - + item_list item { ',' item } - + group_def item_list - + group_decl group_name ':' group_def - + PARSE GROUP DEFINITION - + */ PUBLIC GroupDef *HTAA_parseGroupDef PARAMS((FILE * fp)); @@ -114,7 +114,7 @@ Fill in Pointers to referenced Group Definitions in a Group Definition References to groups (by their name) are resolved from group_def_list and pointers to those structures are added to group_def. - + */ PUBLIC void HTAA_resolveGroupReferences PARAMS((GroupDef * group_def, @@ -125,7 +125,7 @@ Read Group File (and do caching) If group file is already in cache returns a pointer to previously read group definition list. - + */ PUBLIC GroupDefList *HTAA_readGroupFile PARAMS((CONST char * filename)); @@ -133,9 +133,9 @@ PUBLIC GroupDefList *HTAA_readGroupFile PARAMS((CONST char * filename)); Delete Group Definition - Groups in cache should never be freed by this function. This should only be used to + Groups in cache should never be freed by this function. This should only be used to free group definitions read by HTAA_parseGroupDef. - + */ PUBLIC void GroupDef_delete PARAMS((GroupDef * group_def)); @@ -151,7 +151,7 @@ PUBLIC void HTAA_printGroupDef PARAMS((GroupDef * group_def)); Does a User Belong to a Given Set of Groups This function checks both the username and the internet address. - + */ /* PUBLIC HTAA_userAndInetInGroup() diff --git a/WWW/Library/Implementation/HTHistory.c b/WWW/Library/Implementation/HTHistory.c index fab1edc5..d314c0f5 100644 --- a/WWW/Library/Implementation/HTHistory.c +++ b/WWW/Library/Implementation/HTHistory.c @@ -58,7 +58,7 @@ HTAnchor * HTHistory_moveBy 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); + int i = HTList_indexOf (kids, last); HTAnchor * nextOne = (HTAnchor *)HTList_objectAt (kids, i - offset); if (nextOne) { HTAnchor * destination = HTAnchor_followMainLink (nextOne); @@ -87,7 +87,7 @@ BOOL HTHistory_canMoveBy 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); + 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... */ @@ -130,7 +130,7 @@ HTAnchor * HTHistory_recall ** ** This is needed in order to check the validity of certain commands ** for menus, etc. -(not needed for now. Use canBacktrack, etc.) +(not needed for now. Use canBacktrack, etc.) int HTHistory_count NOARGS { diff --git a/WWW/Library/Implementation/HTHistory.h b/WWW/Library/Implementation/HTHistory.h index dc953d82..38d08e0e 100644 --- a/WWW/Library/Implementation/HTHistory.h +++ b/WWW/Library/Implementation/HTHistory.h @@ -91,7 +91,7 @@ extern HTAnchor * HTHistory_recall ** ** This is needed in order to check the validity of certain commands ** for menus, etc. -(not needed for now. Use canBacktrack, etc.) +(not needed for now. Use canBacktrack, etc.) extern int HTHistory_count NOPARAMS; */ diff --git a/WWW/Library/Implementation/HTLex.c b/WWW/Library/Implementation/HTLex.c index 633286de..20a5d7ba 100644 --- a/WWW/Library/Implementation/HTLex.c +++ b/WWW/Library/Implementation/HTLex.c @@ -48,7 +48,7 @@ PUBLIC LexItem lex ARGS1(FILE *, fp) if (fp != cache) { /* This cache doesn't work ok because the system */ cache = fp; /* often assign same FILE structure the next open */ - HTlex_line = 1; /* file. So, if there are syntax errors in setup */ + HTlex_line = 1; /* file. So, if there are syntax errors in setup */ } /* files it may confuse things later on. */ if (lex_pushed_back != LEX_NONE) { diff --git a/WWW/Library/Implementation/HTMIME.h b/WWW/Library/Implementation/HTMIME.h index 88130d70..ac0a15c6 100644 --- a/WWW/Library/Implementation/HTMIME.h +++ b/WWW/Library/Implementation/HTMIME.h @@ -1,24 +1,24 @@ /* /Net/dxcern/userd/timbl/hypertext/WWW/Library/Implementation/HTMIME.html MIME PARSER - - The MIME parser stream presents a MIME document. It recursively invokes the format + + The MIME parser stream presents a MIME document. It recursively invokes the format manager to handle embedded formats. - + As well as stripping off and parsing the headers, the MIME parser has to parse any weirld MIME encodings it may meet within the body parts of messages, and must deal with multipart messages. - + This module is implemented to the level necessary for operation with WWW, but is not currently complete for any arbitrary MIME message. - + Check the source for latest additions to functionality. - + The MIME parser is complicated by the fact that WWW allows real binary to be sent, not - ASCII encoded. Therefore the netascii decoding is included in this module. One cannot - layer it by converting first from Net to local text, then decoding it. Of course, for + ASCII encoded. Therefore the netascii decoding is included in this module. One cannot + layer it by converting first from Net to local text, then decoding it. Of course, for local files, the net ascii decoding is not needed. There are therefore two creation routines. - + */ #ifndef HTMIME_H #define HTMIME_H @@ -39,7 +39,7 @@ extern void HTMIME_TrimDoubleQuotes PARAMS(( /* INPUT: LOCAL TEXT - + */ extern HTStream * HTMIMEConvert PARAMS((HTPresentation * pres, HTParentAnchor * anchor, @@ -47,7 +47,7 @@ extern HTStream * HTMIMEConvert PARAMS((HTPresentation * pres, /* INPUT: NET ASCII - + */ extern HTStream * HTNetMIME PARAMS((HTPresentation * pres, HTParentAnchor * anchor, @@ -57,7 +57,7 @@ extern HTStream * HTNetMIME PARAMS((HTPresentation * pres, /* For handling Japanese headers. - + */ extern void HTmmdec_base64 PARAMS(( char * t, diff --git a/WWW/Library/Implementation/HTMLGen.c b/WWW/Library/Implementation/HTMLGen.c index 9581081f..9e5ac447 100644 --- a/WWW/Library/Implementation/HTMLGen.c +++ b/WWW/Library/Implementation/HTMLGen.c @@ -107,11 +107,11 @@ PRIVATE void allow_break ARGS3( ** ------------------ ** ** The tricky bits are the line break handling. This attempts -** to synchrononise line breaks on sentence or phrase ends. This +** to synchrononise line breaks on sentence or phrase ends. This ** is important if one stores SGML files in a line-oriented code ** repository, so that if a small change is made, line ends don't ** shift in a ripple-through to apparently change a large part of the -** file. We give extra "cleanness" to spaces appearing directly +** file. We give extra "cleanness" to spaces appearing directly ** after periods (full stops), [semi]colons and commas. ** This should make the source files easier to read and modify ** by hand, too, though this is not a primary design consideration. TBL diff --git a/WWW/Library/Implementation/HTNews.c b/WWW/Library/Implementation/HTNews.c index ed14d41f..966dcdf6 100644 --- a/WWW/Library/Implementation/HTNews.c +++ b/WWW/Library/Implementation/HTNews.c @@ -2078,7 +2078,7 @@ PRIVATE int HTLoadNews ARGS4( /* p1 = HTParse(arg, "", PARSE_PATH | PARSE_PUNCTUATION); */ /* ** Don't use HTParse because news: access doesn't follow traditional - ** rules. For instance, if the article reference contains a '#', + ** rules. For instance, if the article reference contains a '#', ** the rest of it is lost -- JFG 10/7/92, from a bug report */ } else if (!strncasecomp (arg, "nntp:", 5)) { @@ -2402,7 +2402,7 @@ PRIVATE int HTLoadNews ARGS4( if (retries < 1) continue; sprintf(message, - gettext("Can't read news info. News host %.20s responded: %.200s"), + gettext("Can't read news info. News host %.20s responded: %.200s"), NewsHost, response_text); return HTLoadError(stream, 500, message); } diff --git a/WWW/Library/Implementation/HTParse.c b/WWW/Library/Implementation/HTParse.c index 04a1d446..d3805794 100644 --- a/WWW/Library/Implementation/HTParse.c +++ b/WWW/Library/Implementation/HTParse.c @@ -577,7 +577,7 @@ PUBLIC void HTSimplify ARGS1( ** ------------------- ** ** This function creates and returns a string which gives an expression of -** one address as related to another. Where there is no relation, an absolute +** one address as related to another. Where there is no relation, an absolute ** address is retured. ** ** On entry, @@ -774,7 +774,7 @@ PUBLIC char * HTUnEscape ARGS1( *q = from_hex(*p++) * 16; if (*p) /* - ** Careful! FROMASCII() may evaluate its arg more than once! + ** Careful! FROMASCII() may evaluate its arg more than once! */ /* S/390 -- gil -- 0221 */ *q = *q + from_hex(*p++) ; *q = FROMASCII(*q ); diff --git a/WWW/Library/Implementation/HTParse.h b/WWW/Library/Implementation/HTParse.h index bea789d0..0307327d 100644 --- a/WWW/Library/Implementation/HTParse.h +++ b/WWW/Library/Implementation/HTParse.h @@ -22,7 +22,7 @@ #define PARSE_ALL 31 /* -** The following are valid mask values. The terms are the BNF names +** The following are valid mask values. The terms are the BNF names ** in the URL document. */ #define URL_XALPHAS (unsigned char) 1 @@ -81,7 +81,7 @@ extern void HTSimplify PARAMS(( ** ------------------- ** ** This function creates and returns a string which gives an expression of -** one address as related to another. Where there is no relation, an absolute +** one address as related to another. Where there is no relation, an absolute ** address is retured. ** ** On entry, diff --git a/WWW/Library/Implementation/HTPasswd.c b/WWW/Library/Implementation/HTPasswd.c index 764882d4..f5bc7be4 100644 --- a/WWW/Library/Implementation/HTPasswd.c +++ b/WWW/Library/Implementation/HTPasswd.c @@ -7,7 +7,7 @@ ** MD Mark Donszelmann duns@vxdeop.cern.ch ** ** HISTORY: -** 7 Nov 93 MD free for crypt taken out (static data returned) +** 7 Nov 93 MD free for crypt taken out (static data returned) ** ** ** BUGS: @@ -40,7 +40,7 @@ PRIVATE char salt_chars [65] = ** fp is the password file from which records are read from. ** ** ON EXIT: -** returns nothing. File read pointer is located at the beginning +** returns nothing. File read pointer is located at the beginning ** of the next record. */ PRIVATE void next_rec ARGS1(FILE *, fp) @@ -71,7 +71,7 @@ PRIVATE void next_rec ARGS1(FILE *, fp) ** 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 +** 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 @@ -199,7 +199,7 @@ PUBLIC BOOL HTAA_passwdMatch ARGS2(CONST char *, password, ** ON EXIT: ** returns EOF on end of file, ** otherwise the number of read fields -** (i.e. in a correct case returns 2). +** (i.e., in a correct case returns 2). ** out_username contains the null-terminated read username. ** out_password contains the null-terminated read password. ** @@ -215,7 +215,7 @@ PUBLIC int HTAAFile_readPasswdRec ARGS3(FILE *, fp, char *, out_password) { int terminator; - + terminator = HTAAFile_readField(fp, out_username, MAX_USERNAME_LEN); if (terminator == EOF) { /* End of file */ @@ -257,7 +257,7 @@ PUBLIC BOOL HTAA_checkPassword ARGS3(CONST char *, username, 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"); @@ -285,7 +285,7 @@ PUBLIC BOOL HTAA_checkPassword ARGS3(CONST char *, username, } while (status != EOF); fclose(fp); - + CTRACE(tfp, "HTAAFile_checkPassword: (%s,%s) %scorrect\n", username, password, ((status != EOF) ? "" : "in")); diff --git a/WWW/Library/Implementation/HTPasswd.h b/WWW/Library/Implementation/HTPasswd.h index 09007192..f02dbc9f 100644 --- a/WWW/Library/Implementation/HTPasswd.h +++ b/WWW/Library/Implementation/HTPasswd.h @@ -1,5 +1,5 @@ /* PASSWORD FILE ROUTINES - + */ #ifndef HTPASSWD_H @@ -8,10 +8,10 @@ #include <HTList.h> #ifdef SHORT_NAMES -#define HTAAenPw HTAA_encryptPasswd -#define HTAApwMa HTAA_passwdMatch -#define HTAAFrPR HTAAFile_readPasswdRec -#define HTAAchPw HTAA_checkPasswd +#define HTAA_encryptPasswd HTAAenPw +#define HTAA_passwdMatch HTAApwMa +#define HTAAFile_readPasswdRec HTAAFrPR +#define HTAA_checkPasswd HTAAchPw #endif /* SHORT_NAMES */ /* @@ -19,12 +19,12 @@ 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. - + 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() @@ -63,7 +63,7 @@ Password File Maintenance Routines ** 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 +** 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 @@ -102,7 +102,7 @@ PUBLIC BOOL HTAA_passwdMatch PARAMS((CONST char * password, ** ON EXIT: ** returns EOF on end of file, ** otherwise the number of read fields -** (i.e. in a correct case returns 2). +** (i.e., in a correct case returns 2). ** out_username contains the null-terminated read username. ** out_password contains the null-terminated read password. ** diff --git a/WWW/Library/Implementation/HTRules.h b/WWW/Library/Implementation/HTRules.h index 2bbe6def..d34c03ac 100644 --- a/WWW/Library/Implementation/HTRules.h +++ b/WWW/Library/Implementation/HTRules.h @@ -1,19 +1,19 @@ /* Configuration Manager for libwww * CONFIGURATION MANAGER - * + * * Author Tim Berners-Lee/CERN. Public domain. Please mail changes to * timbl@info.cern.ch. - * + * * The configuration information loaded includes tables (file suffixes, * presentation methods) in other modules. The most likely routines needed by * developers will be: - * + * * HTSetConfiguration to load configuration information. - * + * * HTLoadRules to load a whole file of configuration information - * + * * HTTranslate to translate a URL using the rule table. - * + * */ #ifndef HTRULE_H #define HTRULE_H @@ -30,7 +30,7 @@ typedef enum _HTRuleOp { } HTRuleOp; #ifdef SHORT_NAMES -#define HTSearSc HTSearchScript +#define HTSearchScript HTSearSc #endif /*SHORT_NAMES*/ /* @@ -38,11 +38,11 @@ typedef enum _HTRuleOp { Server Side Script Execution If a URL starts with /htbin/ it is understood to mean a script execution request on - server. This feature needs to be turned on by setting HTBinDir by the htbin rule. + server. This feature needs to be turned on by setting HTBinDir by the htbin rule. Index searching is enabled by setting HTSearchScript into the name of script in BinDir doing the actual search by search rule (BinDir must also be set in this case, of course). - + */ extern char * HTBinDir; /* Physical /htbin location */ @@ -53,20 +53,20 @@ extern char * HTSearchScript; /* Search script name */ HTAddRule: Add rule to the list ON ENTRY, - + pattern points to 0-terminated string containing a single "*" - + equiv points to the equivalent string with * for the place where the text matched by * goes. - + ON EXIT, - + returns 0 if success, -1 if error. - + Note that if BYTE_ADDRESSING is set, the three blocks required are allocated and - deallocated as one. This will save time and storage, when malloc's allocation units are + deallocated as one. This will save time and storage, when malloc's allocation units are large. - + */ extern int HTAddRule PARAMS((HTRuleOp op, CONST char * pattern, CONST char * equiv)); @@ -76,12 +76,12 @@ extern int HTAddRule PARAMS((HTRuleOp op, CONST char * pattern, CONST char * equ HTClearRules: Clear all rules ON EXIT, - + Rule file There are no rules - + returns 0 if success, -1 if error. - + */ extern int HTClearRules PARAMS((void)); @@ -91,19 +91,19 @@ extern int HTClearRules PARAMS((void)); HTTranslate: Translate by rules */ - + /* ON ENTRY, - + required points to a string whose equivalent value is neeed - + ON EXIT, - + returns the address of the equivalent string allocated from the heap which the CALLER MUST FREE. If no translation occured, then it is a copy of the original. - + */ extern char * HTTranslate PARAMS((CONST char * required)); @@ -112,12 +112,12 @@ extern char * HTTranslate PARAMS((CONST char * required)); HTSetConfiguration: Load one line of configuration information ON ENTRY, - + config is a string in the syntax of a rule file line. - + This routine may be used for loading configuration information from sources other than the rule file, for example INI files for X resources. - + */ extern int HTSetConfiguration PARAMS((CONST char * config)); @@ -127,16 +127,16 @@ extern int HTSetConfiguration PARAMS((CONST char * config)); HtLoadRules: Load the rules from a file ON ENTRY, - + Rule table Rules can be in any state - + ON EXIT, - - Rule table Any existing rules will have been kept. Any new rules will have + + Rule table Any existing rules will have been kept. Any new rules will have been loaded on top, so as to be tried first. - + Returns 0 if no error. - + */ extern int HTLoadRules PARAMS((CONST char * filename)); diff --git a/WWW/Library/Implementation/HTString.c b/WWW/Library/Implementation/HTString.c index b5ed973a..e2451c83 100644 --- a/WWW/Library/Implementation/HTString.c +++ b/WWW/Library/Implementation/HTString.c @@ -449,6 +449,7 @@ PRIVATE char * StrAllocVsprintf ARGS4( done = FALSE; type = *fmt; break; + case 'o': /* FALLTHRU */ case 'i': /* FALLTHRU */ case 'd': /* FALLTHRU */ case 'u': /* FALLTHRU */ @@ -600,3 +601,156 @@ PUBLIC char * HTSprintf0 (va_alist) return (result); } + +/* + * Returns a quoted or escaped form of the given parameter, suitable for use in + * a command string. + */ +#if USE_QUOTED_PARAMETER +#define S_QUOTE '\'' +#define D_QUOTE '"' +PUBLIC char *HTQuoteParameter ARGS1( + CONST char *, parameter) +{ + size_t i; + size_t last = strlen(parameter); + size_t n = 0; + size_t quoted = 0; + char * result; + + for (i=0; i < last; ++i) + if (strchr("\\&#$^*?(){}<>\"';`|", parameter[i]) != 0 + || isspace(parameter[i])) + ++quoted; + + result = (char *)malloc(last + 5*quoted + 3); + if (result == NULL) + outofmem(__FILE__, "HTQuoteParameter"); + + n = 0; + if (quoted) + result[n++] = S_QUOTE; + for (i = 0; i < last; i++) { + if (parameter[i] == S_QUOTE) { + result[n++] = S_QUOTE; + result[n++] = D_QUOTE; + result[n++] = parameter[i]; + result[n++] = D_QUOTE; + result[n++] = S_QUOTE; + } else if (parameter[i] == '\\') { + result[n++] = parameter[i]; + result[n++] = parameter[i]; + } else { + result[n++] = parameter[i]; + } + } + if (quoted) + result[n++] = S_QUOTE; + result[n] = '\0'; + return result; +} +#endif + +#define HTIsParam(string) ((string[0] == '%' && string[1] == 's')) + +/* + * Returns the number of "%s" tokens in a system command-template. + */ +PUBLIC int HTCountCommandArgs ARGS1( + CONST char *, command) +{ + int number = 0; + while (command[0] != 0) { + if (HTIsParam(command)) + number++; + command++; + } + return number; +} + +/* + * Returns a pointer into the given string after the given parameter number + */ +PRIVATE CONST char *HTAfterCommandArg ARGS2( + CONST char *, command, + int, number) +{ + while (number > 0) { + if (command[0] != 0) { + if (HTIsParam(command)) { + number--; + command++; + } + command++; + } else { + break; + } + } + return command; +} + +/* + * Append string-parameter to a system command that we are constructing. The + * string is a complete parameter (which is a necessary assumption so we can + * quote it properly). We're given the index of the newest parameter we're + * processing. Zero indicates none, so a value of '1' indicates that we copy + * from the beginning of the command string up to the first parameter, + * substitute the quoted parameter and return the resul. + * + * Parameters are substituted at "%s" tokens, like printf. Other printf-style + * tokens are not substituted; they are passed through without change. + */ +PUBLIC void HTAddParam ARGS4( + char **, result, + CONST char *, command, + int, number, + CONST char *, parameter) +{ + CONST char *last = HTAfterCommandArg(command, number - 1); + CONST char *next = last; + char *quoted; + + if (number > 0) { + if (number <= 1) { + FREE(*result); + } + if (parameter == 0) + parameter = ""; + while (next[0] != 0) { + if (HTIsParam(next)) { + if (next != last) { + size_t len = (next - last) + + ((*result != 0) ? strlen(*result) : 0); + HTSACat(result, last); + (*result)[len] = 0; + } +#if USE_QUOTED_PARAMETER + quoted = HTQuoteParameter(parameter); + HTSACat(result, quoted); + FREE(quoted); +#else + HTSACat(result, parameter); +#endif + CTRACE(tfp, "PARAM-ADD:%s\n", *result); + return; + } + next++; + } + } +} + +/* + * Append the remaining command-string to a system command (compare with + * HTAddParam). Any remaining "%s" tokens are copied as-is. + */ +PUBLIC void HTEndParam ARGS3( + char **, result, + CONST char *, command, + int, number) +{ + CONST char *last = HTAfterCommandArg(command, number); + if (last[0] != 0) { + HTSACat(result, last); + } + CTRACE(tfp, "PARAM-END:%s\n", *result); +} diff --git a/WWW/Library/Implementation/HTString.h b/WWW/Library/Implementation/HTString.h index 6e4e5591..26c1fec2 100644 --- a/WWW/Library/Implementation/HTString.h +++ b/WWW/Library/Implementation/HTString.h @@ -63,4 +63,20 @@ extern char * HTSprintf () GCC_PRINTFLIKE(2,3); extern char * HTSprintf0 () GCC_PRINTFLIKE(2,3); #endif +#if defined(VMS) || defined(DOSPATH) || defined(__EMX__) +#define USE_QUOTED_PARAMETER 0 +#else +#define USE_QUOTED_PARAMETER 1 +#endif + +#if USE_QUOTED_PARAMETER +extern char *HTQuoteParameter PARAMS((CONST char *parameter)); +#else +#define HTQuoteParameter(parameter) parameter /* simplify ifdef'ing */ +#endif + +extern int HTCountCommandArgs PARAMS((CONST char * command)); +extern void HTAddParam PARAMS((char ** result, CONST char * command, int number, CONST char * parameter)); +extern void HTEndParam PARAMS((char ** result, CONST char * command, int number)); + #endif /* HTSTRING_H */ diff --git a/WWW/Library/Implementation/HTStyle.c b/WWW/Library/Implementation/HTStyle.c index b1a834f9..77c63aa8 100644 --- a/WWW/Library/Implementation/HTStyle.c +++ b/WWW/Library/Implementation/HTStyle.c @@ -6,7 +6,7 @@ ** ** A StyleSheet is a collection of styles, defining the ** translation necessary to -** represent a document. It is a linked list of styles. +** represent a document. It is a linked list of styles. */ #include <HTUtils.h> @@ -141,7 +141,7 @@ HTStyle * HTStyleDump (HTStyle * style) { int tab; NXTextStyle *p = style->paragraph; - printf(gettext("Style %d `%s' SGML:%s. Font %s %.1f point.\n"), + printf(gettext("Style %d `%s' SGML:%s. Font %s %.1f point.\n"), style, style->name, style->SGMLTag, @@ -201,7 +201,7 @@ HTStyle * HTStyleMatching (HTStyleSheet * self, HTStyle *style) ** ------------------------------------------ ** ** This heuristic is used for guessing the style for a run of -** text which has been pasted in. In order, we try: +** text which has been pasted in. In order, we try: ** ** A style whose paragraph structure is actually used by the run. ** A style matching in font diff --git a/WWW/Library/Implementation/HTStyle.h b/WWW/Library/Implementation/HTStyle.h index b4fcedaa..3075a2c1 100644 --- a/WWW/Library/Implementation/HTStyle.h +++ b/WWW/Library/Implementation/HTStyle.h @@ -5,7 +5,7 @@ physical representation. A StyleSheet is a collection of styles, defining the translation necessary to represent - a document. It is a linked list of styles. + a document. It is a linked list of styles. Overriding this module @@ -21,7 +21,7 @@ Overriding this module be compiled with a knowledge of the It we take it out of the library, then of course HTStyle could be declared as an - undefined structure. The only references to it are in the structure-flattening code + undefined structure. The only references to it are in the structure-flattening code HTML.c and HTPlain.c, which only use HTStypeNamed(). You can in any case override this function in your own code, which will prevent the diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c index 1f201aea..8ae0e0c3 100644 --- a/WWW/Library/Implementation/HTTCP.c +++ b/WWW/Library/Implementation/HTTCP.c @@ -17,7 +17,6 @@ */ #include <HTUtils.h> -#include <HTAccess.h> #include <HTParse.h> #include <HTAlert.h> #include <HTTCP.h> @@ -331,7 +330,7 @@ PRIVATE void quench ARGS1( ** soc_in points to the binary internet or decnet address field. ** ** On exit, -** *soc_in is filled in. If no port is specified in str, that +** *soc_in is filled in. If no port is specified in str, that ** field is left unchanged in *soc_in. */ PUBLIC int HTParseInet ARGS2( @@ -538,7 +537,7 @@ PUBLIC int HTParseInet ARGS2( ** selectable! /dev/null isn't, on some systems, which ** makes some useful Lynx invocations fail. -BL */ - if (isatty(fileno(stdin))) FD_SET(fileno(stdin), &readfds); + if (isatty(fileno(stdin))) FD_SET(fileno(stdin), &readfds); #endif /* USE_SLANG */ timeout.tv_sec = 1; timeout.tv_usec = 0; @@ -693,8 +692,8 @@ PUBLIC int HTParseInet ARGS2( #if defined(VMS) && defined(CMU_TCP) /* ** In LIBCMU, phost->h_length contains not the length of one address - ** (four bytes) but the number of bytes in *h_addr, i.e. some multiple - ** of four. Thus we need to hard code the value here, and remember to + ** (four bytes) but the number of bytes in *h_addr, i.e., some multiple + ** of four. Thus we need to hard code the value here, and remember to ** change it if/when IP addresses change in size. :-( LIBCMU is no ** longer supported, and CMU users are encouraged to obtain and use ** SOCKETSHR/NETLIB instead. - S. Bjorndahl @@ -1099,7 +1098,7 @@ PUBLIC int HTDoRead ARGS3( fd_set readfds; struct timeval timeout; int tries=0; -#ifdef UCX +#if defined(UNIX) || defined(UCX) int nb; #endif /* UCX, BSN */ @@ -1156,8 +1155,25 @@ PUBLIC int HTDoRead ARGS3( } #if !defined(UCX) || !defined(VAXC) +#ifdef UNIX + while ((nb = SOCKET_READ (fildes, buf, nbyte)) == -1) { + int saved_errno = errno; + if (errno == EINTR) + continue; +#ifdef ERESTARTSYS + if (errno == ERESTARTSYS) + continue; +#endif /* ERESTARTSYS */ + HTInetStatus("read"); + errno = saved_errno; /* our caller may check it */ + break; + } + return nb; +#else /* UNIX */ return SOCKET_READ (fildes, buf, nbyte); -#else +#endif /* !UNIX */ + +#else /* UCX && VAXC */ /* ** VAXC and UCX problem only. */ diff --git a/WWW/Library/Implementation/HTTCP.h b/WWW/Library/Implementation/HTTCP.h index a1a428c9..89837fe7 100644 --- a/WWW/Library/Implementation/HTTCP.h +++ b/WWW/Library/Implementation/HTTCP.h @@ -1,8 +1,8 @@ /* /Net/dxcern/userd/timbl/hypertext/WWW/Library/src/HTTCP.html GENERIC TCP/IP COMMUNICATION - + This module has the common code for handling TCP/IP connections etc. - + */ #ifndef HTTCP_H #define HTTCP_H @@ -79,7 +79,7 @@ extern unsigned int HTCardinal PARAMS((int *pstatus, ** sin points to the binary internet or decnet address field. ** ** On exit: -** *sin is filled in. If no port is specified in str, that +** *sin is filled in. If no port is specified in str, that ** field is left unchanged in *sin. */ #ifdef __STDC__ diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c index 2f2e4c45..f6e87fb7 100644 --- a/WWW/Library/Implementation/HTTP.c +++ b/WWW/Library/Implementation/HTTP.c @@ -736,8 +736,8 @@ try_again: } /* Scope of loop variables */ - /* We now have a terminated unfolded line. Parse it. - ** ------------------------------------------------- + /* We now have a terminated unfolded line. Parse it. + ** -------------------------------------------------- */ CTRACE(tfp, "HTTP: Rx: %s\n", line_buffer); @@ -802,7 +802,7 @@ try_again: server_version[3] != 'P' || server_version[4] != '/' || server_version[6] != '.') { /* - * Ugh! An HTTP0 reply, + * Ugh! An HTTP0 reply, */ HTAtom * encoding; @@ -1105,9 +1105,9 @@ try_again: * Don't make the redirection permanent * if we have POST content. - FM */ - CTRACE(tfp, "HTTP: Have POST content. Treating 301 (Permanent) as Temporary.\n"); + CTRACE(tfp, "HTTP: Have POST content. Treating 301 (Permanent) as Temporary.\n"); HTAlert( - gettext("Have POST content. Treating Permanent Redirection as Temporary.\n")); + gettext("Have POST content. Treating Permanent Redirection as Temporary.\n")); } else { permanent_redirection = TRUE; } diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c index cc366cf7..dd8a7b35 100644 --- a/WWW/Library/Implementation/HTTelnet.c +++ b/WWW/Library/Implementation/HTTelnet.c @@ -10,7 +10,7 @@ ** 26 Jun 92 When over DECnet, suppressed FTP, Gopher and News. (JFG) ** 6 Oct 92 Moved HTClientHost and logfile into here. (TBL) ** 17 Dec 92 Tn3270 added, bug fix. (DD) -** 2 Feb 93 Split from HTAccess.c. Registration.(TBL) +** 2 Feb 93 Split from HTAccess.c. Registration.(TBL) */ #include <HTUtils.h> @@ -33,8 +33,6 @@ #include <LYStrings.h> #include <LYLeaks.h> -#define HT_NO_DATA -9999 - PRIVATE void do_system ARGS1(char *, command) { CTRACE(tfp, "HTTelnet: Command is: %s\n\n", command); @@ -87,20 +85,20 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host) if (port) *port++ = '\0'; /* Split */ - if (!hostname || *hostname == '\0') { - CTRACE(tfp, "HTTelnet: No host specified!\n"); - return HT_NO_DATA; - } + if (!hostname || *hostname == '\0') { + CTRACE(tfp, "HTTelnet: No host specified!\n"); + return HT_NO_DATA; + } - if (user) { - password = strchr(user, ':'); - if (password) { - *password++ = '\0'; + if (user) { + password = strchr(user, ':'); + if (password) { + *password++ = '\0'; + } } - } -/* If the person is already telnetting etc, forbid hopping */ -/* This is a security precaution, for us and remote site */ + /* If the person is already telnetting etc, forbid hopping */ + /* This is a security precaution, for us and remote site */ if (HTSecure) { @@ -126,9 +124,9 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host) return HT_NO_DATA; } -/* Not all telnet servers get it even if user name is specified -** so we always tell the guy what to log in as -*/ + /* Not all telnet servers get it even if user name is specified + ** so we always tell the guy what to log in as + */ if (user && login_protocol != rlogin) printf("When you are connected, log in as: %s\n", user); if (password && login_protocol != rlogin) @@ -139,11 +137,14 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host) * You may need to define this yourself. */ #if defined(NeXT) && defined(NeXTSTEP) && NeXTSTEP<=20100 - HTSprintf0(&command, "%s%s%s %s %s", TELNET_COMMAND, - user ? " -l " : "", - user ? user : "", - hostname, - port ? port : ""); +#define FMT_TELNET "%s%s%s %s %s" + + HTAddParam(&command, FMT_TELNET, 1, TELNET_COMMAND); + HTAddParam(&command, FMT_TELNET, 2, user ? " -l " : ""); + HTAddParam(&command, FMT_TELNET, 3, user); + HTAddParam(&command, FMT_TELNET, 4, hostname); + HTAddParam(&command, FMT_TELNET, 5, port); + HTEndParam(&command, FMT_TELNET, 5); do_system(command); return HT_NO_DATA; /* Ok - it was done but no data */ @@ -153,21 +154,32 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host) /* Most unix machines suppport username only with rlogin */ #if defined(unix) || defined(DOSPATH) #ifndef TELNET_DONE + +#define FMT_RLOGIN "%s %s%s%s" +#define FMT_TN3270 "%s %s %s" +#define FMT_TELNET "%s %s %s" + if (login_protocol == rlogin) { - HTSprintf0(&command, "%s %s%s%s", RLOGIN_COMMAND, - hostname, - user ? " -l " : "", - user ? user : ""); + + HTAddParam(&command, FMT_RLOGIN, 1, RLOGIN_COMMAND); + HTAddParam(&command, FMT_RLOGIN, 2, hostname); + HTAddParam(&command, FMT_RLOGIN, 3, user ? " -l " : ""); + HTAddParam(&command, FMT_RLOGIN, 4, user); + HTEndParam(&command, FMT_RLOGIN, 4); } else if (login_protocol == tn3270) { - HTSprintf0(&command, "%s %s %s", TN3270_COMMAND, - hostname, - port ? port : ""); + + HTAddParam(&command, FMT_TN3270, 1, TN3270_COMMAND); + HTAddParam(&command, FMT_TN3270, 2, hostname); + HTAddParam(&command, FMT_TN3270, 3, port); + HTEndParam(&command, FMT_TN3270, 3); } else { /* TELNET */ - HTSprintf0(&command, "%s %s %s", TELNET_COMMAND, - hostname, - port ? port : ""); + + HTAddParam(&command, FMT_TELNET, 1, TELNET_COMMAND); + HTAddParam(&command, FMT_TELNET, 2, hostname); + HTAddParam(&command, FMT_TELNET, 3, port); + HTEndParam(&command, FMT_TELNET, 3); } #ifdef __DJGPP__ diff --git a/WWW/Library/Implementation/HTUU.c b/WWW/Library/Implementation/HTUU.c index c341c4b8..5465f89f 100644 --- a/WWW/Library/Implementation/HTUU.c +++ b/WWW/Library/Implementation/HTUU.c @@ -65,7 +65,7 @@ PRIVATE unsigned char pr2six[256]; * * Exit bufcoded contains the coded line. The first 4*nbytes/3 bytes * contain printing ASCII characters representing - * those binary bytes. This may include one or + * those binary bytes. This may include one or * two '=' characters used as padding at the end. * The last byte is a zero byte. * Returns the number of ASCII characters in "bufcoded". @@ -110,7 +110,7 @@ PUBLIC int HTUU_encode ARGS3(unsigned char *, bufin, * * Decode an ASCII-encoded buffer back to its original binary form. * - * Entry bufcoded points to a uuencoded string. It is + * Entry bufcoded points to a uuencoded string. It is * terminated by any character not in * the printable character table six2pr, but * leading whitespace is stripped. @@ -149,21 +149,21 @@ PUBLIC int HTUU_decode ARGS3(char *, bufcoded, for(j=0; j<64; j++) pr2six[(unsigned char)six2pr[j]] = (unsigned char)j; #if 0 - pr2six['A']= 0; pr2six['B']= 1; pr2six['C']= 2; pr2six['D']= 3; - pr2six['E']= 4; pr2six['F']= 5; pr2six['G']= 6; pr2six['H']= 7; - pr2six['I']= 8; pr2six['J']= 9; pr2six['K']=10; pr2six['L']=11; - pr2six['M']=12; pr2six['N']=13; pr2six['O']=14; pr2six['P']=15; - pr2six['Q']=16; pr2six['R']=17; pr2six['S']=18; pr2six['T']=19; - pr2six['U']=20; pr2six['V']=21; pr2six['W']=22; pr2six['X']=23; - pr2six['Y']=24; pr2six['Z']=25; pr2six['a']=26; pr2six['b']=27; - pr2six['c']=28; pr2six['d']=29; pr2six['e']=30; pr2six['f']=31; - pr2six['g']=32; pr2six['h']=33; pr2six['i']=34; pr2six['j']=35; - pr2six['k']=36; pr2six['l']=37; pr2six['m']=38; pr2six['n']=39; - pr2six['o']=40; pr2six['p']=41; pr2six['q']=42; pr2six['r']=43; - pr2six['s']=44; pr2six['t']=45; pr2six['u']=46; pr2six['v']=47; - pr2six['w']=48; pr2six['x']=49; pr2six['y']=50; pr2six['z']=51; - pr2six['0']=52; pr2six['1']=53; pr2six['2']=54; pr2six['3']=55; - pr2six['4']=56; pr2six['5']=57; pr2six['6']=58; pr2six['7']=59; + pr2six['A']= 0; pr2six['B']= 1; pr2six['C']= 2; pr2six['D']= 3; + pr2six['E']= 4; pr2six['F']= 5; pr2six['G']= 6; pr2six['H']= 7; + pr2six['I']= 8; pr2six['J']= 9; pr2six['K']=10; pr2six['L']=11; + pr2six['M']=12; pr2six['N']=13; pr2six['O']=14; pr2six['P']=15; + pr2six['Q']=16; pr2six['R']=17; pr2six['S']=18; pr2six['T']=19; + pr2six['U']=20; pr2six['V']=21; pr2six['W']=22; pr2six['X']=23; + pr2six['Y']=24; pr2six['Z']=25; pr2six['a']=26; pr2six['b']=27; + pr2six['c']=28; pr2six['d']=29; pr2six['e']=30; pr2six['f']=31; + pr2six['g']=32; pr2six['h']=33; pr2six['i']=34; pr2six['j']=35; + pr2six['k']=36; pr2six['l']=37; pr2six['m']=38; pr2six['n']=39; + pr2six['o']=40; pr2six['p']=41; pr2six['q']=42; pr2six['r']=43; + pr2six['s']=44; pr2six['t']=45; pr2six['u']=46; pr2six['v']=47; + pr2six['w']=48; pr2six['x']=49; pr2six['y']=50; pr2six['z']=51; + pr2six['0']=52; pr2six['1']=53; pr2six['2']=54; pr2six['3']=55; + pr2six['4']=56; pr2six['5']=57; pr2six['6']=58; pr2six['7']=59; pr2six['8']=60; pr2six['9']=61; pr2six['+']=62; pr2six['/']=63; #endif } @@ -185,7 +185,7 @@ PUBLIC int HTUU_decode ARGS3(char *, bufcoded, } bufin = bufcoded; - + while (nprbytes > 0) { *(bufout++) = (unsigned char) (DEC(*bufin) << 2 | DEC(bufin[1]) >> 4); *(bufout++) = (unsigned char) (DEC(bufin[1]) << 4 | DEC(bufin[2]) >> 2); @@ -193,7 +193,7 @@ PUBLIC int HTUU_decode ARGS3(char *, bufcoded, bufin += 4; nprbytes -= 4; } - + if(nprbytes & 03) { if(pr2six[(int)bufin[-2]] > MAXVAL) { nbytesdecoded -= 2; diff --git a/WWW/Library/Implementation/HTUU.h b/WWW/Library/Implementation/HTUU.h index 3594b276..8aa48fd6 100644 --- a/WWW/Library/Implementation/HTUU.h +++ b/WWW/Library/Implementation/HTUU.h @@ -1,11 +1,11 @@ /* ENCODING TO PRINTABLE CHARACTERS - + File module provides functions HTUU_encode() and HTUU_decode() which convert a buffer - of bytes to/from RFC 1113 printable encoding format. This technique is similar to the + of bytes to/from RFC 1113 printable encoding format. This technique is similar to the familiar Unix uuencode format in that it maps 6 binary bits to one ASCII character (or more aptly, 3 binary bytes to 4 ASCII characters). However, RFC 1113 does not use the same mapping to printable characters as uuencode. - + */ #ifndef HTUU_H diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h index 7e90dc8e..2706b0e5 100644 --- a/WWW/Library/Implementation/HTUtils.h +++ b/WWW/Library/Implementation/HTUtils.h @@ -1,14 +1,14 @@ /* Utility macros for the W3 code library MACROS FOR GENERAL USE - + See also: the system dependent file "tcp.h", which is included here. - + */ #ifndef DEBUG #define DEBUG /* Noone ever turns this off as trace is too important */ #endif /* Keep option for really small memory applications tho */ - + #ifndef HTUTILS_H #define HTUTILS_H @@ -82,7 +82,7 @@ #define HAVE_UTMP 1 #endif -#endif /* HAVE_CONFIG_H */ +#endif /* HAVE_CONFIG_H */ #ifndef LY_MAXPATH #define LY_MAXPATH 256 @@ -100,15 +100,15 @@ #define popen _popen #define pclose _pclose #endif /* _WINDOWS */ - -#ifdef __EMX__ -#include <unistd.h> /* should be re-include protected under EMX */ -#include <stdlib.h> /* should be re-include protected under EMX */ -#define getcwd _getcwd2 -#define chdir _chdir2 - -#endif - + +#ifdef __EMX__ +#include <unistd.h> /* should be re-include protected under EMX */ +#include <stdlib.h> /* should be re-include protected under EMX */ +#define getcwd _getcwd2 +#define chdir _chdir2 + +#endif + #ifdef SHORT_NAMES #define WWW_TraceFlag HTTrFlag @@ -132,11 +132,11 @@ Debug message control. /* ERROR TYPE - + This is passed back when streams are aborted. It might be nice to have some structure - of error messages, numbers, and recursive pointers to reasons. Curently this is a + of error messages, numbers, and recursive pointers to reasons. Curently this is a placeholder for something more sophisticated. - + */ typedef void * HTError; /* Unused at present -- best definition? */ @@ -250,8 +250,8 @@ Macros for declarations t a; u b; v c; w d; x e; y f; z g; s h; r i; #define ARGS10(t,a,u,b,v,c,w,d,x,e,y,f,z,g,s,h,r,i,q,j) (a,b,c,d,e,f,g,h,i,j) \ t a; u b; v c; w d; x e; y f; z g; s h; r i; q j; - - + + #endif /* __STDC__ (ANSI) */ #ifndef NULL @@ -276,9 +276,9 @@ Booleans #define FALSE (BOOLEAN)0 #endif #endif /* CURSES */ -#endif /* _WINDOWS */ +#endif /* BOOLEAN_DEFINED */ #define BOOLEAN_DEFINED -#endif +#endif /* _WINDOWS */ #ifndef BOOL #define BOOL BOOLEAN @@ -319,7 +319,9 @@ Sucess (>=0) and failure (<0) codes #define HT_CANNOT_TRANSLATE -4 #define HT_NO_ACCESS -10 /* Access not available */ #define HT_FORBIDDEN -11 /* Access forbidden */ -#define HT_INTERNAL -12 /* Weird -- should never happen. */ +#define HT_NO_DATA -204 /* OK but no data was loaded - */ + /* possibly other app started or forked */ +#define HT_INTERNAL -900 /* Weird -- should never happen. */ #define HT_BAD_EOF -12 /* Premature EOF */ #ifndef va_arg @@ -370,8 +372,8 @@ Upper- and Lowercase macros The problem here is that toupper(x) is not defined officially unless isupper(x) is. These macros are CERTAINLY needed on #if defined(pyr) || define(mips) or BDSI - platforms. For safefy, we make them mandatory. - + platforms. For safefy, we make them mandatory. + */ #include <ctype.h> #include <string.h> @@ -389,9 +391,9 @@ Upper- and Lowercase macros The local equivalents of CR and LF We can check for these after net ascii text has been converted to the local - representation. Similarly, we include them in strings to be sent as net ascii after + representation. Similarly, we include them in strings to be sent as net ascii after translation. - + */ #define LF FROMASCII('\012') /* ASCII line feed LOCAL EQUIVALENT */ #define CR FROMASCII('\015') /* Will be converted to ^M for transmission */ @@ -416,7 +418,7 @@ extern FILE *TraceFP NOPARAMS; #include <socks.h> /* - * The AIX- and SOCKS4-specific definitions in socks.h are inconsistent. + * The AIX- and SOCKS4-specific definitions in socks.h are inconsistent. * Repair them so they're consistent (and usable). */ #if defined(_AIX) && !defined(USE_SOCKS4_PREFIX) diff --git a/WWW/Library/Implementation/HTVMSUtils.c b/WWW/Library/Implementation/HTVMSUtils.c index 20033864..9275176f 100644 --- a/WWW/Library/Implementation/HTVMSUtils.c +++ b/WWW/Library/Implementation/HTVMSUtils.c @@ -77,12 +77,12 @@ unsigned long Buffer[2]; Result = sys$getjpiw(0, 0, 0, ItemList, 0, 0, 0); if (Result != SS$_NORMAL) - return(NO); + return(NO); if (Buffer[0] & PRV$M_SYSPRV) return(YES); - return(NO); + return(NO); } @@ -93,7 +93,7 @@ unsigned long Buffer[2]; ** No arguments. ** ** ON EXIT: -** +** */ PUBLIC void HTVMS_enableSysPrv NOARGS { @@ -119,7 +119,7 @@ unsigned long Prv[2], PreviousPrv[2]; ** No arguments. ** ** ON EXIT: -** +** */ PUBLIC void HTVMS_disableSysPrv NOARGS { @@ -149,7 +149,7 @@ unsigned long Prv[2], PreviousPrv[2]; ** ** ON EXIT: ** returns YES if access is allowed -** +** */ PUBLIC BOOL HTVMS_checkAccess ARGS3( CONST char *, FileName, @@ -220,7 +220,7 @@ char *colon; /* PUBLIC HTVMS_wwwName() -** CONVERTS VMS Name into WWW Name +** CONVERTS VMS Name into WWW Name ** ON ENTRY: ** vmsname VMS file specification (NO NODE) ** @@ -239,10 +239,10 @@ char *colon; ** [DUNS.ECHO.--.TRANS] duns/echo/../../trans ** [.DUNS] duns ** [.DUNS.ECHO] duns/echo -** [.DUNS.ECHO]TEST.COM duns/echo/test.com +** [.DUNS.ECHO]TEST.COM duns/echo/test.com ** TEST.COM test.com ** -** +** */ PUBLIC char * HTVMS_wwwName ARGS1( char *, vmsname) @@ -261,11 +261,11 @@ int dir; case ':': *(dst++) = '/'; break; case '-': if (dir) { - if ((*(src-1)=='[' || *(src-1)=='.' || *(src-1)=='-') && + if ((*(src-1)=='[' || *(src-1)=='.' || *(src-1)=='-') && (*(src+1)=='.' || *(src+1)=='-')) { *(dst++) = '/'; - *(dst++) = '.'; + *(dst++) = '.'; *(dst++) = '.'; } else @@ -290,7 +290,7 @@ int dir; case '[': dir = 1; break; case ']': dir = 0; break; default: if (*(src-1) == ']') *(dst++) = '/'; - *(dst++) = *src; + *(dst++) = *src; break; } } @@ -311,14 +311,14 @@ int dir; ** Bug: Returns pointer to static -- non-reentrant */ PUBLIC char * HTVMS_name ARGS2( - CONST char *, nn, + CONST char *, nn, CONST char *, fn) { -/* We try converting the filename into Files-11 syntax. That is, we assume -** first that the file is, like us, on a VMS node. We try remote -** (or local) DECnet access. Files-11, VMS, VAX and DECnet -** are trademarks of Digital Equipment Corporation. +/* We try converting the filename into Files-11 syntax. That is, we assume +** first that the file is, like us, on a VMS node. We try remote +** (or local) DECnet access. Files-11, VMS, VAX and DECnet +** are trademarks of Digital Equipment Corporation. ** The node is assumed to be local if the hostname WITHOUT DOMAIN ** matches the local one. @@@ */ @@ -327,12 +327,12 @@ PUBLIC char * HTVMS_name ARGS2( char * nodename = (char*)malloc(strlen(nn)+2+1); /* Copies to hack */ char *second; /* 2nd slash */ char *last; /* last slash */ - + char * hostname = (char *)HTHostName(); if (!filename || !nodename) outofmem(__FILE__, "HTVMSname"); strcpy(filename, fn); - strcpy(nodename, ""); /* On same node? Yes if node names match */ + strcpy(nodename, ""); /* On same node? Yes if node names match */ if (strncmp(nn,"localhost",9)) { char *p, *q; for (p=hostname, q=(char *)nn; @@ -349,7 +349,7 @@ PUBLIC char * HTVMS_name ARGS2( second = strchr(filename+1, '/'); /* 2nd slash */ last = strrchr(filename, '/'); /* last slash */ - + if (!second) { /* Only one slash */ sprintf(vmsname, "%s%s", nodename, filename + 1); } else if(second==last) { /* Exactly two slashes */ @@ -376,19 +376,19 @@ PUBLIC char * HTVMS_name ARGS2( ** It is based on the newer WWWLib's HTDirBrw.c. - Foteos Macrides */ PUBLIC int HTStat ARGS2( - CONST char *, filename, + CONST char *, filename, struct stat *, info) { - /* + /* the following stuff does not work in VMS with a normal stat... --> /disk$user/duns/www if www is a directory - is statted like: /disk$user/duns/www.dir + is statted like: /disk$user/duns/www.dir after a normal stat has failed --> /disk$user/duns if duns is a toplevel directory is statted like: /disk$user/000000/duns.dir --> /disk$user since disk$user is a device is statted like: /disk$user/000000/000000.dir - --> / + --> / searches all devices, no solution yet... --> /vxcern!/disk$cr/wwwteam/login.com is not statted but granted with fake information... @@ -408,7 +408,7 @@ char Name[256]; #ifdef NOT_USED /* if filename contains a node specification (! or ::), we will try to access - the file via DECNET, but we do not stat it..., just return success + the file via DECNET, but we do not stat it..., just return success with some fake information... */ if (HTVMS_checkDecnet(Name)) { @@ -436,19 +436,19 @@ char Name[256]; { /* root requested */ return(-1); } - + /* failed so this might be a directory, add '.dir' */ Len = strlen(Name); if (Name[Len-1] == '/') Name[Len-1] = '\0'; - + /* fail in case of device */ Ptr = strchr(Name+1,'/'); if ((Ptr == NULL) && (Name[0] == '/')) { /* device only... */ strcat(Name,"/000000/000000"); } - + if (Ptr != NULL) { /* correct filename in case of toplevel dir */ Ptr2 = strchr(Ptr+1,'/'); @@ -592,7 +592,7 @@ char *dot; } else { - *dot = ']'; + *dot = ']'; strcat(DirEntry,".dir"); } @@ -608,8 +608,8 @@ char *dot; entryname_desc.dsc$b_class = DSC$K_CLASS_S; entryname_desc.dsc$a_pointer = VMSentry; - status = lib$find_file(&(dirname_desc), - &entryname_desc, + status = lib$find_file(&(dirname_desc), + &entryname_desc, &(dir.context), 0,0,0,0); if (!(status & 0x01)) @@ -653,8 +653,8 @@ char *UnixEntry; entryname_desc.dsc$b_class = DSC$K_CLASS_S; entryname_desc.dsc$a_pointer = VMSentry; - status = lib$find_file(&(dirp->dirname_desc), - &entryname_desc, + status = lib$find_file(&(dirp->dirname_desc), + &entryname_desc, &(dirp->context), 0,0,0,0); if (status == RMS$_NMF) @@ -735,13 +735,13 @@ PRIVATE void free_VMSEntryInfo_contents ARGS1(VMSEntryInfo *,entry_info) /* dont free the struct */ } -#define FILE_BY_NAME 0 +#define FILE_BY_NAME 0 #define FILE_BY_TYPE 1 #define FILE_BY_SIZE 2 #define FILE_BY_DATE 3 extern BOOLEAN HTfileSortMethod; /* specifies the method of sorting */ -PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, +PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, VMSEntryInfo *,entry2) { int i, status; @@ -752,7 +752,7 @@ PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, case FILE_BY_SIZE: /* both equal or both 0 */ if(entry1->size == entry2->size) - return(strcasecomp(entry1->filename, + return(strcasecomp(entry1->filename, entry2->filename)); else if(entry1->size > entry2->size) @@ -767,7 +767,7 @@ PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, return(status); /* else fall to filename comparison */ } - return (strcasecomp(entry1->filename, + return (strcasecomp(entry1->filename, entry2->filename)); break; case FILE_BY_DATE: @@ -777,7 +777,7 @@ PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, */ if (strlen(entry1->date) != 12 || strlen(entry2->date) != 12) { - return (strcasecomp(entry1->filename, + return (strcasecomp(entry1->filename, entry2->filename)); } /* @@ -843,7 +843,7 @@ PUBLIC int compare_VMSEntryInfo_structs ARGS2(VMSEntryInfo *,entry1, break; case FILE_BY_NAME: default: - return (strcmp(entry1->filename, + return (strcmp(entry1->filename, entry2->filename)); } } @@ -951,7 +951,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( StrAllocCat(pathname, "/"); pathend++; } - + /* * Output the title and header. */ @@ -1006,7 +1006,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( } END(HTML_PRE); fclose(fp); - } + } } FREE(header); if (parent) { @@ -1052,7 +1052,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( if (!dirbuf->d_ino) { continue; } - + /* Current and parent directories are never shown in list */ if (dottest && (!strcmp(dirbuf->d_name, ".") || !strcmp(dirbuf->d_name, ".."))) { @@ -1079,7 +1079,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( we however continue to browse through the directory... */ continue; } - entry_info = (VMSEntryInfo *)malloc(sizeof(VMSEntryInfo)); + entry_info = (VMSEntryInfo *)malloc(sizeof(VMSEntryInfo)); if (entry_info == NULL) outofmem(__FILE__, "HTVMSBrowseDir"); entry_info->type = 0; @@ -1092,7 +1092,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( format = HTFileFormat(dirbuf->d_name, &encoding, (CONST char **)&cp); if (!cp) { - if(!strncmp(HTAtom_name(format), "application",11)) + if(!strncmp(HTAtom_name(format), "application",11)) { cp = HTAtom_name(format) + 12; if(!strncmp(cp,"x-", 2)) @@ -1164,7 +1164,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( { CTRACE(tfp,"Adding file to BTree: %s\n", entry_info->filename); - HTBTree_add(bt, (VMSEntryInfo *)entry_info); + HTBTree_add(bt, (VMSEntryInfo *)entry_info); } } /* End while HTVMSreaddir() */ @@ -1186,7 +1186,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( entry_info = (VMSEntryInfo *)HTBTree_object(ele); /* Output the date */ - if(entry_info->date) + if(entry_info->date) { PUTS(entry_info->date); PUTS(" "); @@ -1195,7 +1195,7 @@ PUBLIC int HTVMSBrowseDir ARGS4( PUTS(" * "); /* Output the type */ - if(entry_info->type) + if(entry_info->type) { for(i = 0; entry_info->type[i] != '\0' && i < 15; i++) PUTC(entry_info->type[i]); @@ -1205,12 +1205,12 @@ PUBLIC int HTVMSBrowseDir ARGS4( } /* Output the link for the name */ - HTDirEntry(target, tail, entry_info->filename); + HTDirEntry(target, tail, entry_info->filename); PUTS(entry_info->filename); END(HTML_A); /* Output the size */ - if(entry_info->size) + if(entry_info->size) { if(entry_info->size < 1024) sprintf(string_buffer," %d bytes", diff --git a/WWW/Library/Implementation/HTVMS_WaisUI.c b/WWW/Library/Implementation/HTVMS_WaisUI.c index 2301cbd6..1f9ffccc 100644 --- a/WWW/Library/Implementation/HTVMS_WaisUI.c +++ b/WWW/Library/Implementation/HTVMS_WaisUI.c @@ -216,7 +216,7 @@ transport_message( int rv; - /* Write out message. Read back header. Figure out response length. */ + /* Write out message. Read back header. Figure out response length. */ if( request_length + HEADER_LENGTH != NETWRITE(connection,request_message, @@ -1206,7 +1206,7 @@ makeAny(unsigned long size, char* data) void freeAny(any* a) -/* destroy an any and its associated data. Assumes a->bytes was +/* destroy an any and its associated data. Assumes a->bytes was allocated using the s_malloc family of libraries */ { @@ -1988,7 +1988,7 @@ getQueryTermSize(query_term* qt) /*----------------------------------------------------------------------*/ -/* A query is simply a null terminated list of query terms. For +/* A query is simply a null terminated list of query terms. For transmission, a query is written into an any which is sent as the user information field. */ diff --git a/WWW/Library/Implementation/HTWAIS.c b/WWW/Library/Implementation/HTWAIS.c index b21aafd7..b1b42ff2 100644 --- a/WWW/Library/Implementation/HTWAIS.c +++ b/WWW/Library/Implementation/HTWAIS.c @@ -280,7 +280,7 @@ PRIVATE char * WWW_from_WAIS ARGS1( (p < docid->bytes+docid->size) && (q < &buf[BIG]);) { CTRACE(tfp, " Record type %d, length %d\n", p[0], p[1]); if (*p > 10) { - CTRACE(tfp, "Eh? DOCID record type of %d!\n", *p); + CTRACE(tfp, "Eh? DOCID record type of %d!\n", *p); return 0; } { /* Bug fix -- allow any byte value 15 Apr 93 */ @@ -433,7 +433,7 @@ PRIVATE void output_text_record ARGS4( for (count = 0; count < record->DocumentText->size; count++){ long ch = (unsigned char)record->DocumentText->bytes[count]; - if (ch == 27) { /* What is this in for? Tim */ + if (ch == 27) { /* What is this in for? Tim */ /* then we have an escape code */ /* if the next letter is '(' or ')', then ignore two letters */ if ('(' == record->DocumentText->bytes[count + 1] || @@ -747,7 +747,7 @@ PUBLIC int HTLoadWAIS ARGS4( /* ** If keyword search is performed but there are no keywords, - ** the user has followed a link to the index itself. It would be + ** the user has followed a link to the index itself. It would be ** appropriate at this point to send him the .SRC file - how? */ if (key && !*key) { /* I N D E X */ diff --git a/WWW/Library/Implementation/HTWAIS.h b/WWW/Library/Implementation/HTWAIS.h index e8a6b7f2..613acedf 100644 --- a/WWW/Library/Implementation/HTWAIS.h +++ b/WWW/Library/Implementation/HTWAIS.h @@ -1,26 +1,26 @@ /* WAIS protocol module for the W3 library WAIS PROTOCOL INTERFACE - + This module does not actually perform the WAIS protocol directly, but it does using one - or more libraries of the freeWAIS distribution. The ui.a library came with the old free + or more libraries of the freeWAIS distribution. The ui.a library came with the old free WAIS from TMC, the client.a and wais.a libraries are needed from the freeWAIS from CNIDR. - + If you include this module in the library, you must also - - Register the HTWAIS protocol at initialisation (e.g. HTInit or HTSInit) by compiling + + Register the HTWAIS protocol at initialisation (e.g., HTInit or HTSInit) by compiling it with -DDIRECT_WAIS - + Link with the WAIS libraries - + The wais source files are parsed by a separate and independent module, HTWSRC . You can include HTWSRC without including direct wais using this module, and your WWW code will be able to read source files, and access WAIS indexes through a gateway. - + A WAIS-WWW gateway is just a normal W3 server with a libwww compiled with this module. - + Anyways, this interface won't change much: - + */ #ifndef HTWAIS_H #define HTWAIS_H @@ -37,5 +37,5 @@ GLOBALREF HTProtocol HTWAIS; /* Tim BL - + */ diff --git a/WWW/Library/Implementation/HTWSRC.h b/WWW/Library/Implementation/HTWSRC.h index 62617022..821cf2ff 100644 --- a/WWW/Library/Implementation/HTWSRC.h +++ b/WWW/Library/Implementation/HTWSRC.h @@ -1,12 +1,12 @@ /* A parser for WAIS source files WAIS SOURCE FILE PARSER - + This converter returns a stream object into which a WAIS source file can be written. The result is put via a structured stream into whatever format was required for the output stream. - + See also: HTWAIS protocol interface module - + */ #ifndef HTWSRC_H #define HTWSRC_H @@ -25,11 +25,11 @@ extern HTStream* HTWSRCConvert PARAMS(( Escaping Strings HTDeSlash takes out the invlaid characters in a URL path ELEMENT by converting them - into hex-escaped characters. HTEnSlash does the reverse. - + into hex-escaped characters. HTEnSlash does the reverse. + Each returns a pointer to a newly allocated string which must eventually be freed by the caller. - + */ extern char * HTDeSlash PARAMS((CONST char * str)); @@ -40,5 +40,5 @@ extern char * HTEnSlash PARAMS((CONST char * str)); /* Tim BL - + */ diff --git a/WWW/Library/Implementation/HText.h b/WWW/Library/Implementation/HText.h index 9a028d87..2d1f1ed3 100644 --- a/WWW/Library/Implementation/HText.h +++ b/WWW/Library/Implementation/HText.h @@ -1,14 +1,14 @@ /* Rich Hypertext object for libWWW RICH HYPERTEXT OBJECT - + */ /* This is the C interface to the Objective-C (or whatever) Style-oriented HyperText - class. It is used when a style-oriented text object is available or craeted in order to + class. It is used when a style-oriented text object is available or craeted in order to display hypertext. - + */ #ifndef HTEXT_H #define HTEXT_H @@ -64,11 +64,11 @@ extern HTParentAnchor * HTMainAnchor; /* Pointer to current text's anchor */ Creation and deletion HTEXT_NEW: CREATE HYPERTEXT OBJECT - - There are several methods depending on how much you want to specify. The output stream + + There are several methods depending on how much you want to specify. The output stream is used with objects which need to output the hypertext to a stream. The structure is for objects which need to refer to the structure which is kep by the creating stream. - + */ extern HText * HText_new PARAMS((HTParentAnchor * anchor)); @@ -82,7 +82,7 @@ Creation and deletion /* FREE HYPERTEXT OBJECT - + */ extern void HText_free PARAMS((HText * me)); @@ -94,7 +94,7 @@ Object Building methods These are used by a parser to build the text in an object HText_beginAppend must be called, then any combination of other append calls, then HText_endAppend. This allows optimised handling using buffers and caches which are flushed at the end. - + */ extern void HText_beginAppend PARAMS((HText * text)); @@ -103,7 +103,7 @@ extern void HText_endAppend PARAMS((HText * text)); /* SET THE STYLE FOR FUTURE TEXT - + */ extern void HText_setStyle PARAMS((HText * text, HTStyle * style)); @@ -111,14 +111,14 @@ extern void HText_setStyle PARAMS((HText * text, HTStyle * style)); /* ADD ONE CHARACTER - + */ extern void HText_appendCharacter PARAMS((HText * text, char ch)); /* ADD A ZERO-TERMINATED STRING - + */ extern void HText_appendText PARAMS((HText * text, CONST char * str)); @@ -126,9 +126,9 @@ extern void HText_appendText PARAMS((HText * text, CONST char * str)); /* NEW PARAGRAPH - + and similar things - + */ extern void HText_appendParagraph PARAMS((HText * text)); @@ -141,15 +141,15 @@ extern void HText_appendHorizontalRule PARAMS((HText * text)); /* START/END SENSITIVE TEXT - + */ /* - The anchor object is created and passed to HText_beginAnchor. The senstive text is + The anchor object is created and passed to HText_beginAnchor. The senstive text is added to the text object, and then HText_endAnchor is called. Anchors may not be nested. - + */ extern int HText_beginAnchor PARAMS(( HText * text, @@ -161,14 +161,14 @@ extern void HText_endAnchor PARAMS((HText * text, int number)); /* APPEND AN INLINE IMAGE - + The image is handled by the creation of an anchor whose destination is the image document to be included. The semantics is the intended inline display of the image. - + An alternative implementation could be, for example, to begin an anchor, append the - alternative text or "IMAGE", then end the anchor. This would simply generate some text + alternative text or "IMAGE", then end the anchor. This would simply generate some text linked to the image itself as a separate document. - + */ extern void HText_appendImage PARAMS(( HText * text, @@ -180,7 +180,7 @@ extern void HText_appendImage PARAMS(( /* DUMP DIAGNOSTICS TO STDERR - + */ extern void HText_dump PARAMS((HText * me)); @@ -188,7 +188,7 @@ extern void HText_dump PARAMS((HText * me)); /* RETURN THE ANCHOR ASSOCIATED WITH THIS NODE - + */ extern HTParentAnchor * HText_nodeAnchor PARAMS((HText * me)); @@ -203,7 +203,7 @@ Browsing functions /* BRING TO FRONT AND HIGHLIGHT IT - + */ @@ -214,10 +214,10 @@ extern BOOL HText_selectAnchor PARAMS((HText * text, HTChildAnchor* anchor)); Editing functions - These are called from the application. There are many more functions not included here - from the orginal text object. These functions NEED NOT BE IMPLEMENTED in a browser + These are called from the application. There are many more functions not included here + from the orginal text object. These functions NEED NOT BE IMPLEMENTED in a browser which cannot edit. - + */ /* Style handling: */ diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c index d55c74fb..fd15d5bf 100644 --- a/WWW/Library/Implementation/SGML.c +++ b/WWW/Library/Implementation/SGML.c @@ -1,8 +1,8 @@ /* General SGML Parser code SGML.c ** ======================== ** -** This module implements an HTStream object. To parse an -** SGML file, create this object which is a parser. The object +** This module implements an HTStream object. To parse an +** SGML file, create this object which is a parser. The object ** is (currently) created by being passed a DTD structure, ** and a target HTStructured object at which to throw the parsed stuff. ** @@ -928,7 +928,7 @@ PRIVATE void start_element ARGS1( (CONST char**) context->value, /* coerce type for think c */ context->current_tag_charset, (char **)&context->include); - if (new_tag->contents != SGML_EMPTY) { /* i.e. tag not empty */ + if (new_tag->contents != SGML_EMPTY) { /* i.e., tag not empty */ HTElement * N = (HTElement *)malloc(sizeof(HTElement)); if (N == NULL) outofmem(__FILE__, "start_element"); diff --git a/WWW/Library/Implementation/SGML.h b/WWW/Library/Implementation/SGML.h index 22f4bded..f4643ad2 100644 --- a/WWW/Library/Implementation/SGML.h +++ b/WWW/Library/Implementation/SGML.h @@ -1,21 +1,21 @@ /* SGML parse and stream definition for libwww SGML AND STRUCTURED STREAMS - - The SGML parser is a state machine. It is called for every character - - of the input stream. The DTD data structure contains pointers - + + The SGML parser is a state machine. It is called for every character + + of the input stream. The DTD data structure contains pointers + to functions which are called to implement the actual effect of the - + text read. When these functions are called, the attribute structures pointed to by the DTD are valid, and the function is passed a pointer to the current tag structure, and an "element stack" which represents the state of nesting within SGML elements. - + The following aspects are from Dan Connolly's suggestions: Binary search, Structured object scheme basically, SGML content enum type. - + (c) Copyright CERN 1991 - See Copyright.html - + */ #ifndef SGML_H #define SGML_H @@ -101,7 +101,7 @@ typedef int TagFlags; ** of attribute names. ** ** litteral determines how the SGML engine parses the characters -** within the element. If set, tag openers are ignored +** within the element. If set, tag openers are ignored ** except for that which opens a matching closing tag. ** */ @@ -164,16 +164,16 @@ Structured Object definition in SGML. I'll rephrase that. A structured object is an ordered tree-structured arrangement of data which is representable as text. The SGML parser outputs to a Structured object. A Structured object - can output its contents to another Structured Object. It's a kind of - typed stream. The architecture is largely Dan Conolly's. Elements and + can output its contents to another Structured Object. It's a kind of + typed stream. The architecture is largely Dan Conolly's. Elements and entities are passed to the sob by number, implying a knowledge of the DTD. Knowledge of the SGML syntax is not here, though. - + Superclass: HTStream - + The creation methods will vary on the type of Structured Object. Maybe the callerData is enough info to pass along. - + */ typedef struct _HTStructured HTStructured; @@ -187,20 +187,20 @@ typedef struct _HTStructuredClass{ void (*_abort) PARAMS(( HTStructured* me, HTError e)); - + void (*put_character) PARAMS(( HTStructured* me, char ch)); - + void (*put_string) PARAMS(( HTStructured* me, CONST char * str)); - + void (*_write) PARAMS(( HTStructured* me, CONST char * str, int len)); - + void (*start_element) PARAMS(( HTStructured* me, int element_number, @@ -208,7 +208,7 @@ typedef struct _HTStructuredClass{ CONST char** attribute_value, int charset, char ** include)); - + void (*end_element) PARAMS(( HTStructured* me, int element_number, @@ -217,7 +217,7 @@ typedef struct _HTStructuredClass{ int (*put_entity) PARAMS(( HTStructured* me, int entity_number)); - + }HTStructuredClass; /* @@ -233,7 +233,7 @@ extern void LYDoCSI PARAMS((char *url, CONST char *comment, char **csi)); Find a Tag by Name Returns a pointer to the tag within the DTD. - + */ extern HTTag * SGMLFindTag PARAMS(( CONST SGML_dtd * dtd, diff --git a/WWW/Library/Implementation/crypt_util.c b/WWW/Library/Implementation/crypt_util.c index 91868b75..b81264c3 100644 --- a/WWW/Library/Implementation/crypt_util.c +++ b/WWW/Library/Implementation/crypt_util.c @@ -45,11 +45,11 @@ static char patchlevel_str[] = PATCHLEVEL; -/* - * Permutation done once on the 56 bit +/* + * Permutation done once on the 56 bit * key derived from the original 8 byte ASCII key. */ -static int pc1[56] = { +static int pc1[56] = { 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, @@ -60,15 +60,15 @@ static int pc1[56] = { * How much to rotate each 28 bit half of the pc1 permutated * 56 bit key before using pc2 to give the i' key */ -static int rots[16] = { - 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 +static int rots[16] = { + 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 }; -/* - * Permutation giving the key - * of the i' DES round +/* + * Permutation giving the key + * of the i' DES round */ -static int pc2[48] = { +static int pc2[48] = { 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, @@ -79,7 +79,7 @@ static int pc2[48] = { * The E expansion table which selects * bits from the 32 bit intermediate result. */ -static int esel[48] = { +static int esel[48] = { 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, @@ -87,16 +87,16 @@ static int esel[48] = { }; static int e_inverse[64]; -/* - * Permutation done on the - * result of sbox lookups +/* + * Permutation done on the + * result of sbox lookups */ static int perm32[32] = { 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 }; -/* +/* * The sboxes */ static int sbox[8][4][16]= { @@ -149,19 +149,19 @@ static int sbox[8][4][16]= { } }; -/* - * This is the initial +/* + * This is the initial * permutation matrix */ -static int initial_perm[64] = { +static int initial_perm[64] = { 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 }; -/* - * This is the final +/* + * This is the final * permutation matrix */ static int final_perm[64] = { @@ -171,8 +171,8 @@ static int final_perm[64] = { 34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 25 }; -/* - * The 16 DES keys in BITMASK format +/* + * The 16 DES keys in BITMASK format */ #ifdef _UFC_32_ long32 _ufc_keytab[16][2]; @@ -199,15 +199,15 @@ long64 _ufc_keytab[16]; #ifdef _UFC_32_ long32 _ufc_sb0[8192], _ufc_sb1[8192], _ufc_sb2[8192], _ufc_sb3[8192]; -static long32 *sb[4] = {_ufc_sb0, _ufc_sb1, _ufc_sb2, _ufc_sb3}; +static long32 *sb[4] = {_ufc_sb0, _ufc_sb1, _ufc_sb2, _ufc_sb3}; #endif #ifdef _UFC_64_ long64 _ufc_sb0[4096], _ufc_sb1[4096], _ufc_sb2[4096], _ufc_sb3[4096]; -static long64 *sb[4] = {_ufc_sb0, _ufc_sb1, _ufc_sb2, _ufc_sb3}; +static long64 *sb[4] = {_ufc_sb0, _ufc_sb1, _ufc_sb2, _ufc_sb3}; #endif -/* +/* * eperm32tab: do 32 bit permutation and E selection * * The first index is the byte number in the 32 bit value to be permuted @@ -218,7 +218,7 @@ static long64 *sb[4] = {_ufc_sb0, _ufc_sb1, _ufc_sb2, _ufc_sb3}; */ static ufc_long eperm32tab[4][256][2]; -/* +/* * do_pc1: permform pc1 permutation in the key schedule generation. * * The first index is the byte number in the 8 byte ASCII key @@ -246,7 +246,7 @@ static ufc_long do_pc2[8][128]; /* * efp: undo an extra e selection and do final * permutation giving the DES result. - * + * * Invoked 6 bit a time on two 48 bit values * giving two 32 bit longs. */ @@ -347,7 +347,7 @@ void init_des() mask1 = bytemask[comes_from_bit % 8 + 1]; mask2 = longmask[bit % 28 + 4]; for(j = 0; j < 128; j++) { - if(j & mask1) + if(j & mask1) do_pc1[comes_from_bit / 8][bit / 28][j] |= mask2; } } @@ -367,14 +367,14 @@ void init_des() } } - /* + /* * Now generate the table used to do combined * 32 bit permutation and e expansion * * We use it because we have to permute 16384 32 bit * longs into 48 bit in order to initialize sb. * - * Looping 48 rounds per permutation becomes + * Looping 48 rounds per permutation becomes * just too slow... * */ @@ -383,17 +383,17 @@ void init_des() for(bit = 0; bit < 48; bit++) { ufc_long mask1,comes_from; - + comes_from = perm32[esel[bit]-1]-1; mask1 = bytemask[comes_from % 8]; - + for(j = 256; j--;) { if(j & mask1) eperm32tab[comes_from / 8][j][bit / 24] |= BITMASK(bit % 24); } } - - /* + + /* * Create the sb tables: * * For each 12 bit segment of an 48 bit intermediate @@ -408,14 +408,14 @@ void init_des() for(sg = 0; sg < 4; sg++) { int j1, j2; int s1, s2; - + for(j1 = 0; j1 < 64; j1++) { s1 = s_lookup(2 * sg, j1); for(j2 = 0; j2 < 64; j2++) { ufc_long to_permute, inx; - + s2 = s_lookup(2 * sg + 1, j2); - to_permute = (((ufc_long)s1 << 4) | + to_permute = (((ufc_long)s1 << 4) | (ufc_long)s2) << (24 - 8 * (ufc_long)sg); #ifdef _UFC_32_ @@ -431,13 +431,13 @@ void init_des() #endif #ifdef _UFC_64_ inx = ((j1 << 6) | j2); - sb[sg][inx] = + sb[sg][inx] = ((long64)eperm32tab[0][(to_permute >> 24) & 0xff][0] << 32) | (long64)eperm32tab[0][(to_permute >> 24) & 0xff][1]; sb[sg][inx] |= ((long64)eperm32tab[1][(to_permute >> 16) & 0xff][0] << 32) | (long64)eperm32tab[1][(to_permute >> 16) & 0xff][1]; - sb[sg][inx] |= + sb[sg][inx] |= ((long64)eperm32tab[2][(to_permute >> 8) & 0xff][0] << 32) | (long64)eperm32tab[2][(to_permute >> 8) & 0xff][1]; sb[sg][inx] |= @@ -446,9 +446,9 @@ void init_des() #endif } } - } + } - /* + /* * Create an inverse matrix for esel telling * where to plug out bits if undoing it */ @@ -457,7 +457,7 @@ void init_des() e_inverse[esel[bit] - 1 + 32] = bit + 48; } - /* + /* * create efp: the matrix used to * undo the E expansion and effect final permutation */ @@ -472,11 +472,11 @@ void init_des() o_long = bit / 32; /* 0..1 */ o_bit = bit % 32; /* 0..31 */ - /* + /* * And find a bit in the e permutated value setting this bit. * * Note: the e selection may have selected the same bit several - * times. By the initialization of e_inverse, we only look + * times. By the initialization of e_inverse, we only look * for one specific instance. */ comes_from_f_bit = final_perm[bit] - 1; /* 0..63 */ @@ -493,7 +493,7 @@ void init_des() } } - + /* * Create revfinal: an array to undo final * the effects of efp @@ -513,7 +513,7 @@ void init_des() initialized++; } -/* +/* * Process the elements of the sb table permuting the * bits swapped in the expansion by the current salt. */ @@ -545,7 +545,7 @@ STATIC void shuffle_sb(k, saltbits) } #endif -/* +/* * Setup the unit for a new salt * Hopefully we'll not see a new salt in each crypt call. */ @@ -564,8 +564,8 @@ STATIC void setup_salt(s) if(s[0] == current_salt[0] && s[1] == current_salt[1]) return; current_salt[0] = s[0]; current_salt[1] = s[1]; - - /* + + /* * This is the only crypt change to DES: * entries are swapped in the expansion table * according to the bits set in the salt. @@ -574,10 +574,10 @@ STATIC void setup_salt(s) for(i = 0; i < 2; i++) { long c=ascii_to_bin(s[i]); #ifdef notdef - /* + /* * Some applications do rely on illegal - * salts. It seems that UFC-crypt behaves - * identically to standard crypt + * salts. It seems that UFC-crypt behaves + * identically to standard crypt * implementations on illegal salts -- glad */ if(c < 0 || c > 63) @@ -594,7 +594,7 @@ STATIC void setup_salt(s) * to reflect the changed e * selection table */ - shuffle_sb(_ufc_sb0, current_saltbits ^ saltbits); + shuffle_sb(_ufc_sb0, current_saltbits ^ saltbits); shuffle_sb(_ufc_sb1, current_saltbits ^ saltbits); shuffle_sb(_ufc_sb2, current_saltbits ^ saltbits); shuffle_sb(_ufc_sb3, current_saltbits ^ saltbits); @@ -648,7 +648,7 @@ STATIC void ufc_mk_keytab(key) direction = 0; } -/* +/* * Undo an extra E selection and do final permutations */ @@ -686,8 +686,8 @@ ufc_long *_ufc_dofinalperm(l1, l2, r1, r2) return ary; } -/* - * crypt only: convert from 64 bit to 11 bit ASCII +/* + * crypt only: convert from 64 bit to 11 bit ASCII * prefixing with the salt */ @@ -721,10 +721,10 @@ STATIC char *output_conversion(v1, v2, salt) ufc_long *_ufc_doit(); -/* +/* * UNIX crypt function */ - + char *crypt(key, salt) char *key, *salt; { ufc_long *s; @@ -745,7 +745,7 @@ char *crypt(key, salt) /* * Go for the 25 DES encryptions */ - s = _ufc_doit((ufc_long)0, (ufc_long)0, + s = _ufc_doit((ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)25); /* * Do final permutations @@ -758,7 +758,7 @@ char *crypt(key, salt) return output_conversion(s[0], s[1], salt); } -/* +/* * To make fcrypt users happy. * They don't need to call init_des. */ @@ -769,8 +769,8 @@ char *fcrypt(key, salt) { return crypt(key, salt); } -/* - * UNIX encrypt function. Takes a bitvector +/* + * UNIX encrypt function. Takes a bitvector * represented by one byte per bit and * encrypt/decrypt according to edflag */ @@ -794,12 +794,12 @@ void encrypt(block, edflag) for(i = 0; i < 8; i++) { #ifdef _UFC_32_ long32 x; - x = _ufc_keytab[15-i][0]; - _ufc_keytab[15-i][0] = _ufc_keytab[i][0]; + x = _ufc_keytab[15-i][0]; + _ufc_keytab[15-i][0] = _ufc_keytab[i][0]; _ufc_keytab[i][0] = x; - x = _ufc_keytab[15-i][1]; - _ufc_keytab[15-i][1] = _ufc_keytab[i][1]; + x = _ufc_keytab[15-i][1]; + _ufc_keytab[15-i][1] = _ufc_keytab[i][1]; _ufc_keytab[i][1] = x; #endif #ifdef _UFC_64_ @@ -854,11 +854,11 @@ void encrypt(block, edflag) for(i = 0; i < 32; i++) { *block++ = (r1 & longmask[i]) != 0; } - + } -/* - * UNIX setkey function. Take a 64 bit DES +/* + * UNIX setkey function. Take a 64 bit DES * key and setup the machinery. */ @@ -875,14 +875,14 @@ void setkey(key) c = c << 1 | *key++; ktab[i] = c >> 1; } - + ufc_mk_keytab(ktab); } -/* +/* * Ultrix crypt16 function, thanks to pcl@convex.oxford.ac.uk (Paul Leyland) */ - + char *crypt16(key, salt) char *key, *salt; { ufc_long *s, *t; @@ -892,44 +892,44 @@ char *crypt16(key, salt) * Hack DES tables according to salt */ setup_salt(salt); - + /* * Setup key schedule */ clearmem(ktab, sizeof ktab); (void)strncpy(ktab, key, 8); ufc_mk_keytab(ktab); - + /* * Go for first 20 DES encryptions */ - s = _ufc_doit((ufc_long)0, (ufc_long)0, + s = _ufc_doit((ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)20); - + /* * And convert back to 6 bit ASCII */ strcpy (res, output_conversion(s[0], s[1], salt)); - + clearmem(ttab, sizeof ttab); if (strlen (key) > 8) (void)strncpy(ttab, key+8, 8); ufc_mk_keytab(ttab); - + /* * Go for second 5 DES encryptions */ - t = _ufc_doit((ufc_long)0, (ufc_long)0, + t = _ufc_doit((ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)5); /* * And convert back to 6 bit ASCII */ strcpy (q, output_conversion(t[0], t[1], salt)); strcpy (res+13, q+2); - + clearmem(ktab, sizeof ktab); (void)strncpy(ktab, key, 8); ufc_mk_keytab(ktab); - + return res; } @@ -961,14 +961,14 @@ void ufc_setup_password(cookie, s) } void ufc_do_pw(cookie, guess) - long *cookie; + long *cookie; char *guess; { char ktab[9]; ufc_long *s; clearmem(ktab, sizeof ktab); (void)strncpy(ktab, guess, 8); ufc_mk_keytab(ktab); - s = _ufc_doit((ufc_long)0, (ufc_long)0, + s = _ufc_doit((ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)0, (ufc_long)25); cookie[0] = s[0]; cookie[1] = s[1]; cookie[2] = s[2]; cookie[3] = s[3]; diff --git a/WWW/Library/Implementation/entities.h b/WWW/Library/Implementation/entities.h index a6ca7c1d..a43aed6e 100644 --- a/WWW/Library/Implementation/entities.h +++ b/WWW/Library/Implementation/entities.h @@ -3,11 +3,11 @@ ** * * Whole entities[] thing (and much more) now present -* in this kind of structure. The structured streams to which +* 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). +* 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.) diff --git a/WWW/Library/Implementation/tcp.h b/WWW/Library/Implementation/tcp.h index 79c42c73..54cb8b89 100644 --- a/WWW/Library/Implementation/tcp.h +++ b/WWW/Library/Implementation/tcp.h @@ -1,7 +1,7 @@ /* System dependencies in the W3 library SYSTEM DEPENDENCIES - System-system differences for TCP include files and macros. This + System-system differences for TCP include files and macros. This file includes for each system the files necessary for network and file I/O. It should be used in conjunction with HTUtils.h to help ensure portability across as many platforms and flavors of platforms @@ -201,7 +201,7 @@ VAX/VMS The last three do not interfere with the unix i/o library, and so they need special calls to read, write and - close sockets. In these cases the socket number is a VMS channel + close sockets. In these cases the socket number is a VMS channel number, so we make the @@@ HORRIBLE @@@ assumption that a channel number will be greater than 10 but a unix file descriptor less than 10. It works. diff --git a/WWW/Library/Implementation/ufc-crypt.h b/WWW/Library/Implementation/ufc-crypt.h index 13da8b47..a7cf7d4f 100644 --- a/WWW/Library/Implementation/ufc-crypt.h +++ b/WWW/Library/Implementation/ufc-crypt.h @@ -12,20 +12,20 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. - + * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * @(#)ufc-crypt.h 1.16 09/21/92 * - * Definitions of datatypes - * + * Definitions of datatypes + * */ -/* +/* * Requirements for datatypes: - * + * * A datatype 'ufc_long' of at least 32 bit * *and* * A type 'long32' of exactly 32 bits (_UFC_32_) @@ -54,9 +54,9 @@ typedef long long long64; #endif #ifdef ksr -/* +/* * Note - the KSR machine does not define a unique symbol - * which we can check. So you MUST add '-Dksr' to your Makefile. + * which we can check. So you MUST add '-Dksr' to your Makefile. * Thanks to lijewski@theory.tc.cornell.edu (Mike Lijewski) for * the patch. */ diff --git a/WWW/Library/unix/makefile.in b/WWW/Library/unix/makefile.in index 4e6b0663..abe5d105 100644 --- a/WWW/Library/unix/makefile.in +++ b/WWW/Library/unix/makefile.in @@ -1,6 +1,9 @@ # Make WWW under unix for a.n.other unix system (bsd) # Use this as a template +# If this env var is set to something else Some makes will use that instead +SHELL = @CONFIG_SHELL@ + # For W3 distribution, machine type for subdirectories WWW_MACH = unix diff --git a/aclocal.m4 b/aclocal.m4 index 44322519..b5b4d404 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -4,7 +4,7 @@ dnl and Jim Spath <jspath@mail.bcpl.lib.md.us> dnl and Philippe De Muyter <phdm@macqel.be> dnl dnl Created: 1997/1/28 -dnl Updated: 1997/12/23 +dnl Updated: 1998/12/11 dnl dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- @@ -681,6 +681,9 @@ hpux10.*) ac_cv_func_initscr=yes ])]) ;; +linux*) # Suse Linux does not follow /usr/lib convention + $1="[$]$1 /lib" + ;; esac if test ".$With5lib" != ".no" ; then @@ -1203,7 +1206,7 @@ do for cf_quote in '' '"' do cat >$cf_dir/makefile <<CF_EOF -SHELL=/bin/sh +SHELL=${CONFIG_SHELL-/bin/sh} ${cf_include} ${cf_quote}../$cf_inc${cf_quote} all : @echo 'cf_make_include=\$(RESULT)' @@ -1565,6 +1568,31 @@ AC_DEFINE_UNQUOTED($1_PATH,"$cf_path_prog") test -n "$cf_path_args" && AC_DEFINE_UNQUOTED($1_ARGS,"$cf_path_args") ])dnl dnl --------------------------------------------------------------------------- +dnl Check the argument to see that it looks like a pathname. Rewrite it if it +dnl begins with one of the prefix/exec_prefix variables, and then again if the +dnl result begins with 'NONE'. This is necessary to workaround autoconf's +dnl delayed evaluation of those symbols. +AC_DEFUN([CF_PATH_SYNTAX],[ +case ".[$]$1" in #(vi +./*) #(vi + ;; +.\[$]{*prefix}*) #(vi + eval $1="[$]$1" + case ".[$]$1" in #(vi + .NONE/*) + $1=`echo [$]$1 | sed -e s@NONE@$ac_default_prefix@` + ;; + esac + ;; #(vi +.NONE/*) + $1=`echo [$]$1 | sed -e s@NONE@$ac_default_prefix@` + ;; +*) + AC_ERROR(expected a pathname) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- dnl Re-check on a function to see if we can pick it up by adding a library. dnl $1 = function to check dnl $2 = library to check in @@ -2080,3 +2108,20 @@ cf_wait_headers="$cf_wait_headers fi fi ])dnl +dnl --------------------------------------------------------------------------- +dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just +dnl defaulting to yes/no. +dnl +dnl $1 = option name +dnl $2 = help-text +dnl $3 = environment variable to set +dnl $4 = default value, shown in the help-message, must be a constant +dnl $5 = default value, if it's an expression & cannot be in the help-message +dnl +AC_DEFUN([CF_WITH_PATH], +[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, +ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl +CF_PATH_SYNTAX(withval) +eval $3="$withval" +AC_SUBST($3)dnl +])dnl diff --git a/config.hin b/config.hin index 64c6003f..db9948a0 100644 --- a/config.hin +++ b/config.hin @@ -5,6 +5,7 @@ #undef ALT_CHAR_SET /* CF_ALT_CHAR_SET */ #undef ANSI_VARARGS /* CF_VARARGS */ #undef ARCHIVE_ONLY /* CF_ARG_DISABLE(dired-archive) */ +#undef BZIP2_PATH /* CF_PATH_PROG(bzip2) */ #undef CHMOD_PATH /* CF_PATH_PROG(chmod) */ #undef COLOR_CURSES /* defined by CF_COLOR_CURSES */ #undef COMPRESS_PATH /* CF_PATH_PROG(compress) */ @@ -46,6 +47,7 @@ #undef HAVE_GETCWD #undef HAVE_GETGROUPS #undef HAVE_GETTEXT /* defined if you want to use non-GNU gettext */ +#undef HAVE_GETTIMEOFDAY #undef HAVE_JCURSES_H #undef HAVE_KEYPAD #undef HAVE_LC_MESSAGES /* locale messages */ @@ -58,6 +60,7 @@ #undef HAVE_MUNMAP /* defined by AM_GNU_GETTEXT */ #undef HAVE_NCURSES_H /* defined if we include <ncurses.h> */ #undef HAVE_NL_TYPES_H /* defined by AM_GNU_GETTEXT */ +#undef HAVE_POPEN #undef HAVE_PUTENV #undef HAVE_READDIR #undef HAVE_SETENV /* defined by AM_GNU_GETTEXT */ diff --git a/configure b/configure index b1d6343e..bdc92420 100755 --- a/configure +++ b/configure @@ -192,13 +192,14 @@ 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) --disable-full-paths control whether full utility pathnames are used (default: on) --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) EOF cat <<EOF + --with-screen=XXX select screen type + (XXX is curses (default), ncurses or slang) Miscellaneous Options: --disable-forms-options disable experimental forms-based options (default: on) --disable-menu-options disable old-style option menu (default: on) @@ -210,9 +211,9 @@ Miscellaneous Options: --disable-partial use partial-display logic (default: on) --enable-default-colors enable use of default-colors (ncurses/slang) (default: off) --disable-extended-dtd disable extended HTML DTD logic (default: on) - --enable-externs use external commands (default: off) EOF cat <<EOF + --enable-externs use external commands (default: off) --enable-font-switch use Linux setfont for character-translation (default: off) --enable-cgi-links support cgi links w/o a http daemon (default: off) --enable-exec-links support cgi links w/o a http daemon (default: off) @@ -224,9 +225,9 @@ cat <<EOF --enable-gzip-help install gzip'ed help files (default: off) --with-zlib use zlib for decompression of some gzip files Directory Editor Options: - --disable-dired enable optional directory-editor, DirEd (default: on) EOF cat <<EOF + --disable-dired enable optional directory-editor, DirEd (default: on) --disable-dired-archive disable dearchiving commands (default: on) --disable-dired-override disable private keymaps (default: on) --disable-dired-permit disable chmod/attrib commands (default: on) @@ -605,7 +606,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:609: checking host system type" >&5 +echo "configure:610: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -630,7 +631,7 @@ echo "$ac_t""$host" 1>&6 # 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:634: checking for $ac_word" >&5 +echo "configure:635: 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 @@ -659,7 +660,7 @@ if test -z "$CC"; then # 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:663: checking for $ac_word" >&5 +echo "configure:664: 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 @@ -707,7 +708,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:711: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:712: 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. @@ -717,11 +718,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 721 "configure" +#line 722 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -741,12 +742,12 @@ if test $ac_cv_prog_cc_works = no; then { 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:745: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:746: 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:750: checking whether we are using GNU C" >&5 +echo "configure:751: 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 @@ -755,7 +756,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:759: \"$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:760: \"$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 @@ -770,7 +771,7 @@ if test $ac_cv_prog_gcc = yes; then ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:774: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:775: 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 @@ -798,7 +799,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:802: checking how to run the C preprocessor" >&5 +echo "configure:803: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -813,13 +814,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 817 "configure" +#line 818 "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:823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -830,13 +831,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 834 "configure" +#line 835 "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:840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -861,7 +862,7 @@ echo "$ac_t""$CPP" 1>&6 # 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:865: checking for $ac_word" >&5 +echo "configure:866: 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 @@ -888,7 +889,7 @@ else fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:892: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:893: 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 @@ -916,7 +917,7 @@ fi echo $ac_n "checking for style of include in makefiles""... $ac_c" 1>&6 -echo "configure:920: checking for style of include in makefiles" >&5 +echo "configure:921: checking for style of include in makefiles" >&5 make_include_left="" make_include_right="" @@ -932,7 +933,7 @@ do for cf_quote in '' '"' do cat >$cf_dir/makefile <<CF_EOF -SHELL=/bin/sh +SHELL=${CONFIG_SHELL-/bin/sh} ${cf_include} ${cf_quote}../$cf_inc${cf_quote} all : @echo 'cf_make_include=\$(RESULT)' @@ -977,7 +978,7 @@ echo "$ac_t""${make_include_left}file${make_include_right}" 1>&6 # 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:981: checking for a BSD compatible install" >&5 +echo "configure:982: 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 @@ -1031,7 +1032,7 @@ do # 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:1035: checking for $ac_word" >&5 +echo "configure:1036: 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 @@ -1061,9 +1062,9 @@ done echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1065: checking for AIX" >&5 +echo "configure:1066: checking for AIX" >&5 cat > conftest.$ac_ext <<EOF -#line 1067 "configure" +#line 1068 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -1085,7 +1086,7 @@ rm -f conftest* echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1089: checking for POSIXized ISC" >&5 +echo "configure:1090: 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 @@ -1105,13 +1106,13 @@ else ISC= fi - + echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6 -echo "configure:1115: checking if you want to see long compiling messages" >&5 +echo "configure:1116: 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 @@ -1159,7 +1160,7 @@ fi echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6 -echo "configure:1163: checking if you want to check memory-leaks" >&5 +echo "configure:1164: 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 @@ -1183,7 +1184,7 @@ EOF echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6 -echo "configure:1187: checking if you want to enable debug-code" >&5 +echo "configure:1188: 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 @@ -1228,7 +1229,7 @@ fi if test -n "$GCC" then echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6 -echo "configure:1232: checking if you want to turn on gcc warnings" >&5 +echo "configure:1233: 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 @@ -1268,9 +1269,9 @@ EOF if test -n "$GCC" then echo "checking for gcc __attribute__ directives" 1>&6 -echo "configure:1272: checking for gcc __attribute__ directives" >&5 +echo "configure:1273: checking for gcc __attribute__ directives" >&5 cat > conftest.$ac_ext <<EOF -#line 1274 "configure" +#line 1275 "configure" #include "confdefs.h" #include "conftest.h" #include "conftest.i" @@ -1308,7 +1309,7 @@ EOF EOF ;; esac - if { (eval echo configure:1312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if { (eval echo configure:1313: \"$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 @@ -1325,11 +1326,11 @@ fi if test -n "$GCC" then cat > conftest.$ac_ext <<EOF -#line 1329 "configure" +#line 1330 "configure" int main(int argc, char *argv[]) { return argv[argc-1] == 0; } EOF echo "checking for gcc warning options" 1>&6 -echo "configure:1333: checking for gcc warning options" >&5 +echo "configure:1334: checking for gcc warning options" >&5 cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS="-W -Wall" cf_warn_CONST="" @@ -1347,7 +1348,7 @@ echo "configure:1333: checking for gcc warning options" >&5 Wstrict-prototypes $cf_warn_CONST do CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo configure:1351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if { (eval echo configure:1352: \"$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" @@ -1365,12 +1366,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1369: checking for ANSI C header files" >&5 +echo "configure:1370: 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 1374 "configure" +#line 1375 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1378,7 +1379,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1395,7 +1396,7 @@ rm -f conftest* 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 1399 "configure" +#line 1400 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1413,7 +1414,7 @@ fi 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 1417 "configure" +#line 1418 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1434,7 +1435,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1438 "configure" +#line 1439 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1445,7 +1446,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1469,12 +1470,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1473: checking for working const" >&5 +echo "configure:1474: 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 1478 "configure" +#line 1479 "configure" #include "confdefs.h" int main() { @@ -1523,7 +1524,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:1527: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1544,21 +1545,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1548: checking for inline" >&5 +echo "configure:1549: 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 1555 "configure" +#line 1556 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:1562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1584,12 +1585,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:1588: checking for off_t" >&5 +echo "configure:1589: 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 1593 "configure" +#line 1594 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -1617,12 +1618,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1621: checking for size_t" >&5 +echo "configure:1622: 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 1626 "configure" +#line 1627 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -1652,19 +1653,19 @@ fi # 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:1656: checking for working alloca.h" >&5 +echo "configure:1657: 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 1661 "configure" +#line 1662 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:1668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -1685,12 +1686,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1689: checking for alloca" >&5 +echo "configure:1690: 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 1694 "configure" +#line 1695 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -1713,7 +1714,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:1717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -1745,12 +1746,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1749: checking whether alloca needs Cray hooks" >&5 +echo "configure:1750: 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 1754 "configure" +#line 1755 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -1775,12 +1776,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6 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:1779: checking for $ac_func" >&5 +echo "configure:1780: 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 1784 "configure" +#line 1785 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -1803,7 +1804,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:1807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1830,7 +1831,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:1834: checking stack direction for C alloca" >&5 +echo "configure:1835: 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 @@ -1838,7 +1839,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 1842 "configure" +#line 1843 "configure" #include "confdefs.h" find_stack_direction () { @@ -1857,7 +1858,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:1861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -1882,17 +1883,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1886: checking for $ac_hdr" >&5 +echo "configure:1887: 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 1891 "configure" +#line 1892 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1921,12 +1922,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1925: checking for $ac_func" >&5 +echo "configure:1926: 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 1930 "configure" +#line 1931 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -1949,7 +1950,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:1953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1974,7 +1975,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:1978: checking for working mmap" >&5 +echo "configure:1979: 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 @@ -1982,7 +1983,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 1986 "configure" +#line 1987 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -2122,7 +2123,7 @@ main() } EOF -if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -2150,17 +2151,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2154: checking for $ac_hdr" >&5 +echo "configure:2155: 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 2159 "configure" +#line 2160 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2164: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2190,12 +2191,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2194: checking for $ac_func" >&5 +echo "configure:2195: 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 2199 "configure" +#line 2200 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2218,7 +2219,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2247,12 +2248,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2251: checking for $ac_func" >&5 +echo "configure:2252: 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 2256 "configure" +#line 2257 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2275,7 +2276,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2309,19 +2310,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2313: checking for LC_MESSAGES" >&5 +echo "configure:2314: 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 2318 "configure" +#line 2319 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:2325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -2342,7 +2343,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2346: checking whether NLS is requested" >&5 +echo "configure:2347: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then @@ -2363,7 +2364,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2367: checking whether included gettext is requested" >&5 +echo "configure:2368: 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 @@ -2383,17 +2384,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2387: checking for libintl.h" >&5 +echo "configure:2388: 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 2392 "configure" +#line 2393 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2398: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2410,19 +2411,19 @@ fi 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:2414: checking for gettext in libc" >&5 +echo "configure:2415: 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 2419 "configure" +#line 2420 "configure" #include "confdefs.h" #include <libintl.h> int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:2426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -2438,7 +2439,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:2442: checking for bindtextdomain in -lintl" >&5 +echo "configure:2443: 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 @@ -2446,7 +2447,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 2450 "configure" +#line 2451 "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 @@ -2457,7 +2458,7 @@ int main() { bindtextdomain() ; return 0; } EOF -if { (eval echo configure:2461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2473,19 +2474,19 @@ fi 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:2477: checking for gettext in libintl" >&5 +echo "configure:2478: 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 2482 "configure" +#line 2483 "configure" #include "confdefs.h" int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -2513,7 +2514,7 @@ EOF # 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:2517: checking for $ac_word" >&5 +echo "configure:2518: 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 @@ -2547,12 +2548,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2551: checking for $ac_func" >&5 +echo "configure:2552: 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 2556 "configure" +#line 2557 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2575,7 +2576,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2602,7 +2603,7 @@ done # 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:2606: checking for $ac_word" >&5 +echo "configure:2607: 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 @@ -2634,7 +2635,7 @@ fi # 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:2638: checking for $ac_word" >&5 +echo "configure:2639: 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 @@ -2666,7 +2667,7 @@ else fi cat > conftest.$ac_ext <<EOF -#line 2670 "configure" +#line 2671 "configure" #include "confdefs.h" int main() { @@ -2674,7 +2675,7 @@ extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:2678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -2697,7 +2698,7 @@ fi if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:2701: checking whether catgets can be used" >&5 +echo "configure:2702: checking whether catgets can be used" >&5 # Check whether --with-catgets or --without-catgets was given. if test "${with_catgets+set}" = set; then @@ -2711,7 +2712,7 @@ fi if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:2715: checking for main in -li" >&5 +echo "configure:2716: 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 @@ -2719,14 +2720,14 @@ else ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <<EOF -#line 2723 "configure" +#line 2724 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:2730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2754,12 +2755,12 @@ else fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:2758: checking for catgets" >&5 +echo "configure:2759: 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 2763 "configure" +#line 2764 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char catgets(); below. */ @@ -2782,7 +2783,7 @@ catgets(); ; return 0; } EOF -if { (eval echo configure:2786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -2804,7 +2805,7 @@ EOF # 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:2808: checking for $ac_word" >&5 +echo "configure:2809: 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 @@ -2836,7 +2837,7 @@ fi # 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:2840: checking for $ac_word" >&5 +echo "configure:2841: 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 @@ -2869,7 +2870,7 @@ fi # 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:2873: checking for $ac_word" >&5 +echo "configure:2874: 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 @@ -2904,7 +2905,7 @@ fi # 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:2908: checking for $ac_word" >&5 +echo "configure:2909: 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 @@ -2962,7 +2963,7 @@ fi # 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:2966: checking for $ac_word" >&5 +echo "configure:2967: 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 @@ -2996,7 +2997,7 @@ fi # 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:3000: checking for $ac_word" >&5 +echo "configure:3001: 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 @@ -3028,7 +3029,7 @@ fi # 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:3032: checking for $ac_word" >&5 +echo "configure:3033: 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 @@ -3118,7 +3119,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:3122: checking for catalogs to be installed" >&5 +echo "configure:3123: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -3147,17 +3148,17 @@ echo "configure:3122: checking for catalogs to be installed" >&5 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:3151: checking for linux/version.h" >&5 +echo "configure:3152: 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 3156 "configure" +#line 3157 "configure" #include "confdefs.h" #include <linux/version.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3161: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3226,6 +3227,37 @@ fi fi + +# Check whether --with-nls-datadir or --without-nls-datadir was given. +if test "${with_nls_datadir+set}" = set; then + withval="$with_nls_datadir" + : +else + withval="${NLS_DATADIR-$prefix/$DATADIRNAME}" +fi + +case ".$withval" in #(vi +./*) #(vi + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s@NONE@$ac_default_prefix@` + ;; + esac + ;; #(vi +.NONE/*) + withval=`echo $withval | sed -e s@NONE@$ac_default_prefix@` + ;; +*) + { echo "configure: error: expected a pathname" 1>&2; exit 1; } + ;; +esac + +eval NLS_DATADIR="$withval" + + INTLDIR_MAKE= MSG_DIR_MAKE= SUB_MAKEFILE= @@ -3236,17 +3268,17 @@ elif test "$USE_NLS" = yes ; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3240: checking for $ac_hdr" >&5 +echo "configure:3272: 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 3245 "configure" +#line 3277 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3303,7 +3335,7 @@ EOF fi echo $ac_n "checking if you want full utility pathnames""... $ac_c" 1>&6 -echo "configure:3307: checking if you want full utility pathnames" >&5 +echo "configure:3339: 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 @@ -3324,7 +3356,7 @@ echo "$ac_t""$with_full_paths" 1>&6 echo $ac_n "checking for system mailer""... $ac_c" 1>&6 -echo "configure:3328: checking for system mailer" >&5 +echo "configure:3360: 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 @@ -3351,7 +3383,7 @@ EOF echo $ac_n "checking system mail flags""... $ac_c" 1>&6 -echo "configure:3355: checking system mail flags" >&5 +echo "configure:3387: 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 @@ -3379,7 +3411,7 @@ if test "$with_full_paths" = yes ; then # 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:3383: checking for $ac_word" >&5 +echo "configure:3415: 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 @@ -3410,7 +3442,7 @@ fi else echo $ac_n "checking for chmod""... $ac_c" 1>&6 -echo "configure:3414: checking for chmod" >&5 +echo "configure:3446: checking for chmod" >&5 echo "$ac_t""$CHMOD" 1>&6 fi @@ -3452,7 +3484,7 @@ if test "$with_full_paths" = yes ; then # 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:3456: checking for $ac_word" >&5 +echo "configure:3488: 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 @@ -3483,7 +3515,7 @@ fi else echo $ac_n "checking for compress""... $ac_c" 1>&6 -echo "configure:3487: checking for compress" >&5 +echo "configure:3519: checking for compress" >&5 echo "$ac_t""$COMPRESS" 1>&6 fi @@ -3525,7 +3557,7 @@ if test "$with_full_paths" = yes ; then # 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:3529: checking for $ac_word" >&5 +echo "configure:3561: 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 @@ -3556,7 +3588,7 @@ fi else echo $ac_n "checking for cp""... $ac_c" 1>&6 -echo "configure:3560: checking for cp" >&5 +echo "configure:3592: checking for cp" >&5 echo "$ac_t""$COPY" 1>&6 fi @@ -3598,7 +3630,7 @@ if test "$with_full_paths" = yes ; then # 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:3602: checking for $ac_word" >&5 +echo "configure:3634: 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 @@ -3629,7 +3661,7 @@ fi else echo $ac_n "checking for gzip""... $ac_c" 1>&6 -echo "configure:3633: checking for gzip" >&5 +echo "configure:3665: checking for gzip" >&5 echo "$ac_t""$GZIP" 1>&6 fi @@ -3671,7 +3703,7 @@ if test "$with_full_paths" = yes ; then # 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:3675: checking for $ac_word" >&5 +echo "configure:3707: 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 @@ -3702,7 +3734,7 @@ fi else echo $ac_n "checking for mkdir""... $ac_c" 1>&6 -echo "configure:3706: checking for mkdir" >&5 +echo "configure:3738: checking for mkdir" >&5 echo "$ac_t""$MKDIR" 1>&6 fi @@ -3744,7 +3776,7 @@ if test "$with_full_paths" = yes ; then # 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:3748: checking for $ac_word" >&5 +echo "configure:3780: 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 @@ -3775,7 +3807,7 @@ fi else echo $ac_n "checking for mv""... $ac_c" 1>&6 -echo "configure:3779: checking for mv" >&5 +echo "configure:3811: checking for mv" >&5 echo "$ac_t""$MV" 1>&6 fi @@ -3817,7 +3849,7 @@ if test "$with_full_paths" = yes ; then # 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:3821: checking for $ac_word" >&5 +echo "configure:3853: 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 @@ -3848,7 +3880,7 @@ fi else echo $ac_n "checking for rm""... $ac_c" 1>&6 -echo "configure:3852: checking for rm" >&5 +echo "configure:3884: checking for rm" >&5 echo "$ac_t""$RM" 1>&6 fi @@ -3890,7 +3922,7 @@ if test "$with_full_paths" = yes ; then # 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:3894: checking for $ac_word" >&5 +echo "configure:3926: 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 @@ -3921,7 +3953,7 @@ fi else echo $ac_n "checking for tar""... $ac_c" 1>&6 -echo "configure:3925: checking for tar" >&5 +echo "configure:3957: checking for tar" >&5 echo "$ac_t""$TAR" 1>&6 fi @@ -3963,7 +3995,7 @@ if test "$with_full_paths" = yes ; then # 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:3967: checking for $ac_word" >&5 +echo "configure:3999: 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 @@ -3994,7 +4026,7 @@ fi else echo $ac_n "checking for touch""... $ac_c" 1>&6 -echo "configure:3998: checking for touch" >&5 +echo "configure:4030: checking for touch" >&5 echo "$ac_t""$TOUCH" 1>&6 fi @@ -4036,7 +4068,7 @@ if test "$with_full_paths" = yes ; then # 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:4040: checking for $ac_word" >&5 +echo "configure:4072: 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 @@ -4067,7 +4099,7 @@ fi else echo $ac_n "checking for gunzip""... $ac_c" 1>&6 -echo "configure:4071: checking for gunzip" >&5 +echo "configure:4103: checking for gunzip" >&5 echo "$ac_t""$UNCOMPRESS" 1>&6 fi @@ -4109,7 +4141,7 @@ if test "$with_full_paths" = yes ; then # 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:4113: checking for $ac_word" >&5 +echo "configure:4145: 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 @@ -4140,7 +4172,7 @@ fi else echo $ac_n "checking for unzip""... $ac_c" 1>&6 -echo "configure:4144: checking for unzip" >&5 +echo "configure:4176: checking for unzip" >&5 echo "$ac_t""$UNZIP" 1>&6 fi @@ -4177,12 +4209,85 @@ EOF +test -z "$BZIP2" && BZIP2=bzip2 +if test "$with_full_paths" = yes ; then + # 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:4218: 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 + case "$BZIP2" in + /*) + ac_cv_path_BZIP2="$BZIP2" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_BZIP2="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_BZIP2" && ac_cv_path_BZIP2="$BZIP2" + ;; +esac +fi +BZIP2="$ac_cv_path_BZIP2" +if test -n "$BZIP2"; then + echo "$ac_t""$BZIP2" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +else + echo $ac_n "checking for bzip2""... $ac_c" 1>&6 +echo "configure:4249: checking for bzip2" >&5 + echo "$ac_t""$BZIP2" 1>&6 +fi + +cf_path_prog="" +cf_path_args="" +IFS="${IFS= }"; cf_save_ifs="$IFS" +case $host_os in #(vi +os2*) #(vi + IFS="${IFS};" + ;; +*) + IFS="${IFS}:" + ;; +esac +for cf_temp in $ac_cv_path_BZIP2 +do + if test -z "$cf_path_prog" ; then + cf_path_prog="$cf_temp" + elif test -z "$cf_path_args" ; then + cf_path_args="$cf_temp" + else + cf_path_args="$cf_path_args $cf_temp" + fi +done +IFS="$cf_save_ifs" + +cat >> confdefs.h <<EOF +#define BZIP2_PATH "$cf_path_prog" +EOF + +test -n "$cf_path_args" && cat >> confdefs.h <<EOF +#define BZIP2_ARGS "$cf_path_args" +EOF + + + test -z "$UUDECODE" && UUDECODE=uudecode if test "$with_full_paths" = yes ; then # 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:4186: checking for $ac_word" >&5 +echo "configure:4291: 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 @@ -4213,7 +4318,7 @@ fi else echo $ac_n "checking for uudecode""... $ac_c" 1>&6 -echo "configure:4217: checking for uudecode" >&5 +echo "configure:4322: checking for uudecode" >&5 echo "$ac_t""$UUDECODE" 1>&6 fi @@ -4255,7 +4360,7 @@ if test "$with_full_paths" = yes ; then # 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:4259: checking for $ac_word" >&5 +echo "configure:4364: 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 @@ -4286,7 +4391,7 @@ fi else echo $ac_n "checking for zcat""... $ac_c" 1>&6 -echo "configure:4290: checking for zcat" >&5 +echo "configure:4395: checking for zcat" >&5 echo "$ac_t""$ZCAT" 1>&6 fi @@ -4328,7 +4433,7 @@ if test "$with_full_paths" = yes ; then # 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:4332: checking for $ac_word" >&5 +echo "configure:4437: 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 @@ -4359,7 +4464,7 @@ fi else echo $ac_n "checking for zip""... $ac_c" 1>&6 -echo "configure:4363: checking for zip" >&5 +echo "configure:4468: checking for zip" >&5 echo "$ac_t""$ZIP" 1>&6 fi @@ -4420,7 +4525,7 @@ EOF if test -z "$GCC" ; then echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:4424: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "configure:4529: 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 @@ -4444,7 +4549,7 @@ for cf_arg in "-DCC_HAS_PROTOS" \ do CFLAGS="$cf_save_CFLAGS $cf_arg" cat > conftest.$ac_ext <<EOF -#line 4448 "configure" +#line 4553 "configure" #include "confdefs.h" #ifndef CC_HAS_PROTOS @@ -4460,7 +4565,7 @@ int main() { struct s2 {int (*f) (double a);}; ; return 0; } EOF -if { (eval echo configure:4464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ansi_cc="$cf_arg"; break else @@ -4488,12 +4593,12 @@ fi fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4492: checking for working const" >&5 +echo "configure:4597: 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 4497 "configure" +#line 4602 "configure" #include "confdefs.h" int main() { @@ -4542,7 +4647,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:4546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4584,7 +4689,7 @@ clix*) # 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:4588: checking for strcmp in -lc_s" >&5 +echo "configure:4693: 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 @@ -4592,7 +4697,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lc_s $LIBS" cat > conftest.$ac_ext <<EOF -#line 4596 "configure" +#line 4701 "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 @@ -4603,7 +4708,7 @@ int main() { strcmp() ; return 0; } EOF -if { (eval echo configure:4607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4692,7 +4797,7 @@ do # 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:4696: checking for $ac_word" >&5 +echo "configure:4801: 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 @@ -4736,17 +4841,17 @@ sony-newsos*) do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4740: checking for $ac_hdr" >&5 +echo "configure:4845: 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 4745 "configure" +#line 4850 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4790,17 +4895,17 @@ ultrix*) do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4794: checking for $ac_hdr" >&5 +echo "configure:4899: 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 4799 "configure" +#line 4904 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4838,16 +4943,16 @@ if test -n "$TRY_CFLAGS" ; then 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:4842: checking if we should use compile options $TRY_CFLAGS" >&5 +echo "configure:4947: checking if we should use compile options $TRY_CFLAGS" >&5 cat > conftest.$ac_ext <<EOF -#line 4844 "configure" +#line 4949 "configure" #include "confdefs.h" #include <stdio.h> int main() { FILE *fp = stdin ; return 0; } EOF -if { (eval echo configure:4851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4956: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_result=yes else @@ -4865,7 +4970,7 @@ fi ### 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:4869: checking if you want socks library" >&5 +echo "configure:4974: 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 @@ -4885,7 +4990,7 @@ fi echo "$ac_t""$cf_cv_use_libsocks" 1>&6 echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6 -echo "configure:4889: checking if you want socks5 library" >&5 +echo "configure:4994: 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 @@ -4951,7 +5056,7 @@ cat >> confdefs.h <<\EOF EOF cat > conftest.$ac_ext <<EOF -#line 4955 "configure" +#line 5060 "configure" #include "confdefs.h" #include <stdio.h> @@ -4960,7 +5065,7 @@ int main() { accept((char *)0) ; return 0; } EOF -if { (eval echo configure:4964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 @@ -4990,9 +5095,9 @@ cat >> confdefs.h <<\EOF EOF echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6 -echo "configure:4994: checking if the socks library uses socks4 prefix" >&5 +echo "configure:5099: checking if the socks library uses socks4 prefix" >&5 cat > conftest.$ac_ext <<EOF -#line 4996 "configure" +#line 5101 "configure" #include "confdefs.h" #include <socks.h> @@ -5001,7 +5106,7 @@ int main() { Rinit((char *)0) ; return 0; } EOF -if { (eval echo configure:5005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define USE_SOCKS4_PREFIX 1 @@ -5013,14 +5118,14 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 5017 "configure" +#line 5122 "configure" #include "confdefs.h" #include <socks.h> int main() { SOCKSinit((char *)0) ; return 0; } EOF -if { (eval echo configure:5024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_use_socks4=no else @@ -5089,7 +5194,7 @@ else cf_test_netlibs=no echo $ac_n "checking for network libraries""... $ac_c" 1>&6 -echo "configure:5093: checking for network libraries" >&5 +echo "configure:5198: checking for network libraries" >&5 if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5100,12 +5205,12 @@ cf_test_netlibs=yes for ac_func in gethostname do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5104: checking for $ac_func" >&5 +echo "configure:5209: 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 5109 "configure" +#line 5214 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5128,7 +5233,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5151,7 +5256,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6 -echo "configure:5155: checking for gethostname in -lnsl" >&5 +echo "configure:5260: 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 @@ -5159,7 +5264,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5163 "configure" +#line 5268 "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 @@ -5170,7 +5275,7 @@ int main() { gethostname() ; return 0; } EOF -if { (eval echo configure:5174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5203,7 +5308,7 @@ else echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6 -echo "configure:5207: checking for gethostname in -lsocket" >&5 +echo "configure:5312: 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 @@ -5211,7 +5316,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5215 "configure" +#line 5320 "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 @@ -5222,7 +5327,7 @@ int main() { gethostname() ; return 0; } EOF -if { (eval echo configure:5226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5266,21 +5371,21 @@ done # 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:5270: checking for -linet" >&5 +echo "configure:5375: 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 5277 "configure" +#line 5382 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_lib_inet=yes else @@ -5303,12 +5408,12 @@ if test "$ac_cv_func_lsocket" != no ; then for ac_func in socket do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5307: checking for $ac_func" >&5 +echo "configure:5412: 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 5312 "configure" +#line 5417 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5331,7 +5436,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5354,7 +5459,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:5358: checking for socket in -lsocket" >&5 +echo "configure:5463: 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 @@ -5362,7 +5467,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5366 "configure" +#line 5471 "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 @@ -5373,7 +5478,7 @@ int main() { socket() ; return 0; } EOF -if { (eval echo configure:5377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5406,7 +5511,7 @@ else echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6 -echo "configure:5410: checking for socket in -lbsd" >&5 +echo "configure:5515: 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 @@ -5414,7 +5519,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lbsd $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5418 "configure" +#line 5523 "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 @@ -5425,7 +5530,7 @@ int main() { socket() ; return 0; } EOF -if { (eval echo configure:5429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5470,12 +5575,12 @@ fi for ac_func in gethostbyname do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5474: checking for $ac_func" >&5 +echo "configure:5579: 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 5479 "configure" +#line 5584 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5498,7 +5603,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5521,7 +5626,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:5525: checking for gethostbyname in -lnsl" >&5 +echo "configure:5630: 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 @@ -5529,7 +5634,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5533 "configure" +#line 5638 "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 @@ -5540,7 +5645,7 @@ int main() { gethostbyname() ; return 0; } EOF -if { (eval echo configure:5544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5581,12 +5686,12 @@ done for ac_func in strcasecmp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5585: checking for $ac_func" >&5 +echo "configure:5690: 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 5590 "configure" +#line 5695 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5609,7 +5714,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5632,7 +5737,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6 -echo "configure:5636: checking for strcasecmp in -lresolv" >&5 +echo "configure:5741: 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 @@ -5640,7 +5745,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lresolv $cf_cv_netlibs $LIBS" cat > conftest.$ac_ext <<EOF -#line 5644 "configure" +#line 5749 "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 @@ -5651,7 +5756,7 @@ int main() { strcasecmp() ; return 0; } EOF -if { (eval echo configure:5655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5697,7 +5802,7 @@ test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6 fi echo $ac_n "checking for screen type""... $ac_c" 1>&6 -echo "configure:5701: checking for screen type" >&5 +echo "configure:5806: checking for screen type" >&5 if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5732,12 +5837,12 @@ case $cf_cv_screen in curses) echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:5736: checking for initscr" >&5 +echo "configure:5841: 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 5741 "configure" +#line 5846 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char initscr(); below. */ @@ -5760,7 +5865,7 @@ initscr(); ; return 0; } EOF -if { (eval echo configure:5764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_initscr=yes" else @@ -5781,7 +5886,7 @@ else case $host_os in #(vi freebsd*) #(vi echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:5785: checking for tgoto in -lmytinfo" >&5 +echo "configure:5890: 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 @@ -5789,7 +5894,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmytinfo $LIBS" cat > conftest.$ac_ext <<EOF -#line 5793 "configure" +#line 5898 "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 @@ -5800,7 +5905,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:5804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5823,7 +5928,7 @@ fi ;; hpux10.*) echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6 -echo "configure:5827: checking for initscr in -lcur_colr" >&5 +echo "configure:5932: 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 @@ -5831,7 +5936,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcur_colr $LIBS" cat > conftest.$ac_ext <<EOF -#line 5835 "configure" +#line 5940 "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 @@ -5842,7 +5947,7 @@ int main() { initscr() ; return 0; } EOF -if { (eval echo configure:5846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5866,7 +5971,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6 -echo "configure:5870: checking for initscr in -lHcurses" >&5 +echo "configure:5975: 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 @@ -5874,7 +5979,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lHcurses $LIBS" cat > conftest.$ac_ext <<EOF -#line 5878 "configure" +#line 5983 "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 @@ -5885,7 +5990,7 @@ int main() { initscr() ; return 0; } EOF -if { (eval echo configure:5889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5913,6 +6018,9 @@ fi fi ;; +linux*) # Suse Linux does not follow /usr/lib convention + ="$ /lib" + ;; esac if test ".$With5lib" != ".no" ; then @@ -5931,12 +6039,12 @@ if test ".$ac_cv_func_initscr" != .yes ; then # 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:5935: checking for tgoto" >&5 +echo "configure:6043: 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 5940 "configure" +#line 6048 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char tgoto(); below. */ @@ -5959,7 +6067,7 @@ tgoto(); ; return 0; } EOF -if { (eval echo configure:5963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_tgoto=yes" else @@ -5980,7 +6088,7 @@ else 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:5984: checking for tgoto in -l$cf_term_lib" >&5 +echo "configure:6092: 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 @@ -5988,7 +6096,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$cf_term_lib $LIBS" cat > conftest.$ac_ext <<EOF -#line 5992 "configure" +#line 6100 "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 @@ -5999,7 +6107,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:6003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6029,7 +6137,7 @@ fi 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:6033: checking for initscr in -l$cf_curs_lib" >&5 +echo "configure:6141: 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 @@ -6037,7 +6145,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$cf_curs_lib $LIBS" cat > conftest.$ac_ext <<EOF -#line 6041 "configure" +#line 6149 "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 @@ -6048,7 +6156,7 @@ int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6074,16 +6182,16 @@ fi 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:6078: checking if we can link with $cf_curs_lib library" >&5 +echo "configure:6186: checking if we can link with $cf_curs_lib library" >&5 cat > conftest.$ac_ext <<EOF -#line 6080 "configure" +#line 6188 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_result=yes else @@ -6097,16 +6205,16 @@ rm -f conftest* 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:6101: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 +echo "configure:6209: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 cat > conftest.$ac_ext <<EOF -#line 6103 "configure" +#line 6211 "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:6110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_result=no else @@ -6116,14 +6224,14 @@ else LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 6120 "configure" +#line 6228 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_result=yes else @@ -6145,14 +6253,14 @@ fi echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6 -echo "configure:6149: checking for curses performance tradeoff" >&5 +echo "configure:6257: 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 6156 "configure" +#line 6264 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -6166,11 +6274,11 @@ int main() { ; return 0; } EOF -if { (eval echo configure:6170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 6174 "configure" +#line 6282 "configure" #include "confdefs.h" #define CURS_PERFORMANCE @@ -6185,7 +6293,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:6189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_curs_performance=yes else @@ -6210,13 +6318,13 @@ EOF ncurses) echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6 -echo "configure:6214: checking for ncurses header file" >&5 +echo "configure:6322: 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 6220 "configure" +#line 6328 "configure" #include "confdefs.h" #include <curses.h> int main() { @@ -6233,7 +6341,7 @@ make an error ; return 0; } EOF -if { (eval echo configure:6237: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ncurses_header=predefined else @@ -6319,7 +6427,7 @@ done ;; esac echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:6323: checking for ncurses version" >&5 +echo "configure:6431: 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 @@ -6344,7 +6452,7 @@ Autoconf "old" #endif EOF cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:6348: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } + { (eval echo configure:6456: \"$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" @@ -6353,7 +6461,7 @@ EOF else cat > conftest.$ac_ext <<EOF -#line 6357 "configure" +#line 6465 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -6376,7 +6484,7 @@ int main() exit(0); } EOF -if { (eval echo configure:6380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then cf_cv_ncurses_version=`cat $cf_tempfile` @@ -6401,7 +6509,7 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6 cf_ncurses_LIBS="" cf_ncurses_SAVE="$LIBS" echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:6405: checking for Gpm_Open in -lgpm" >&5 +echo "configure:6513: 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 @@ -6409,7 +6517,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgpm $LIBS" cat > conftest.$ac_ext <<EOF -#line 6413 "configure" +#line 6521 "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 @@ -6420,7 +6528,7 @@ int main() { Gpm_Open() ; return 0; } EOF -if { (eval echo configure:6424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6436,7 +6544,7 @@ fi 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:6440: checking for initscr in -lgpm" >&5 +echo "configure:6548: 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 @@ -6444,7 +6552,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgpm $LIBS" cat > conftest.$ac_ext <<EOF -#line 6448 "configure" +#line 6556 "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 @@ -6455,7 +6563,7 @@ int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6486,7 +6594,7 @@ freebsd*) # 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:6490: checking for tgoto in -lmytinfo" >&5 +echo "configure:6598: 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 @@ -6494,7 +6602,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmytinfo $LIBS" cat > conftest.$ac_ext <<EOF -#line 6498 "configure" +#line 6606 "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 @@ -6505,7 +6613,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:6509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6533,12 +6641,12 @@ LIBS="$cf_ncurses_LIBS $LIBS" cf_cv_have_lib_ncurses=no cf_libdir="" echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:6537: checking for initscr" >&5 +echo "configure:6645: 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 6542 "configure" +#line 6650 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char initscr(); below. */ @@ -6561,7 +6669,7 @@ initscr(); ; return 0; } EOF -if { (eval echo configure:6565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_initscr=yes" else @@ -6581,17 +6689,17 @@ else cf_save_LIBS="$LIBS" echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6 -echo "configure:6585: checking for initscr in -lncurses" >&5 +echo "configure:6693: checking for initscr in -lncurses" >&5 LIBS="-lncurses $LIBS" cat > conftest.$ac_ext <<EOF -#line 6588 "configure" +#line 6696 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_ncurses=yes @@ -6618,17 +6726,17 @@ test "$prefix" != /usr && cf_search="$cf_search /usr/lib /usr/lib/ncur for cf_libdir in $cf_search do echo $ac_n "checking for -lncurses in $cf_libdir""... $ac_c" 1>&6 -echo "configure:6622: checking for -lncurses in $cf_libdir" >&5 +echo "configure:6730: checking for -lncurses in $cf_libdir" >&5 LIBS="-L$cf_libdir -lncurses $cf_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 6625 "configure" +#line 6733 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_ncurses=yes @@ -6660,7 +6768,7 @@ esac 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:6664: checking if we can link ncurses without $cf_ncurses_LIBS" >&5 +echo "configure:6772: 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'$//'` @@ -6669,14 +6777,14 @@ echo "configure:6664: checking if we can link ncurses without $cf_ncurses_LIBS" fi done cat > conftest.$ac_ext <<EOF -#line 6673 "configure" +#line 6781 "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:6680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -6693,20 +6801,20 @@ fi slang) echo $ac_n "checking for slang header file""... $ac_c" 1>&6 -echo "configure:6697: checking for slang header file" >&5 +echo "configure:6805: 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 6703 "configure" +#line 6811 "configure" #include "confdefs.h" #include <slang.h> int main() { printf("%s\n", SLANG_VERSION) ; return 0; } EOF -if { (eval echo configure:6710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6818: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_slang_header=predefined else @@ -6788,24 +6896,24 @@ else cf_cv_lib_termcap=none cat > conftest.$ac_ext <<EOF -#line 6792 "configure" +#line 6900 "configure" #include "confdefs.h" int main() { char *x=(char*)tgoto("",0,0) ; return 0; } EOF -if { (eval echo configure:6799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 6802 "configure" +#line 6910 "configure" #include "confdefs.h" int main() { int x=tigetstr("") ; return 0; } EOF -if { (eval echo configure:6809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_termlib=terminfo else @@ -6827,7 +6935,7 @@ else # HP-UX 9.x terminfo has setupterm, but no tigetstr. if test "$termlib" = none; then echo $ac_n "checking for tigetstr in -ltermlib""... $ac_c" 1>&6 -echo "configure:6831: checking for tigetstr in -ltermlib" >&5 +echo "configure:6939: 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 @@ -6835,7 +6943,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermlib $LIBS" cat > conftest.$ac_ext <<EOF -#line 6839 "configure" +#line 6947 "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 @@ -6846,7 +6954,7 @@ int main() { tigetstr() ; return 0; } EOF -if { (eval echo configure:6850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6869,7 +6977,7 @@ fi fi if test "$cf_cv_lib_termcap" = none; then echo $ac_n "checking for tgoto in -ltermlib""... $ac_c" 1>&6 -echo "configure:6873: checking for tgoto in -ltermlib" >&5 +echo "configure:6981: 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 @@ -6877,7 +6985,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermlib $LIBS" cat > conftest.$ac_ext <<EOF -#line 6881 "configure" +#line 6989 "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 @@ -6888,7 +6996,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:6892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6912,7 +7020,7 @@ fi if test "$cf_cv_lib_termcap" = none; then # allow curses library for broken AIX system. echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6 -echo "configure:6916: checking for initscr in -lcurses" >&5 +echo "configure:7024: 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 @@ -6920,7 +7028,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcurses $LIBS" cat > conftest.$ac_ext <<EOF -#line 6924 "configure" +#line 7032 "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 @@ -6931,7 +7039,7 @@ int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6952,7 +7060,7 @@ else fi echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 -echo "configure:6956: checking for tgoto in -ltermcap" >&5 +echo "configure:7064: 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 @@ -6960,7 +7068,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermcap $LIBS" cat > conftest.$ac_ext <<EOF -#line 6964 "configure" +#line 7072 "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 @@ -6971,7 +7079,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:6975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6994,7 +7102,7 @@ fi fi if test "$cf_cv_lib_termcap" = none; then echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 -echo "configure:6998: checking for tgoto in -ltermcap" >&5 +echo "configure:7106: 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 @@ -7002,7 +7110,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermcap $LIBS" cat > conftest.$ac_ext <<EOF -#line 7006 "configure" +#line 7114 "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 @@ -7013,7 +7121,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:7017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7036,7 +7144,7 @@ fi fi if test "$cf_cv_lib_termcap" = none; then echo $ac_n "checking for tgoto in -lncurses""... $ac_c" 1>&6 -echo "configure:7040: checking for tgoto in -lncurses" >&5 +echo "configure:7148: 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 @@ -7044,7 +7152,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lncurses $LIBS" cat > conftest.$ac_ext <<EOF -#line 7048 "configure" +#line 7156 "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 @@ -7055,7 +7163,7 @@ int main() { tgoto() ; return 0; } EOF -if { (eval echo configure:7059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7087,12 +7195,12 @@ fi cf_slang_LIBS2="$LIBS" echo $ac_n "checking for acos""... $ac_c" 1>&6 -echo "configure:7091: checking for acos" >&5 +echo "configure:7199: 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 7096 "configure" +#line 7204 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char acos(); below. */ @@ -7115,7 +7223,7 @@ acos(); ; return 0; } EOF -if { (eval echo configure:7119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_acos=yes" else @@ -7134,7 +7242,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for acos in -lm""... $ac_c" 1>&6 -echo "configure:7138: checking for acos in -lm" >&5 +echo "configure:7246: 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 @@ -7142,7 +7250,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 7146 "configure" +#line 7254 "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 @@ -7153,7 +7261,7 @@ int main() { acos() ; return 0; } EOF -if { (eval echo configure:7157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7193,12 +7301,12 @@ fi cf_cv_have_lib_slang=no cf_libdir="" echo $ac_n "checking for SLtt_get_screen_size""... $ac_c" 1>&6 -echo "configure:7197: checking for SLtt_get_screen_size" >&5 +echo "configure:7305: 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 7202 "configure" +#line 7310 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char SLtt_get_screen_size(); below. */ @@ -7221,7 +7329,7 @@ SLtt_get_screen_size(); ; return 0; } EOF -if { (eval echo configure:7225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_SLtt_get_screen_size=yes" else @@ -7241,17 +7349,17 @@ else cf_save_LIBS="$LIBS" echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6 -echo "configure:7245: checking for SLtt_get_screen_size in -lslang" >&5 +echo "configure:7353: checking for SLtt_get_screen_size in -lslang" >&5 LIBS="-lslang $LIBS" cat > conftest.$ac_ext <<EOF -#line 7248 "configure" +#line 7356 "configure" #include "confdefs.h" #include <slang.h> int main() { SLtt_get_screen_size() ; return 0; } EOF -if { (eval echo configure:7255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_slang=yes @@ -7278,17 +7386,17 @@ test "$prefix" != /usr && cf_search="$cf_search /usr/lib /usr/lib/slan for cf_libdir in $cf_search do echo $ac_n "checking for -lslang in $cf_libdir""... $ac_c" 1>&6 -echo "configure:7282: checking for -lslang in $cf_libdir" >&5 +echo "configure:7390: checking for -lslang in $cf_libdir" >&5 LIBS="-L$cf_libdir -lslang $cf_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 7285 "configure" +#line 7393 "configure" #include "confdefs.h" #include <slang.h> int main() { SLtt_get_screen_size() ; return 0; } EOF -if { (eval echo configure:7292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_slang=yes @@ -7319,7 +7427,7 @@ esac cf_slang_LIBS3="$LIBS" echo $ac_n "checking if we can link slang without termcap""... $ac_c" 1>&6 -echo "configure:7323: checking if we can link slang without termcap" >&5 +echo "configure:7431: 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 @@ -7327,14 +7435,14 @@ else fi LIBS=`echo ".$cf_slang_LIBS3" | sed -e "s@$cf_exclude@@" -e 's@^.@@'` cat > conftest.$ac_ext <<EOF -#line 7331 "configure" +#line 7439 "configure" #include "confdefs.h" #include <slang.h> int main() { SLtt_get_screen_size() ; return 0; } EOF -if { (eval echo configure:7338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_result=yes else @@ -7354,7 +7462,7 @@ eval cf_libdir=$libdir 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:7358: checking for location of config-file" >&5 +echo "configure:7466: 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" @@ -7364,12 +7472,12 @@ echo "$ac_t""$LYNX_CFG_FILE" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:7368: checking for ANSI C header files" >&5 +echo "configure:7476: 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 7373 "configure" +#line 7481 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -7377,7 +7485,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7381: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7394,7 +7502,7 @@ rm -f conftest* 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 7398 "configure" +#line 7506 "configure" #include "confdefs.h" #include <string.h> EOF @@ -7412,7 +7520,7 @@ fi 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 7416 "configure" +#line 7524 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -7433,7 +7541,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 7437 "configure" +#line 7545 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -7444,7 +7552,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:7448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -7468,12 +7576,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:7472: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:7580: 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 7477 "configure" +#line 7585 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -7482,7 +7590,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:7486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7594: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -7507,12 +7615,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h 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:7511: checking for $ac_hdr that defines DIR" >&5 +echo "configure:7619: 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 7516 "configure" +#line 7624 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -7520,7 +7628,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:7524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7632: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -7545,7 +7653,7 @@ done # 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:7549: checking for opendir in -ldir" >&5 +echo "configure:7657: 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 @@ -7553,7 +7661,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <<EOF -#line 7557 "configure" +#line 7665 "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 @@ -7564,7 +7672,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:7568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7586,7 +7694,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:7590: checking for opendir in -lx" >&5 +echo "configure:7698: 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 @@ -7594,7 +7702,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <<EOF -#line 7598 "configure" +#line 7706 "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 @@ -7605,7 +7713,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:7609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7644,17 +7752,17 @@ for ac_hdr in \ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7648: checking for $ac_hdr" >&5 +echo "configure:7756: 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 7653 "configure" +#line 7761 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7682,13 +7790,13 @@ done echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6 -echo "configure:7686: checking termio.h and termios.h" >&5 +echo "configure:7794: 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 7692 "configure" +#line 7800 "configure" #include "confdefs.h" #if HAVE_TERMIO_H @@ -7701,7 +7809,7 @@ int main() { putchar (0x0a) ; return 0; } EOF -if { (eval echo configure:7705: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_termio_and_termios=yes else @@ -7724,17 +7832,17 @@ for ac_hdr in sys/wait.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7728: checking for $ac_hdr" >&5 +echo "configure:7836: 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 7733 "configure" +#line 7841 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7771,17 +7879,17 @@ for ac_hdr in wait.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7775: checking for $ac_hdr" >&5 +echo "configure:7883: 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 7780 "configure" +#line 7888 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7811,17 +7919,17 @@ for ac_hdr in waitstatus.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7815: checking for $ac_hdr" >&5 +echo "configure:7923: 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 7820 "configure" +#line 7928 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7933: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7862,13 +7970,13 @@ fi echo $ac_n "checking for union wait""... $ac_c" 1>&6 -echo "configure:7866: checking for union wait" >&5 +echo "configure:7974: 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 7872 "configure" +#line 7980 "configure" #include "confdefs.h" $cf_wait_headers int main() { @@ -7879,7 +7987,7 @@ int x; ; return 0; } EOF -if { (eval echo configure:7883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_type_unionwait=no echo compiles ok w/o union wait 1>&5 @@ -7890,7 +7998,7 @@ else rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 7894 "configure" +#line 8002 "configure" #include "confdefs.h" $cf_wait_headers int main() { @@ -7905,7 +8013,7 @@ union wait x; ; return 0; } EOF -if { (eval echo configure:7909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_type_unionwait=yes echo compiles ok with union wait and possibly macros too 1>&5 @@ -7932,20 +8040,20 @@ EOF 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:7936: checking if union wait can be used as wait-arg" >&5 +echo "configure:8044: 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 7942 "configure" +#line 8050 "configure" #include "confdefs.h" $cf_wait_headers int main() { union wait x; wait(&x) ; return 0; } EOF -if { (eval echo configure:7949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8057: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_arg_union_wait=yes else @@ -7965,20 +8073,20 @@ EOF echo $ac_n "checking if union wait can be used as waitpid-arg""... $ac_c" 1>&6 -echo "configure:7969: checking if union wait can be used as waitpid-arg" >&5 +echo "configure:8077: 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 7975 "configure" +#line 8083 "configure" #include "confdefs.h" $cf_wait_headers int main() { union wait x; waitpid(0, &x, 0) ; return 0; } EOF -if { (eval echo configure:7982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8090: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_arg_union_waitpid=yes else @@ -8004,17 +8112,17 @@ for ac_hdr in stdarg.h varargs.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:8008: checking for $ac_hdr" >&5 +echo "configure:8116: 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 8013 "configure" +#line 8121 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8018: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8041,13 +8149,13 @@ fi done echo $ac_n "checking for standard varargs""... $ac_c" 1>&6 -echo "configure:8045: checking for standard varargs" >&5 +echo "configure:8153: 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 8051 "configure" +#line 8159 "configure" #include "confdefs.h" #if HAVE_STDARG_H @@ -8062,7 +8170,7 @@ int main() { return 0;} int foo(char *fmt,...){va_list args;va_start(args,fmt);va_end(args) ; return 0; } EOF -if { (eval echo configure:8066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8174: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ansi_varargs=yes else @@ -8082,12 +8190,12 @@ EOF echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:8086: checking for uid_t in sys/types.h" >&5 +echo "configure:8194: 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 8091 "configure" +#line 8199 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -8116,7 +8224,7 @@ EOF fi echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6 -echo "configure:8120: checking type of array argument to getgroups" >&5 +echo "configure:8228: 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 @@ -8124,7 +8232,7 @@ else ac_cv_type_getgroups=cross else cat > conftest.$ac_ext <<EOF -#line 8128 "configure" +#line 8236 "configure" #include "confdefs.h" /* Thanks to Mike Rendell for this test. */ @@ -8149,7 +8257,7 @@ main() } EOF -if { (eval echo configure:8153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_type_getgroups=gid_t else @@ -8163,7 +8271,7 @@ fi if test $ac_cv_type_getgroups = cross; then cat > conftest.$ac_ext <<EOF -#line 8167 "configure" +#line 8275 "configure" #include "confdefs.h" #include <unistd.h> EOF @@ -8187,12 +8295,12 @@ EOF echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:8191: checking for pid_t" >&5 +echo "configure:8299: 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 8196 "configure" +#line 8304 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -8220,12 +8328,12 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:8224: checking for uid_t in sys/types.h" >&5 +echo "configure:8332: 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 8229 "configure" +#line 8337 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -8254,12 +8362,12 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:8258: checking for mode_t" >&5 +echo "configure:8366: 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 8263 "configure" +#line 8371 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -8290,17 +8398,17 @@ fi ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8294: checking for vfork.h" >&5 +echo "configure:8402: 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 8299 "configure" +#line 8407 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8325,18 +8433,18 @@ else fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:8329: checking for working vfork" >&5 +echo "configure:8437: 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:8335: checking for vfork" >&5 +echo "configure:8443: 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 8340 "configure" +#line 8448 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vfork(); below. */ @@ -8359,7 +8467,7 @@ vfork(); ; return 0; } EOF -if { (eval echo configure:8363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vfork=yes" else @@ -8380,7 +8488,7 @@ fi else cat > conftest.$ac_ext <<EOF -#line 8384 "configure" +#line 8492 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -8475,7 +8583,7 @@ main() { } } EOF -if { (eval echo configure:8479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_vfork_works=yes else @@ -8499,13 +8607,13 @@ fi echo $ac_n "checking if we should use fcntl or ioctl""... $ac_c" 1>&6 -echo "configure:8503: checking if we should use fcntl or ioctl" >&5 +echo "configure:8611: 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 8509 "configure" +#line 8617 "configure" #include "confdefs.h" #include <sys/types.h> @@ -8517,7 +8625,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:8521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_fionbio=ioctl else @@ -8526,7 +8634,7 @@ else rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 8530 "configure" +#line 8638 "configure" #include "confdefs.h" #include <sys/types.h> @@ -8543,7 +8651,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:8547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_fionbio=fcntl else @@ -8566,20 +8674,20 @@ EOF echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6 -echo "configure:8570: checking for broken/missing definition of remove" >&5 +echo "configure:8678: 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 8576 "configure" +#line 8684 "configure" #include "confdefs.h" #include <stdio.h> int main() { remove("dummy") ; return 0; } EOF -if { (eval echo configure:8583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_baddef_remove=no else @@ -8587,7 +8695,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 8591 "configure" +#line 8699 "configure" #include "confdefs.h" #include <stdio.h> int __unlink(name) { return unlink(name); } @@ -8595,7 +8703,7 @@ int main() { remove("dummy") ; return 0; } EOF -if { (eval echo configure:8599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_baddef_remove=yes else @@ -8619,13 +8727,13 @@ EOF echo $ac_n "checking for lstat""... $ac_c" 1>&6 -echo "configure:8623: checking for lstat" >&5 +echo "configure:8731: 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 8629 "configure" +#line 8737 "configure" #include "confdefs.h" #include <sys/types.h> @@ -8634,7 +8742,7 @@ int main() { lstat(".", (struct stat *)0) ; return 0; } EOF -if { (eval echo configure:8638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_lstat=yes else @@ -8659,6 +8767,8 @@ for ac_func in \ cuserid \ getcwd \ getgroups \ + gettimeofday \ + popen \ putenv \ readdir \ strerror \ @@ -8666,12 +8776,12 @@ for ac_func in \ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8670: checking for $ac_func" >&5 +echo "configure:8780: 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 8675 "configure" +#line 8785 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8694,7 +8804,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8724,12 +8834,12 @@ for ac_func in \ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8728: checking for $ac_func" >&5 +echo "configure:8838: 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 8733 "configure" +#line 8843 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8752,7 +8862,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8783,12 +8893,12 @@ for ac_func in strstr do echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6 -echo "configure:8787: checking for $ac_func declaration" >&5 +echo "configure:8897: 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 8792 "configure" +#line 8902 "configure" #include "confdefs.h" #include <string.h> int main() { @@ -8797,11 +8907,11 @@ extern int ${ac_func}(); #endif ; return 0; } EOF -if { (eval echo configure:8801: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 8805 "configure" +#line 8915 "configure" #include "confdefs.h" #include <string.h> int main() { @@ -8810,7 +8920,7 @@ int (*p)() = ${ac_func}; #endif ; return 0; } EOF -if { (eval echo configure:8814: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_decl_$ac_func=yes" @@ -8852,12 +8962,12 @@ for ac_func in getgrgid getgrnam do echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6 -echo "configure:8856: checking for $ac_func declaration" >&5 +echo "configure:8966: 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 8861 "configure" +#line 8971 "configure" #include "confdefs.h" #include <stdio.h> @@ -8868,11 +8978,11 @@ extern int ${ac_func}(); #endif ; return 0; } EOF -if { (eval echo configure:8872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 8876 "configure" +#line 8986 "configure" #include "confdefs.h" #include <stdio.h> @@ -8883,7 +8993,7 @@ int (*p)() = ${ac_func}; #endif ; return 0; } EOF -if { (eval echo configure:8887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_decl_$ac_func=yes" @@ -8925,13 +9035,13 @@ done echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6 -echo "configure:8929: checking if TRUE/FALSE are defined" >&5 +echo "configure:9039: 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 8935 "configure" +#line 9045 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -8940,7 +9050,7 @@ int main() { int x = TRUE, y = FALSE ; return 0; } EOF -if { (eval echo configure:8944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_bool_defs=yes else @@ -8967,13 +9077,13 @@ fi echo $ac_n "checking declaration of errno""... $ac_c" 1>&6 -echo "configure:8971: checking declaration of errno" >&5 +echo "configure:9081: checking declaration of errno" >&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 8977 "configure" +#line 9087 "configure" #include "confdefs.h" #if HAVE_STDLIB_H @@ -8986,7 +9096,7 @@ int main() { long x = (long) errno ; return 0; } EOF -if { (eval echo configure:8990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval 'cf_cv_dcl_'errno'=yes' else @@ -9016,9 +9126,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'` EOF echo $ac_n "checking existence of errno""... $ac_c" 1>&6 -echo "configure:9020: checking existence of errno" >&5 +echo "configure:9130: checking existence of errno" >&5 cat > conftest.$ac_ext <<EOF -#line 9022 "configure" +#line 9132 "configure" #include "confdefs.h" #undef errno @@ -9028,7 +9138,7 @@ int main() { errno = 2 ; return 0; } EOF -if { (eval echo configure:9032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval 'cf_cv_have_'errno'=yes' else @@ -9058,20 +9168,20 @@ EOF echo $ac_n "checking for setlocale()""... $ac_c" 1>&6 -echo "configure:9062: checking for setlocale()" >&5 +echo "configure:9172: 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 9068 "configure" +#line 9178 "configure" #include "confdefs.h" #include <locale.h> int main() { setlocale(LC_ALL, "") ; return 0; } EOF -if { (eval echo configure:9075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_locale=yes else @@ -9092,13 +9202,13 @@ EOF echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6 -echo "configure:9096: checking if NGROUPS is defined" >&5 +echo "configure:9206: 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 9102 "configure" +#line 9212 "configure" #include "confdefs.h" #if HAVE_SYS_PARAM_H @@ -9112,7 +9222,7 @@ int main() { int x = NGROUPS ; return 0; } EOF -if { (eval echo configure:9116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ngroups=yes else @@ -9120,7 +9230,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 9124 "configure" +#line 9234 "configure" #include "confdefs.h" #if HAVE_SYS_PARAM_H @@ -9134,7 +9244,7 @@ int main() { int x = NGROUPS_MAX ; return 0; } EOF -if { (eval echo configure:9138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ngroups=NGROUPS_MAX else @@ -9168,13 +9278,13 @@ for cf_name in sys_nerr sys_errlist do echo $ac_n "checking declaration of $cf_name""... $ac_c" 1>&6 -echo "configure:9172: checking declaration of $cf_name" >&5 +echo "configure:9282: checking declaration of $cf_name" >&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 9178 "configure" +#line 9288 "configure" #include "confdefs.h" #if HAVE_STDLIB_H @@ -9187,7 +9297,7 @@ int main() { long x = (long) $cf_name ; return 0; } EOF -if { (eval echo configure:9191: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval 'cf_cv_dcl_'$cf_name'=yes' else @@ -9217,9 +9327,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'` EOF echo $ac_n "checking existence of $cf_name""... $ac_c" 1>&6 -echo "configure:9221: checking existence of $cf_name" >&5 +echo "configure:9331: checking existence of $cf_name" >&5 cat > conftest.$ac_ext <<EOF -#line 9223 "configure" +#line 9333 "configure" #include "confdefs.h" #undef $cf_name @@ -9229,7 +9339,7 @@ int main() { $cf_name = 2 ; return 0; } EOF -if { (eval echo configure:9233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval 'cf_cv_have_'$cf_name'=yes' else @@ -9260,13 +9370,13 @@ done echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6 -echo "configure:9264: checking if struct utmp is declared" >&5 +echo "configure:9374: 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 9270 "configure" +#line 9380 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9275,7 +9385,7 @@ int main() { struct utmp x; char *y = &x.ut_host[0] ; return 0; } EOF -if { (eval echo configure:9279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_have_utmp=yes else @@ -9283,14 +9393,14 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext <<EOF -#line 9287 "configure" +#line 9397 "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:9294: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_have_utmp=utmpx else @@ -9319,13 +9429,13 @@ EOF echo $ac_n "checking if character set is EBCDIC""... $ac_c" 1>&6 -echo "configure:9323: checking if character set is EBCDIC" >&5 +echo "configure:9433: 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 9329 "configure" +#line 9439 "configure" #include "confdefs.h" int main() { @@ -9338,7 +9448,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:9342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9452: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # TryCompile action if true cf_cv_ebcdic=yes @@ -9372,7 +9482,7 @@ esac if test $cf_cv_screen != slang ; then echo $ac_n "checking if curses supports alternate-character set""... $ac_c" 1>&6 -echo "configure:9376: checking if curses supports alternate-character set" >&5 +echo "configure:9486: 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 @@ -9380,7 +9490,7 @@ else for mapname in acs_map _acs_map do cat > conftest.$ac_ext <<EOF -#line 9384 "configure" +#line 9494 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -9389,7 +9499,7 @@ int main() { chtype x = $mapname['l']; $mapname['m'] = 0 ; return 0; } EOF -if { (eval echo configure:9393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_alt_char_set=$mapname break @@ -9412,13 +9522,13 @@ EOF echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6 -echo "configure:9416: checking if curses supports fancy attributes" >&5 +echo "configure:9526: 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 9422 "configure" +#line 9532 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -9431,7 +9541,7 @@ attrset(A_UNDERLINE|A_BOLD|A_REVERSE); ; return 0; } EOF -if { (eval echo configure:9435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_fancy_curses=yes else @@ -9451,7 +9561,7 @@ EOF echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:9455: checking for ncurses version" >&5 +echo "configure:9565: 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 @@ -9476,7 +9586,7 @@ Autoconf "old" #endif EOF cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:9480: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } + { (eval echo configure:9590: \"$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" @@ -9485,7 +9595,7 @@ EOF else cat > conftest.$ac_ext <<EOF -#line 9489 "configure" +#line 9599 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -9508,7 +9618,7 @@ int main() exit(0); } EOF -if { (eval echo configure:9512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:9622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then cf_cv_ncurses_version=`cat $cf_tempfile` @@ -9528,13 +9638,13 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6 if test "$cf_cv_ncurses_version" != no ; then echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6 -echo "configure:9532: checking for obsolete/broken version of ncurses" >&5 +echo "configure:9642: 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 9538 "configure" +#line 9648 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -9548,7 +9658,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:9552: \"$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_ncurses_broken=no else @@ -9573,13 +9683,13 @@ fi echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6 -echo "configure:9577: checking if curses supports color attributes" >&5 +echo "configure:9687: 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 9583 "configure" +#line 9693 "configure" #include "confdefs.h" #include <${cf_cv_ncurses_header-curses.h}> @@ -9594,7 +9704,7 @@ chtype x = COLOR_BLUE; ; return 0; } EOF -if { (eval echo configure:9598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_color_curses=yes else @@ -9621,7 +9731,7 @@ fi echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6 -echo "configure:9625: checking declaration of size-change" >&5 +echo "configure:9735: 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 @@ -9635,7 +9745,7 @@ do CFLAGS="$cf_save_CFLAGS" test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts" cat > conftest.$ac_ext <<EOF -#line 9639 "configure" +#line 9749 "configure" #include "confdefs.h" #include <sys/types.h> #if HAVE_TERMIOS_H @@ -9674,7 +9784,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:9678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_sizechange=yes else @@ -9706,20 +9816,20 @@ EOF echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6 -echo "configure:9710: checking if ttytype is declared in curses library" >&5 +echo "configure:9820: 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 9716 "configure" +#line 9826 "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:9723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cf_cv_have_ttytype=yes else @@ -9747,12 +9857,12 @@ EOF do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9751: checking for $ac_func" >&5 +echo "configure:9861: 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 9756 "configure" +#line 9866 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9775,7 +9885,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:9779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9805,7 +9915,7 @@ fi echo $ac_n "checking if new-style forms-based options screen should be used""... $ac_c" 1>&6 -echo "configure:9809: checking if new-style forms-based options screen should be used" >&5 +echo "configure:9919: 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 @@ -9829,7 +9939,7 @@ EOF echo $ac_n "checking if old-style options menu should be used""... $ac_c" 1>&6 -echo "configure:9833: checking if old-style options menu should be used" >&5 +echo "configure:9943: 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 @@ -9853,7 +9963,7 @@ EOF echo $ac_n "checking if configuration info should be browsable""... $ac_c" 1>&6 -echo "configure:9857: checking if configuration info should be browsable" >&5 +echo "configure:9967: 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 @@ -9877,7 +9987,7 @@ EOF echo $ac_n "checking if experimental alternative line-edit bindings should be used""... $ac_c" 1>&6 -echo "configure:9881: checking if experimental alternative line-edit bindings should be used" >&5 +echo "configure:9991: checking if experimental 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 @@ -9901,7 +10011,7 @@ EOF echo $ac_n "checking if experimental keyboard-layout logic should be used""... $ac_c" 1>&6 -echo "configure:9905: checking if experimental keyboard-layout logic should be used" >&5 +echo "configure:10015: 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 @@ -9925,7 +10035,7 @@ EOF echo $ac_n "checking if experimental persistent-cookie logic should be used""... $ac_c" 1>&6 -echo "configure:9929: checking if experimental persistent-cookie logic should be used" >&5 +echo "configure:10039: checking if experimental 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 @@ -9949,7 +10059,7 @@ EOF echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6 -echo "configure:9953: checking if color-style code should be used" >&5 +echo "configure:10063: 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 @@ -9997,7 +10107,7 @@ EOF echo "$ac_t""yes" 1>&6 echo $ac_n "checking for location of style-sheet file""... $ac_c" 1>&6 -echo "configure:10001: checking for location of style-sheet file" >&5 +echo "configure:10111: 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" @@ -10010,7 +10120,7 @@ esac echo $ac_n "checking if partial-display should be used""... $ac_c" 1>&6 -echo "configure:10014: checking if partial-display should be used" >&5 +echo "configure:10124: checking if partial-display should be used" >&5 # Check whether --enable-partial or --disable-partial was given. if test "${enable_partial+set}" = set; then @@ -10039,7 +10149,7 @@ test ".$ac_cv_func_use_default_colors" = ".yes" && use_dft_colors=maybe if test "$use_dft_colors" != no ; then echo $ac_n "checking if you want to use default-colors""... $ac_c" 1>&6 -echo "configure:10043: checking if you want to use default-colors" >&5 +echo "configure:10153: 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 @@ -10064,7 +10174,7 @@ EOF fi echo $ac_n "checking if you want to use extended HTML DTD logic""... $ac_c" 1>&6 -echo "configure:10068: checking if you want to use extended HTML DTD logic" >&5 +echo "configure:10178: 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 @@ -10088,7 +10198,7 @@ EOF echo $ac_n "checking if you want to use external commands""... $ac_c" 1>&6 -echo "configure:10092: checking if you want to use external commands" >&5 +echo "configure:10202: 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 @@ -10112,7 +10222,7 @@ EOF echo $ac_n "checking if you want to use setfont support""... $ac_c" 1>&6 -echo "configure:10116: checking if you want to use setfont support" >&5 +echo "configure:10226: 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 @@ -10136,7 +10246,7 @@ EOF echo $ac_n "checking if you want cgi-link support""... $ac_c" 1>&6 -echo "configure:10140: checking if you want cgi-link support" >&5 +echo "configure:10250: 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 @@ -10155,7 +10265,7 @@ fi echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if you want exec-links support""... $ac_c" 1>&6 -echo "configure:10159: checking if you want exec-links support" >&5 +echo "configure:10269: 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 @@ -10174,7 +10284,7 @@ fi echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if you want exec-scripts support""... $ac_c" 1>&6 -echo "configure:10178: checking if you want exec-scripts support" >&5 +echo "configure:10288: 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 @@ -10193,7 +10303,7 @@ fi echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if you want internal-links feature""... $ac_c" 1>&6 -echo "configure:10197: checking if you want internal-links feature" >&5 +echo "configure:10307: 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 @@ -10217,7 +10327,7 @@ EOF echo $ac_n "checking if you want to fork NSL requests""... $ac_c" 1>&6 -echo "configure:10221: checking if you want to fork NSL requests" >&5 +echo "configure:10331: 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 @@ -10241,7 +10351,7 @@ EOF echo $ac_n "checking if you want to log URL requests via syslog""... $ac_c" 1>&6 -echo "configure:10245: checking if you want to log URL requests via syslog" >&5 +echo "configure:10355: 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 @@ -10265,7 +10375,7 @@ EOF echo $ac_n "checking if you want to underline links""... $ac_c" 1>&6 -echo "configure:10269: checking if you want to underline links" >&5 +echo "configure:10379: checking if you want to underline links" >&5 # Check whether --enable-underlines or --disable-underlines was given. if test "${enable_underlines+set}" = set; then @@ -10289,7 +10399,7 @@ EOF echo $ac_n "checking if help files should be gzip'ed""... $ac_c" 1>&6 -echo "configure:10293: checking if help files should be gzip'ed" >&5 +echo "configure:10403: 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 @@ -10318,7 +10428,7 @@ fi echo $ac_n "checking if you want to use zlib for decompression of some gzip files""... $ac_c" 1>&6 -echo "configure:10322: checking if you want to use zlib for decompression of some gzip files" >&5 +echo "configure:10432: 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 @@ -10335,12 +10445,12 @@ if test ".$use_zlib" != ".no" ; then cf_cv_have_lib_z=no cf_libdir="" echo $ac_n "checking for gzopen""... $ac_c" 1>&6 -echo "configure:10339: checking for gzopen" >&5 +echo "configure:10449: 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 10344 "configure" +#line 10454 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gzopen(); below. */ @@ -10363,7 +10473,7 @@ gzopen(); ; return 0; } EOF -if { (eval echo configure:10367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gzopen=yes" else @@ -10383,17 +10493,17 @@ else cf_save_LIBS="$LIBS" echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6 -echo "configure:10387: checking for gzopen in -lz" >&5 +echo "configure:10497: checking for gzopen in -lz" >&5 LIBS="-lz $LIBS" cat > conftest.$ac_ext <<EOF -#line 10390 "configure" +#line 10500 "configure" #include "confdefs.h" #include <zlib.h> int main() { gzopen("name","mode") ; return 0; } EOF -if { (eval echo configure:10397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10507: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_z=yes @@ -10420,17 +10530,17 @@ test "$prefix" != /usr && cf_search="$cf_search /usr/lib /usr/lib/z" for cf_libdir in $cf_search do echo $ac_n "checking for -lz in $cf_libdir""... $ac_c" 1>&6 -echo "configure:10424: checking for -lz in $cf_libdir" >&5 +echo "configure:10534: checking for -lz in $cf_libdir" >&5 LIBS="-L$cf_libdir -lz $cf_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 10427 "configure" +#line 10537 "configure" #include "confdefs.h" #include <zlib.h> int main() { gzopen("name","mode") ; return 0; } EOF -if { (eval echo configure:10434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cf_cv_have_lib_z=yes @@ -10471,7 +10581,7 @@ fi # 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:10475: checking if directory-editor code should be used" >&5 +echo "configure:10585: 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 @@ -10497,7 +10607,7 @@ EOF echo $ac_n "checking if you wish to allow extracting from archives via DirEd""... $ac_c" 1>&6 -echo "configure:10501: checking if you wish to allow extracting from archives via DirEd" >&5 +echo "configure:10611: 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 @@ -10516,7 +10626,7 @@ fi 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:10520: checking if you wish to allow users to redefine DirEd keys" >&5 +echo "configure:10630: 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 @@ -10542,7 +10652,7 @@ fi echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if you wish to allow permissions commands via DirEd""... $ac_c" 1>&6 -echo "configure:10546: checking if you wish to allow permissions commands via DirEd" >&5 +echo "configure:10656: checking if you wish to allow permissions commands via DirEd" >&5 # Check whether --enable-dired-permit or --disable-dired-permit was given. if test "${enable_dired_permit+set}" = set; then @@ -10568,7 +10678,7 @@ fi 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:10572: checking if you wish to allow executable-permission commands via DirEd" >&5 +echo "configure:10682: 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 @@ -10587,7 +10697,7 @@ fi 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:10591: checking if you wish to allow "tar" commands from DirEd" >&5 +echo "configure:10701: 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 @@ -10613,7 +10723,7 @@ fi 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:10617: checking if you wish to allow "uudecode" commands from DirEd" >&5 +echo "configure:10727: 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 @@ -10639,7 +10749,7 @@ fi 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:10643: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5 +echo "configure:10753: 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 @@ -10665,7 +10775,7 @@ fi 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:10669: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5 +echo "configure:10779: 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 @@ -10692,7 +10802,7 @@ fi fi echo $ac_n "checking if you want long-directory listings""... $ac_c" 1>&6 -echo "configure:10696: checking if you want long-directory listings" >&5 +echo "configure:10806: 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 @@ -10718,7 +10828,7 @@ fi echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6 -echo "configure:10722: checking if parent-directory references are permitted" >&5 +echo "configure:10832: 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 @@ -10738,7 +10848,7 @@ echo "$ac_t""$enableval" 1>&6 echo $ac_n "checking if we can include termio.h with curses""... $ac_c" 1>&6 -echo "configure:10742: checking if we can include termio.h with curses" >&5 +echo "configure:10852: 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 @@ -10747,7 +10857,7 @@ else 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 10751 "configure" +#line 10861 "configure" #include "confdefs.h" #include <LYCurses.h> @@ -10756,7 +10866,7 @@ int main() { putchar(0x0a) ; return 0; } EOF -if { (eval echo configure:10760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_termio_and_curses=yes else @@ -10791,6 +10901,9 @@ if test -n "$srcdir" ; then test "$srcdir" != "." && SRCDIR_CLEAN="" fi +test -z "$CONFIG_SHELL" && CONFIG_SHELL=/bin/sh + + trap '' 1 2 15 cat > confcache <<\EOF @@ -10970,6 +11083,7 @@ s%@GT_NO@%$GT_NO%g s%@GT_YES@%$GT_YES%g s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g s%@l@%$l%g +s%@NLS_DATADIR@%$NLS_DATADIR%g s%@INTLDIR_MAKE@%$INTLDIR_MAKE%g s%@MSG_DIR_MAKE@%$MSG_DIR_MAKE%g s%@CHMOD@%$CHMOD%g @@ -10983,6 +11097,7 @@ s%@TAR@%$TAR%g s%@TOUCH@%$TOUCH%g s%@UNCOMPRESS@%$UNCOMPRESS%g s%@UNZIP@%$UNZIP%g +s%@BZIP2@%$BZIP2%g s%@UUDECODE@%$UUDECODE%g s%@ZCAT@%$ZCAT%g s%@ZIP@%$ZIP%g @@ -10991,6 +11106,7 @@ s%@LIBOBJS@%$LIBOBJS%g s%@INSTALL_LSS@%$INSTALL_LSS%g s%@COMPRESS_PROG@%$COMPRESS_PROG%g s%@COMPRESS_EXT@%$COMPRESS_EXT%g +s%@CONFIG_SHELL@%$CONFIG_SHELL%g s%@SRCDIR_CLEAN@%$SRCDIR_CLEAN%g CEOF diff --git a/configure.in b/configure.in index 7d4f96a3..f05a1876 100644 --- a/configure.in +++ b/configure.in @@ -29,7 +29,7 @@ AC_CHECK_PROGS(LINT, lint alint lclint tdlint, []) AC_AIX AC_ISC_POSIX - + dnl -------------------------------------------------------------------------- dnl Debug/development/test dnl -------------------------------------------------------------------------- @@ -107,6 +107,12 @@ Basic Configuration Options:) dnl internationalization macros AM_GNU_GETTEXT +CF_WITH_PATH(nls-datadir, +[ --with-nls-datadir=DIR NLS data, parent of locale], +NLS_DATADIR, +[PREFIX/DATADIR], +[$prefix/$DATADIRNAME]) + INTLDIR_MAKE= MSG_DIR_MAKE= SUB_MAKEFILE= @@ -163,6 +169,7 @@ CF_PATH_PROG(TAR, tar) CF_PATH_PROG(TOUCH, touch) CF_PATH_PROG(UNCOMPRESS,gunzip) CF_PATH_PROG(UNZIP, unzip) +CF_PATH_PROG(BZIP2, bzip2) CF_PATH_PROG(UUDECODE, uudecode) CF_PATH_PROG(ZCAT, zcat) CF_PATH_PROG(ZIP, zip) @@ -429,6 +436,8 @@ AC_CHECK_FUNCS( \ cuserid \ getcwd \ getgroups \ + gettimeofday \ + popen \ putenv \ readdir \ strerror \ @@ -782,6 +791,9 @@ if test -n "$srcdir" ; then test "$srcdir" != "." && SRCDIR_CLEAN="" fi +test -z "$CONFIG_SHELL" && CONFIG_SHELL=/bin/sh +AC_SUBST(CONFIG_SHELL) + AC_SUBST(SRCDIR_CLEAN) AC_OUTPUT( [makefile \ diff --git a/docs/CHANGES2.3 b/docs/CHANGES2.3 index f9653d4e..f1a480a2 100644 --- a/docs/CHANGES2.3 +++ b/docs/CHANGES2.3 @@ -63,13 +63,13 @@ not to work. So HTTP redirection appears to work now! * Added Referer: header to HTTP requests to list the URL of the document listing the requsted URL. Here's an extract from CERN: - This optional header field allows the client to specify, - for the server's benefit, the address ( URI ) of the document - (or element within the document) from which the URI in the - request was obtained. + This optional header field allows the client to specify, + for the server's benefit, the address ( URI ) of the document + (or element within the document) from which the URI in the + request was obtained. - This allows a server to generate lists of back-links to documents, - for interest, logging, etc. It allows bad links to be traced + This allows a server to generate lists of back-links to documents, + for interest, logging, etc. It allows bad links to be traced for maintenance. 2-8-94 @@ -140,7 +140,7 @@ transfer to abort. If there is a partial file to show, it will be shown. * Added command line option -show_curser. If enabled the curser - will not be hidden in the right hand corner but will instead + will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. show curser is the default for systems without FANCY_CURSES capibilities, and the default configuration can be changed in @@ -175,10 +175,10 @@ -grey area- * Ability to FTP to VMS systems. (Foteos Macrides) * Fixed lots of display and interupt problems (Foteos Macrides) -* The Lynx Bookmark file is now interpreted as an HTML document. +* The Lynx Bookmark file is now interpreted as an HTML document. Old Lynx bookmark files must be converted using the lynx2html program or deleted. -* HTML+ forms as implemented by XMosaic now work. +* HTML+ forms as implemented by XMosaic now work. fill in the empty spaces and press the submit button to submit the form. * The TEXTAREA tag isn't done yet. It will currently only @@ -188,7 +188,7 @@ * Incorporated WWWlib 2.14 and fixed up the descrip.mms files. Foteos Macrides made VMS port changes and wrote a really nice build.com script to make compilation on VMS systems really easy. - Foteos also ported Lynx to OpenVMS for alpha axp systems. + Foteos also ported Lynx to OpenVMS for alpha axp systems. * 's' now means search a searchable indexed document through the server, and can no longer be used to search for strings within the displayed document. @@ -214,14 +214,14 @@ * '/' always means search within the document. -grey area- -* still doing massive rewrite. Debugging!! +* still doing massive rewrite. Debugging!! 11-30-93 * anonymous users cannot change the bookmark page! (thanks to Jyrki Kuoppal for pointing out a security hole) -grey area- -* massive rewrite. Removed all Lynx internal format code and +* massive rewrite. Removed all Lynx internal format code and restructured all the source files. 11-8-93 @@ -259,7 +259,7 @@ 10-12-93 * The users specified editor is now spawned for mail messages. - If no editor is defined or if the user is anonymous, the built-in + If no editor is defined or if the user is anonymous, the built-in lynx mail sender is used. 10-11-93 @@ -286,7 +286,7 @@ * fixed coredump bug for some files with no links. 9-3-93 -* Moved many configuration options including printer setup to +* Moved many configuration options including printer setup to lynx.cfg file. The default placement of the lynx.cfg file will be /usr/local/lib & sys$public @@ -298,7 +298,7 @@ * Fixed bug with only one link selectable out of many on the last line of the display. * Ported to SVR4 courtesy of Nickolay Saukh (from Russia, Wow this is - really getting around!) + really getting around!) * Uneditable documents don't get refetched. (Nickolay Saukh) * National language support through LOCALE (instead of ISOLATIN1), protected by #ifdef LOCALE (Nickolay Saukh) @@ -324,7 +324,7 @@ 8-19-93 * updated help and converted it to HTML. Made a new help location and - server. The new default help file is + server. The new default help file is http://kufacts.cc.ukans.edu/lynx_help/lynx_help_main.html 8-15-93 @@ -339,10 +339,10 @@ 8-14-93 * Added document reload command. CTRL-R when pressed will reload the document into memory and redisplay it, clearing the screen. - This is very useful when editing documents, outside of Lynx while + This is very useful when editing documents, outside of Lynx while using Lynx for rendering. * Added source view mode. '\' when pressed will reload the document - and display the HTML source. (doesn't work for gopher directoryies right + and display the HTML source. (doesn't work for gopher directoryies right now, but gopher isn't HTML anyways) * fixed bug in LibWWW that caused it not to be able to convert to www/source. @@ -354,16 +354,16 @@ ??-??-?? * At some point I added the ability to edit HTML files on the local - machine. + machine. 8-12-93 * Added Nested Lists, up to six levels, with different bullets for each level. * Due to the fact that nearly everyone seems to use P to mean - two returns within the same style, and Mosaic has been kind + two returns within the same style, and Mosaic has been kind enough to support this meaning, :( :( :( I have changed the P tag to reflect this interpretation. P can be used - anywhere and will mean insert two returns. (i.e. two BR tags) + anywhere and will mean insert two returns. (i.e., two BR tags) 8-11-93 * Made the default Mime type for unknown file types on ftp servers diff --git a/docs/CHANGES2.4 b/docs/CHANGES2.4 index 2d242e2e..19221e36 100644 --- a/docs/CHANGES2.4 +++ b/docs/CHANGES2.4 @@ -349,7 +349,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: * Fixed glitch in 'p'rint menu. - FM 01-24-95 * Enabled SOCKSification for any Unix flavor via the SITE-LYDEFS, - SITE-DEFS and SOCKSLIB definitions in the top-level Makefile. Added + SITE-DEFS and SOCKSLIB definitions in the top-level Makefile. Added info in INSTALLATION on how to do it for VMS. Included notes that you are better off building Lynx normally, and instead using a SOCKSified proxy server to get through a firewall. - FM @@ -447,7 +447,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: This allows you to set both LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE to TRUE and a single TRUSTED_EXEC rule that will always fail (e.g., TRUSTED_EXEC:none), so that *ONLY* the lynxexec URL's in the jumps - file will be acted upon. - FM + file will be acted upon. - FM * Disallow lynxexec URL's in G)oto if no_shell is set or if LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE is TRUE. - FM 12-21-94 @@ -470,7 +470,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: * Added possibility of logging URL access via syslog() on Unix (ifdef'd with LOGGING). * Improved and made more flexible the security for lynxexec URL's. The - default behaviour is the same as now, but source locations and the path + default behaviour is the same as now, but source locations and the path (Unix) or name (VMS) of programs to be executed can be restricted via TRUSTED_EXEC rules in the lynx.cfg file. * Convert ~ in lynxexec paths to $HOME on Unix. @@ -544,7 +544,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: files, and updated the instruction files. - FM 12-09-94 * Modifed PassesTest() in HTInit.c to avoid the overhead of system() calls - by using getenv() when test -n "$DISPLAY" and test -z "$DISPLAY" + by using getenv() when test -n "$DISPLAY" and test -z "$DISPLAY" commands are encountered in the mailcap file. Otherwise, needlessly expensive system() calls potentially could be made for virtually every viewer mapping in that file!. For Lynx, those two strings in the mailcap @@ -579,7 +579,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: submissions of forms to servers (i.e., never use cache). LYK_ACTIVATE (with default binding to right-arrow and RETURN) still fetches from cache if available. Statusline help describes these commands when positioned - on a submit button. - FM + on a submit button. - FM 12-08-94 * Fixed HText_submitForm() in GridText.c to handle submitting INPUT types (e.g., type="image") which have name/value pairs. - FM @@ -599,7 +599,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: These mods are also desireable for builds on Unix. - FM 12-02-94 * Fixed the query recall buffer in do_www_search() of GridText.c to restore - the +'s to spaces and unescape properly. - FM + the +'s to spaces and unescape properly. - FM * Include file and define fix ups, for SOCKETSHR/NETLIB support and convex builds, in tcp.h, LYShowInfo.c and top level Makefile. - FM 11-27-94 @@ -611,7 +611,7 @@ Worked in mods from David Trueman (david@cs.dal.ca) - FM: * Check -trace switch earlier in LYMain.c so that trace messages associated with setting up the Lynx configuration will actually be displayed. - GL 11-23-94 -* More fix ups for the SOCKETSHR/NETLIB support. Close to "all set" but needs +* More fix ups for the SOCKETSHR/NETLIB support. Close to "all set" but needs more field testing with the full range of TCPIP packages for VMS. - FM * Added HP_TERMINAL define for the DIM workaround to the REVERSE problem with HP terminals. If not defined, SNAKE builds will not make that substitution diff --git a/docs/CHANGES2.5 b/docs/CHANGES2.5 index 38621df6..6d2980ca 100644 --- a/docs/CHANGES2.5 +++ b/docs/CHANGES2.5 @@ -9,7 +9,7 @@ site-specific libraries associated with any site-specific patches. - FM * Fixed an unsigned char typecast in GridText.c - FM * Eliminated statusline and TRACE warnings about possibly strange formatting - when TABLEs are in a document. - FM + when TABLEs are in a document. - FM 05-01-96 * Renamed Lynx2-4-FM for pre-release as Lynx2-5 04-30-96 @@ -27,7 +27,7 @@ Any execution links or form ACTIONs are permitted if obtained from documents in the realm, but any switches that restrict bookmark operations will still apply. For example, -book -realm will use the bookmark file - as the startfile, and restrict URLs to files in the user's account. Adding + as the startfile, and restrict URLs to files in the user's account. Adding -restrictions=bookmark_exec will block execution links in the bookmark file, but not in other files within the realm (i.e., in the user's account). If the startfile is an http URL, the realm will be equivalent @@ -229,7 +229,7 @@ gopher://cegt201.bradley.edu:79/0/w%20davidh or: finger://cegt201.bradley.edu/w/davidh as URL.s - FM * Added LYK_INTERRUPT handling for the CSO/PH and finger gateways, and - made their memory management more efficient. - FM + made their memory management more efficient. - FM * Made the my_spawn() function in LYLocal.c more portable by using waitpid() instead of wait(). - FM * Restored the Lynx2-3 behavior of seeking the current position and link @@ -322,7 +322,7 @@ or request will be dumped, and the submission or request will be made with the "Pragma: no-cache" and "Cache-Control: no-cache" headers included, to ensure that a proxy/cache server also will not return a - cached copy (assuming it respects either of those headers). - FM + cached copy (assuming it respects either of those headers). - FM 03-01-96 * Converted the client-side image MAP code to a protocol which returns a stream, rather than using a temporary file. This allows saving @@ -740,7 +740,7 @@ to the appropriate case before entering them into the anchor hash table or otherwise acting on them. - FM * Added ability to change the default reply to the "really quit" prompt - from "[Y]" to "[N]" via a compilation symbol in userdefs.h. - DT + from "[Y]" to "[N]" via a compilation symbol in userdefs.h. - DT 11-29-95 * Added ALIGN attribute for HR (default is "center"). - FM 11-28-95 @@ -913,7 +913,7 @@ editor. - FM 10-25-95 * Handle all characters in strings for the new line editor as unsigned - so they don't go negative if 8-bit. - DW + so they don't go negative if 8-bit. - DW * Restored proper handling of the MAXLENGTH attribute in INPUTs for strings entered with the new line editor. - FM 10-24-95 @@ -955,7 +955,7 @@ "zzz."). The Roman TYPES are "I" (upper case) and "i" (lower case), and can range from 1 (" I." or " i.") to 3000 ("MMM." or "mmm."). SEQNUM values should always be Arabic, and will be converted to - other types (e.g. SEQNUM="27" TYPE="a" will yield "aa." for the + other types (e.g., SEQNUM="27" TYPE="a" will yield "aa." for the next LI). The CONTINUE attribute will cause the sequence and TYPE of the preceding OL to be continued for LIs in the current OL. - FM 10-16-95 @@ -983,7 +983,7 @@ * Typo fix in HTTCP.c for non-MULTINET VMS builds. - Gary Chow (garyc@mrs.com) 10-09-95 * Assume the root as path in HTParse() of HTParse.c if the access and host - but no path are given, and the access is http, https, or ftp. - FM + but no path are given, and the access is http, https, or ftp. - FM 10-05-95 * Make sure the FREE(x) macro gets defined for HTTCP.c. - FM 10-04-95 @@ -1082,7 +1082,7 @@ documents now include emphasis tags for NAME (ID) anchors if it's desired, because the most common graphic clients don't emphasize them by default, so we should adjust to that in Lynx as well (IMHO 8-). Added emphasis - tags for the NAME anchors in the Lynx help files. - FM + tags for the NAME anchors in the Lynx help files. - FM * Eliminated forced uppercasing of H1 headers. Most documents have mixed casing and we should preserve it (IMHO 8-). Added a BOLD_H1 configuration symbol, set FALSE by default, for making H1 headers bold even if BOLD_HEADERS @@ -1122,7 +1122,7 @@ 09-05-95 * Enabled the -help switch when no configuration file is available and Lynx would otherwise exit (i.e., it now outputs the help message before - it exits). - FM + it exits). - FM * Documented the -child switch. - FM * Fixed and documented the -nolog switch. - FM * Changed the -linknums switch to -number_links, fixed the code to work, @@ -1135,7 +1135,7 @@ to HTML 3.0, added LH, and implemented full HTML 3.0 ID handling for those, and B, BLINK, BR, CENTER, CITE, CODE, DFN, DIR, EM, FORM, KBD, I, LEFT, LISTING, MENU, PLAINTEXT, PRE, RIGHT, SAMP, STRONG, TT, U, VAR and XMP - (some of which are obsoleted in HTML 3.0, but what the heck 8-). - FM + (some of which are obsoleted in HTML 3.0, but what the heck 8-). - FM 09-03-95 * Made bolding of NAME (ID) anchor contents configurable in lynx.cfg. - FM 09-02-95 @@ -1217,7 +1217,7 @@ added to lynx2-4-FM. This is the new stuff. - FM: --------------------------------------------------- 08-16-95 - * Applied patch from Peter van Heusden (pch@ucthpx.uct.ac.za) to fix + * Applied patch from Peter van Heusden (pch@ucthpx.uct.ac.za) to fix a bug when lynx encounters an OPTION tag before the style is ever updated. - CL 08-09-95 @@ -1353,7 +1353,7 @@ and doesn't send one. - FM * Added GNUC support to the VMS descrip.mms files. - FM * Tweaks of HTWAIS.c socket handling on VMS (I can't reproduce a reported - problem with SOCKETSHR/NetLIB, but these tweaks might help). - FM + problem with SOCKETSHR/NetLIB, but these tweaks might help). - FM * Added my guesses at code for HTTelnet.c to implement telnet, tn3270 and rlogin support, if available, when building with SOCKETSHR/NetLIB on VMS. - FM @@ -1368,11 +1368,11 @@ must be uncommented in userdefs.h and TRUSTED_LYNXCGI must be fixed in lynx.cfg. It doesn't handle redirection or mime-types and scripts should probably generate partial URLs when referring back to - itself. If the file you're going after isn't an executable then it - will be loaded as regular file. This makes it possible to go back - and forth between cgi-scripts and .html files. + itself. If the file you're going after isn't an executable then it + will be loaded as regular file. This makes it possible to go back + and forth between cgi-scripts and .html files. I changed the way TRUSTED_LYNXCGIs are recorded because they don't - work quite the same as TRUSTED_EXECs do. Also, George says it works + work quite the same as TRUSTED_EXECs do. Also, George says it works fine on SunOS and Solaris, and it seems to work fine on Linux. - CL -------------------------------------------- * Don't block access to the download menu when both no_download and @@ -1396,7 +1396,7 @@ Pat Rankin (rankin@eql.caltech.edu). Needs testing, and the linking procedure still needs to be addressed explicitly. - FM * Prevent possibility of a null pointer dereference if an ISMAP anchor - fetch fails. - David Trueman (david@cs.dal.ca) + fetch fails. - David Trueman (david@cs.dal.ca) 07-21-95 * Added LYK_HEAD (mapped by default to ']') to send HEAD requests for the current document or link (always sent with LYforce_no_cache). - FM @@ -1452,12 +1452,12 @@ I think.) (Replaced Peter's strdup()'s with more portable code. - FM) 07-11-95 -* Added Erik Olson's (olson@phys.washngton.edu) patch to use the +* Added Erik Olson's (olson@phys.washngton.edu) patch to use the _underline_ format when using the -dump option. - CL (Kept the old code, #ifdef'ed out, to make this optional someday. - FM) 07-07-95 * Fixed a bug in local_dired. Specifically, a pointer to a fixed array - was being fed into StrAllocCopy as the destination. Linux was choking + was being fed into StrAllocCopy as the destination. Linux was choking on this although OSF/1 and AIX seemed to handle it better. - CL --------------------------------------------------- 07-15-95 @@ -1680,7 +1680,7 @@ - JP 06-12-95 * Added George Lindholm's new file permission patch. Here's his description: - "Here is a rewamped version of my earlier file permission patch. This version + "Here is a rewamped version of my earlier file permission patch. This version uses a html page to prompt for user input (rather than having the user enter a obscure unix chmod string) using checkboxes." - JP * Added George Lindholm's addition of a compiler flag (NO_ANONYMOUS_EMAIL). diff --git a/docs/CHANGES2.8 b/docs/CHANGES2.8 index 57b38438..df62faff 100644 --- a/docs/CHANGES2.8 +++ b/docs/CHANGES2.8 @@ -131,7 +131,7 @@ present). For printed source meta charset added from display_charset (real charset after chrtrans). If the original source has its own meta charset and we add the second on top - Lynx currently use those on top and ignore - others (old) value (that is correct, although non standard like BASE on top). + others (old) value (that is correct, although non standard like BASE on top). The compilation default is FALSE (compatibility). - LP * modify ncurses mouse behavior to match slang (use button 3 rather than button 2 for "previous document" (reported by Michael Ritzert) - TD @@ -218,7 +218,7 @@ invalid in PRE blocks. The spaces could be omitted when IMG is used invalidly in PRE blocks, but that would revive the problem for blind users that they might not be present at all, so it seems - better to suffer extra spaces in such cases. - FM + better to suffer extra spaces in such cases. - FM 1998-01-24 * Tweak in HTAccess.c to reset the title element in anchors on forced reloads. - FM @@ -373,7 +373,7 @@ from the lynx code. I think the following patch does this. standard file descriptors in conjunction with all fopen() and fclose() operations on the TRACE log and redirections of stderr via equality statements (see 1997-12-16, 1997-12-13 and 1997-07-18 mods). - FM -1997-12-18 +1997-12-18 * forgotten last } UN-inserted (John Line) - WB * few commented messages corrected according to RFC2068 (HTTP1.1) (Leonid Pauzner) - WB @@ -383,7 +383,7 @@ from the lynx code. I think the following patch does this. 1997-12-17 (all patches by Leonid Pauzner) * open text mode while writing lynx.rc and bookmarks files LYrcFile.c and LYBookmark.c (forgotten last } inserted). - WB -* add a comment about binary mode in LYMain.c and pile them +* add a comment about binary mode in LYMain.c and pile them in one ifdef - WB * few misprinted characters (in comments) corrected in \chrtrans\cp850_uni.tbl - WB @@ -406,7 +406,7 @@ from the lynx code. I think the following patch does this. by the server, but we still report the server's instructions, as we do for the Maximum Gobble Date). - FM 1997-12-14 -* added a lynx.cfg switch to turn on/off extended dos translations for keys. +* added a lynx.cfg switch to turn on/off extended dos translations for keys. -WB * added minor DOS tweaks by Doug Kaufman and myself. - WB * fixed windows binary mode piping. - WB @@ -442,7 +442,7 @@ from the lynx code. I think the following patch does this. * split up install rule to install-bin, install-cfg, install-man and install-help. - TD * suppress suffixes in top-level makefile so 'make' won't try to create - a file named "install" from install.sh - TD + a file named "install" from install.sh - TD * make $(CPPFLAGS) inherit consistently from top-level makefile. - TD (reported by Mark Mentovai) * add configure option --enable-externs, to turn on USE_EXTERNS. - TD @@ -567,7 +567,7 @@ from the lynx code. I think the following patch does this. in the pseudo-documents constructed for MAP elements. - FM & KW * Mods of SGML parsing to better handle SELECT blocks with invalid markup, in effect for both TagSoup and SortaSGML parsing (for the latter just - in case it doesn't already prevent invalid markup from being passed on). + in case it doesn't already prevent invalid markup from being passed on). Only OPTION elements are accepted in SELECT blocks. Otherwise, if the element is a form-related start tag, the SELECT block is closed and the new form-related element is started. @@ -679,7 +679,7 @@ from the lynx code. I think the following patch does this. document itself, for href=""). In contrast, a URL-Reference with a non- empty URL refers to a (generally...) external resource. If the "url" happens to coincide with (or, if it is relative, resolve to) the URL from - which the current document was retrieved, the current document is a + which the current document was retrieved, the current document is a representation of the resource, but not the same thing. In most such cases we can treat href="#fragment" and href="url#fragment" the same way, i.e. activating such a link is interpreted as a request to reposition within @@ -707,7 +707,7 @@ from the lynx code. I think the following patch does this. given). The semantics for URL-less URL-References are given in Internet Draft <http://www.ics.uci.edu/~fielding/url/draft-fielding-url-syntax-09.txt>, - including that "Traversal of such a reference should not result in an + including that "Traversal of such a reference should not result in an additional retrieval action." No comparable prescriptions are made for references which have a URL, in particular it is not stated that they should be treated as equivalent when the URL coincides with or resolves @@ -723,7 +723,7 @@ from the lynx code. I think the following patch does this. (although the prompt texts probably need improvement). - KW * The notion of the context of the "current document" is extended, so that auxiliary LYNXIMGMAP documents generated by Lynx are within the scope of - the underlying document, i.e. the document containing the MAP and AREA + the underlying document, i.e., the document containing the MAP and AREA elements. Although they are treated as separate documents for display and internal handling, following links between the underlying document and its LYNXIMGMAP documents will result in display from cached data @@ -831,7 +831,7 @@ from the lynx code. I think the following patch does this. 1997-10-30 * Get numbering of links on List Page right, by faking hidden links for form fields which get counted but are not selectable. - KW -* Allow LYNXHIST: links in List Page since the History Page may get +* Allow LYNXHIST: links in List Page since the History Page may get 'L'isted... - KW * Mods of HTML.c parsing to close any open Anchor or emphasis elements at the starts of TABLE elements, as the Big Two's TABLE handlers appear @@ -843,7 +843,7 @@ from the lynx code. I think the following patch does this. bad markup, added TRACE and BAD_HTML_USE_TRACE warnings for those. - KW * Don't call tigetnum("ncv") for _WINDOWS - BD * Added Unicode tables for the "DEC Multinational", "Macintosh (8 bit)", - and "NeXT character set" display character sets. - FM + and "NeXT character set" display character sets. - FM 1997-10-28 * Disable setting of the `reloading' flag in HTLoadDocument which would generate no-cache headers for request where this is not appropriate. - KW @@ -884,7 +884,7 @@ from the lynx code. I think the following patch does this. folk to cut and paste them, in the new INSTALLATION file. - LVW 1997-10-22 * Many locations of files changed, about_lynx/ directory and references to - aboutfilepath removed, userdefs.h reorganized, changed README, new + aboutfilepath removed, userdefs.h reorganized, changed README, new INSTALLATION file, doc changes, some doc files removed. - HN (Removed paragraph in README which doesn't apply yet, some files still not done - KW) @@ -905,7 +905,7 @@ from the lynx code. I think the following patch does this. extended as if it included all the replacements from the default table. Note that mappings for some characters in the default table file still differ from the old mappings given in LYCharSets.c, and what is displayed - e.g. for umlaut characters may not be consistent, this still has to be + e.g., for umlaut characters may not be consistent, this still has to be sorted out. It may just have become more visible now. - KW * Tweaks to some replacement strings in def7_uni.tbl; contributions of more useful strings would be welcome... - KW @@ -950,7 +950,7 @@ from the lynx code. I think the following patch does this. * Made some of the changes concerning and removal and location changes of files proposed by HN. - KW * Restored LYCheckForCSI example function to its previous form, with a check - added and comments added. - KW + added and comments added. - KW 1997-10-15 * Changed the order of display character set entries for the options menu popup. "ISO Latin 1" and its "DosLatin1 (cp850)" and "WinLatin1 (cp1252)" @@ -1043,14 +1043,14 @@ from the lynx code. I think the following patch does this. * Changed PROBLEMS file for ^Z and for "forgetting emphasis of link text" problem (which shouldn't occur any more). - KW 1997-10-05 -* Changed SGML.c parsing of unrecognized and invalid start tags. If the +* Changed SGML.c parsing of unrecognized and invalid start tags. If the '<' character in HTML is followed by a 7-bit letter character, we now do tag parsing even if the element name is not recognized, instead of going to 'S_junk_tag' mode, so that a '>' embedded in an attribute value (which may also be part of a CJK character's encoding) will not prematurely end the tag. (But "soft double-quotes parsing" mode is recognized.) Treat a '<' followed by most other 7-bit chars as data, - i.e. recover it and the following char. - KW + i.e., recover it and the following char. - KW 1997-10-04 * Corrected check for empty string at beginning of LYUnEscapeEntities. - KW * Squeezed option for "Assume charset if unknown:" into Options screen. @@ -1063,8 +1063,8 @@ from the lynx code. I think the following patch does this. * Changed order and criteria of transformation attempts in HTPlain.c to be more like SGML.c. For plain text KOI8-R would use 8-bit stripping to early. HTPlain_write still is too different from SGML_character... - KW -* Reinstate the slash after special interpretation of /~ at beginning of - file URL path for DOSPATH - DK +* Reinstate the slash after special interpretation of /~ at beginning of + file URL path for DOSPATH - DK * Changed SGML_character to not try to convert attribute values to UTF-8 if HTCJK is in effect (arrggh!) - KW * Changed effect of -raw / '@' for CJK display character sets: it now toggles @@ -1079,7 +1079,7 @@ from the lynx code. I think the following patch does this. more. Regard #ifdef EXP_CHARTRANS as some strange kind of comment for now, until it goes away. - KW * Write comment at top of .lynxrc file to make clear that it is different - from lynx.cfg, suggested by LWV. - KW + from lynx.cfg, suggested by LWV. - KW 1997-09-30 * Changed order of display character sets on options screen a bit, and corrected charset listings in lynx.cfg and userdefs.h files - KW @@ -1089,7 +1089,7 @@ from the lynx code. I think the following patch does this. out more by decorating them with ***** characters, so that users who follow the BAD_HTML_USE_TRACE advice can more easily find the relevant messages. - KW -* Reworked LYUnEscapeEntities() while loop into a (hopefully) more +* Reworked LYUnEscapeEntities() while loop into a (hopefully) more understandable and consistent state-based switch, and integrated LYUnEscapeToLatinOne functionality. - KW * Non-ASCII characters in URLs and similar strings encountered in the HTML.c @@ -1166,7 +1166,7 @@ from the lynx code. I think the following patch does this. including values > 255 mapped to arrow keys, etc., when generating the 'k'eymap display. - KW * Changes to prevent many (but not all) compiler warnings about `const'. - Not that this is different from TD's recent changes. Also some other minor + Not that this is different from TD's recent changes. Also some other minor tweaks relating to (gcc) compiler warnings. - KW 1997-09-17 * Mods in GridText.c to use HTEscapeSP() for space-to-plus conversions of @@ -1191,7 +1191,7 @@ from the lynx code. I think the following patch does this. them the same as other programs (e.g., tin-unoff). - TD 1997-09-16 * Added code to JKT's and KW's mods in LYPrint.c to also handle VMS: - set the document's title as a logical on VMS (can be accessed via + set the document's title as a logical on VMS (can be accessed via f$trnlnm("LYNX_PRINT_TITLE") in scripts). - FM * Smaller cleanups here and there - FM & KW 97-09-15 @@ -1213,7 +1213,7 @@ from the lynx code. I think the following patch does this. 97-09-11 * Tweaks in HTMLGen.c for display of special characters and line breaking with -preparsed. - KW -* Got rid of use of underlining together with reverse for non-current +* Got rid of use of underlining together with reverse for non-current links for (n)curses if color is not used. - KW * Small HTMLDTD.c changes for new parsing. - KW * Change in SGML.c to always recognize SOFT HYPHEN when given as ­. - KW @@ -1249,14 +1249,14 @@ from the lynx code. I think the following patch does this. more raw rendering (in SOURCE view) or the original byte stream (as with the -source flag, possibly with BASE information prepended). Lynx will attempt to wrap the text to screen width (or 80 cols for the -source flag), - but will not always succeed. Unrecognized tags and attributes as well as - comments are dropped, attributes reordered, missing end tags supplied, + but will not always succeed. Unrecognized tags and attributes as well as + comments are dropped, attributes reordered, missing end tags supplied, abd other changes made, showing how Lynx internally treats the document's structure. This is probably most useful for debugging (of either Lynx's - parsing or of HTML documents, although a real validator should be used for + parsing or of HTML documents, although a real validator should be used for the latter!). It can also be instructive to switch the DTD parsing mode (with the ^V key) while viewing preparsed source. - Note that this doesn't work so well now with character translations and + Note that this doesn't work so well now with character translations and entity expansion don't work well now, showing some of the same problems which appear for rendered documents and dropping some characters. Making those problems of parsing more directly visible was one of the motivations @@ -1284,7 +1284,7 @@ from the lynx code. I think the following patch does this. * Corrections to JKT's mods (to avoid memory leaks etc.). Avoid unnecessary stat() calls. Other fixes in LYCgi.c. Make setting of HTTP_ACCEPT_CHARSET actually work. Now URL-unescape - the path in lynxcgi URLs before doing anything with it. + the path in lynxcgi URLs before doing anything with it. Better logic for when to check for restrictions, the previous checking for !reloading could be easily circumvented. Also check whether the full path including a possible PATH_INFO passes the restrictions @@ -1293,7 +1293,7 @@ from the lynx code. I think the following patch does this. part, it gets too confusing. Strip '#' fragments from the lynxcgi path, but leave the interpretation of '#' characters after a '?' as before so that they are still regarded as part of the query or search - string. If PATHINFO is present, unescaped '#' characters in it will + string. If PATHINFO is present, unescaped '#' characters in it will still be rejected by exec_ok(). - KW * added a bit of text about running ./configure to INSTALLATION file. - David Combs <dkcombs@netcom.com> & KW @@ -1498,7 +1498,7 @@ from the lynx code. I think the following patch does this. * Add check for FreeBSD library mytinfo (reported by Andrey A. Chernov <ache@null.net>). - TD * Modify ./makefile.in so that 'all', the default target, will build the - Lynx executable. The old 'all' target is retained as "make help". - TD + Lynx executable. The old 'all' target is retained as "make help". - TD * Modify src/makefile.in to allow development compiles within the src directory. - TD * Mask spaces in the bkgd (background attribute) calls for color curses to @@ -1557,7 +1557,7 @@ from the lynx code. I think the following patch does this. form's ACTION). - FM * Changed the typedef for HTCoord in HTStyle.h from float to int, for significant speedup of rendering on machines without floating-point - hardware based on DW's, KW's, BL's analyses. Note that this should + hardware based on DW's, KW's, BL's analyses. Note that this should be taken into account when/if external style sheet support is added for page formatting (e.g., for optimum handling by speech synthesizers and braille interfaces), beyond the current emphasis on colorizing. - FM @@ -1607,7 +1607,7 @@ from the lynx code. I think the following patch does this. 1997-07-28 * Avoid traversing the full list of anchors each time when HText_endAnchor() is called with a non-zero anchor number, if that number corresponds to - the last anchor added to the HText structure. It is is the most common case + the last anchor added to the HText structure. It is is the most common case that HText_endAnchor() refers to the last anchor, and the only case that could be handled correctly before FM's changes of 1997-05-13. Avoiding the loop over the list of anchor can improve loading time significantly, @@ -1620,8 +1620,8 @@ from the lynx code. I think the following patch does this. conflict in this case. - KW * Minor LYUtils.c tweaks. - KW 1997-07-27 -* Changed code for checks in LYGetFile.c for URL schemes which should - be rejected when received as redirections, added checks for more +* Changed code for checks in LYGetFile.c for URL schemes which should + be rejected when received as redirections, added checks for more schemes. - FM * Rename top-level Makefile to Makefile.old (it's obsolete) - TD * Reduce top-level targets to one, 'lynx' - TD @@ -1649,13 +1649,13 @@ from the lynx code. I think the following patch does this. * Map charsets of the form "ibmNNN<...>" to "cpNNN<...>" in UCdomap.c if not already recognized. Also recognize "windows-1252". - KW * Compared the handling of 4-way "show color (&)" in the 'o'ptions menu - against FM's implementation, and made some changes (mostly in formatting, + against FM's implementation, and made some changes (mostly in formatting, variable and constant names and usage, ordering of statements) to aid further comparison. The logic is still messy and needs further cleanup and simplification, but seems to do what it should. Note that this also handles color-curses, in a (hopefully) reasonable way. Command line flags -nocolor and (if using slang) -color override a preference - found in the RC file. See updated "Lynx Users Guide" file and the + found in the RC file. See updated "Lynx Users Guide" file and the comments written to the RC file. Documentation changes adapted from FM's changes. - KW * Mods of the DIRED_SUPPORT to check the actual URLs of temporary files @@ -1673,7 +1673,7 @@ from the lynx code. I think the following patch does this. Added protection to permit_location in LYLocal.c, similar to the changes of 1997-06-24 to LYDownload.c. - KW * Generate CANCELLED message when editing of a string value on the Options - Screen has been cancelled (typically with ^G), instead of an + Screen has been cancelled (typically with ^G), instead of an inappropriate VALUE_ACCEPTED statusline. - KW 1997-07-23 * Tweaks of the strtok() calls for textarea values in HTML.c, so that they @@ -1690,7 +1690,7 @@ from the lynx code. I think the following patch does this. a binary compiled with slang so that color is not used on startup (except by using -nocolor). Note that reading show_color from .lynxrc is still commented out. - KW -* There is now a "trailing comment" handler in LYReadCFG.c. It treats '#' +* There is now a "trailing comment" handler in LYReadCFG.c. It treats '#' as a comment token only if it is somewhere after the last colon for the lynx.cfg entry and is preceded by a space or tab. - FM * Added TT to the Utterly Tag and Attribute Soup group of HTML elements. - FM @@ -1796,7 +1796,7 @@ from the lynx code. I think the following patch does this. of this in www-html@w3c.org by saying that he wished it have been otherwise, but "market forces" prevailed (Sigh...) - FM 1997-07-13 -* Changed is_url() to return immediately if the string to check starts with +* Changed is_url() to return immediately if the string to check starts with a slash character. This prevents some false positives if the string contains ':' characters. - KW * Added support for "MACOS AppleShare IP FTP Server" to HTFTP.c. @@ -1817,11 +1817,11 @@ from the lynx code. I think the following patch does this. 1997-07-10 * Synchronized the development code against the fotemods patches up to 1997-07-06 (relevant changes listed below, as usual). Note that FM - has now included the chartrans code, but has eliminated conditional - compilation of it; however, in this code set setting -DEXP_CHARTRANS - at compile time is still necessary (but compilation without it has not + has now included the chartrans code, but has eliminated conditional + compilation of it; however, in this code set setting -DEXP_CHARTRANS + at compile time is still necessary (but compilation without it has not been tested). - KW -* Fixed character counting logic in display_line() for lines where +* Fixed character counting logic in display_line() for lines where soft hyphens (­ or <SHY> or a soft-hyphen character) are used for their intended purpose. - KW NOTE: The W3C HTML 4.0 draft explicitly specifies handling of ­, @@ -1856,7 +1856,7 @@ from the lynx code. I think the following patch does this. (see lynx.cfg) to FORCE_SSL_COOKIES_SECURE is now available, and the compilation or configuration default can be toggled via a -force_secure command line switch. - FM -* Make NOCACHE ('x' key) work as expected from history list for internal +* Make NOCACHE ('x' key) work as expected from history list for internal links. - KW * Removed bogus checking for a config file in home directory which had been introduced into the development code. - KW @@ -2174,7 +2174,7 @@ from the lynx code. I think the following patch does this. mode can be defined in userdefs.h and via the 'o'ptions menu. When in SELECT popups, the F_LINK_NUM ('0') command can be used in any mode to invoke a "Select option (or page) number:" prompt, which can take - 'g' or 'p' suffixes, homologously to the + 'g' or 'p' suffixes, homologously to the "Follow link (or goto link or page) number:" prompt in the main document with popups retracted. Note that when in the main document, the F_LINK_NUM command has an implied 'g' suffix @@ -2223,7 +2223,7 @@ from the lynx code. I think the following patch does this. with screen redraws for every popup retraction. - FM 1997-05-27 * Eliminated in the fotemods code underlining in conjunction with reversing - for the current link with slang, to avoid the longstanding bug of + for the current link with slang, to avoid the longstanding bug of underlining being lost (and distracting color changes occurring) when that link ceases to be current and it was embedded in an underlined region of text. The attributes of the current link can be better handled in the @@ -2301,7 +2301,7 @@ from the lynx code. I think the following patch does this. them now. - FM * Tweaked SIGTSTP interrupt handler in the USE_SLANG for-unix code, so that it gets set to SIG_DFL when stop_curses() is called, to prevent - strange interferences experienced when ^Z is used while a helper + strange interferences experienced when ^Z is used while a helper process is in the foreground. - KW * Change in LYForms.c to prevent forced screen refresh after selection from a popup box. - KW @@ -2312,16 +2312,16 @@ from the lynx code. I think the following patch does this. which are invalid when used later as an index into keymap[], override[], etc. - KW * in the USE_SLANG for-unix start_curses(), honor the no_suspend flag - if set. This implements -restrictions=suspend handling for slang - (although it was intended for curses implementations which have + if set. This implements -restrictions=suspend handling for slang + (although it was intended for curses implementations which have problems with ^Z within Lynx; see the PROBLEMS file). Note that the no_suspend flag cannot be suspected to have the desired effect if lynx is executed from a shell script, unless the shell process forked for the script also ignores the SIGTSTP - signal generated (usually) by the ^Z key. Also if the user is + signal generated (usually) by the ^Z key. Also if the user is allowed to execute any helper process (VIEWER, PRINTER, etc.) which does allow suspending while no_suspend is in effect for the Lynx - parent process (by overriding the SIG_IGN setting done by Lynx or by + parent process (by overriding the SIG_IGN setting done by Lynx or by other means), then suspending may still be possible, in addition to strange effects either immediately or when the process or process group is continued (wrong tty and screen state, zombie processes, total @@ -2336,7 +2336,7 @@ from the lynx code. I think the following patch does this. * Modified tempname() in LYUtils.c so that it checks whether files with the current PID and target count already exist, and if so, increments the count until a name for a non-existing file has been - created. - FM + created. - FM 1997-05-18 * Mods in LYMainLoop.c and LYClean.c so that Control-G is treated as a synonym for 'n'o in quit confirmation prompts. - FM @@ -2364,13 +2364,13 @@ from the lynx code. I think the following patch does this. displayed to the 4th line (not counting the title line). This can be changed by redefining SEARCH_GOAL_LINE in userdefs.h. SEARCH_GOAL_LINE can also be a simple expression in terms of the - variable display_lines, e.g. `#define SEARCH_GOAL_LINE (display_lines/3)', + variable display_lines, e.g., `#define SEARCH_GOAL_LINE (display_lines/3)', this should then automatically adapt to screen size changes (provided the display system can deal with that...) - Note that this this goal line will normally not be used if the next + Note that this this goal line will normally not be used if the next target, according to the algorithm Lynx uses, is already on the displayed screen. Also, when the displayed page changes to show a search result, - there is no guarantee that it will end up on the line set by + there is no guarantee that it will end up on the line set by SEARCH_GOAL_LINE. It should rather be regarded as a maximum. For example the presence of anchors on the line with the target or on the preceding lines will change the positioning. - KW @@ -2417,7 +2417,7 @@ from the lynx code. I think the following patch does this. on the List Page itself caused by documents with <TITLE></TITLE>. - KW * Changed display_title() in GridText.c to not rely on sprintf() to get the number of blanks right. - KW -* (chartrans) Added new lynx.cfg symbols ASSUME_CHARSET, +* (chartrans) Added new lynx.cfg symbols ASSUME_CHARSET, ASSUME_LOCAL_CHARSET, and ASSUME_UNREC_CHARSET. They are only recognized if compiled with -DEXP_CHARTRANS. They correspond to the command line options -assume_charset, -assume_local_charset, and @@ -2439,14 +2439,14 @@ from the lynx code. I think the following patch does this. when the RAW_TOGGLE key (normally '@') is used. The default depends on the display character set (as previously) but now also on the ASSUME_CHARSET setting (as determined by a setting - in lynx.cfg, possibly overridden by -assume_charset on the command + in lynx.cfg, possibly overridden by -assume_charset on the command line, or the default iso-8859-1). When the display character set corresponds to the ASSUME_CHARSET, the default for "raw mode" is ON, otherwise it is OFF. The effect of "raw mode" on the interpretation of documents which have no explicit charset label (from HTTP headers, a META tag, or otherwise) is as follows. There is an internal "assume charset" which may differ - from the user-specified ASSUME_CHARSET value. When "raw mode" is set + from the user-specified ASSUME_CHARSET value. When "raw mode" is set ON, the internal variable is set to correspond to the display character set. When "raw mode" is set OFF, the internal variable changes to the user-specified ASSUME_CHARSET or, if that also corresponds to the @@ -2460,7 +2460,7 @@ from the lynx code. I think the following patch does this. 1997-05-13 * Changed the compilation default in userdefs.h for USE_TRACE_LOG to FALSE, for now. - KW -* Code for "fixing" of relative http and https URLs which start with a +* Code for "fixing" of relative http and https URLs which start with a ../ segment from FM added, but it has to be enabled with the new lynx.cfg symbol STRIP_DOTDOT_URLS (default currently set to FALSE). See FM's description under 1997-04-23. - KW @@ -2507,7 +2507,7 @@ from the lynx code. I think the following patch does this. * Tweaks in LYMainLoop.c to set newdoc.title for various special pages generated by Lynx (History Page, Info Page, etc.) and when following a link. - FM -* Small change to the heuristics for New_DTD in start_element() +* Small change to the heuristics for New_DTD in start_element() in SGML.c (try a bit more to close containing element if it's the same tag) - KW 1997-05-12 @@ -2539,9 +2539,9 @@ from the lynx code. I think the following patch does this. from RT, and added a comment on why code for a block based on the scheme is there, despite its being redundant with the current blanket restriction based of the ports. - FM -* Mapped 0 to F_LINK_NUM (as suggested by KW), so that 0 invokes the - "Follow link (or goto link or page) number:" prompt under all - circumstances (but with the 0 not treated as the first digit of +* Mapped 0 to F_LINK_NUM (as suggested by KW), so that 0 invokes the + "Follow link (or goto link or page) number:" prompt under all + circumstances (but with the 0 not treated as the first digit of the number entry). That's a better way to do it, because then the F_LINK_NUM command and explanation always appears in the "Current Key Map" display, and only the mappings of @@ -2581,13 +2581,13 @@ from the lynx code. I think the following patch does this. menu, but appear separately at the end of those lists. With -hiddenlinks=ignore they don't appear even in listings. With -hiddenlinks=merge hidden links are treated as before, - i.e. they show up as bracketed numbers if LINKS_ARE_NUMBERED is on, + i.e., they show up as bracketed numbers if LINKS_ARE_NUMBERED is on, and are numbered together with other links in the sequence of their occurrence in the document. The default is -hiddenlinks=listonly. Changed the new follow_help.html file accordingly. This may help obviate an apparent need to call something a bug which others regard as a feature... - KW -* Function HText_AreDifferent() updated as in FM's code, but still +* Function HText_AreDifferent() updated as in FM's code, but still unused. - KW 1997-05-07 * Added another argument in follow_link_number() of LYGetFile.c for @@ -2648,14 +2648,14 @@ from the lynx code. I think the following patch does this. menu for the 'l'ist command or appendix on dumps segregates and clearly labels the visible versus hidden links. - FM * Plugged a memory leak in LYEntify() of LYCharUtils.c. - FM -* Modified experimental DTD info to not close anchors when an invalid +* Modified experimental DTD info to not close anchors when an invalid P, H1-H6, or ADDRESS start tag is encountered, and to change error recovery for P and MAP. - KW * Modified experimental DTD info and HTML.c to not close PRE when an invalid FORM start tag is encountered, and to use the appropriate - handling for preformatted text if PRE is in effect but is not the top - element on HTML.c's stack. The HTStyle structure's freeFormat (which - wasn't used anywhere before) is now used as one test whether we are + handling for preformatted text if PRE is in effect but is not the top + element on HTML.c's stack. The HTStyle structure's freeFormat (which + wasn't used anywhere before) is now used as one test whether we are within preformatted text, also corrected the style setting of freeFormat for PRE in DefaultStyle.c. - KW * Changed internal gateways (in HTNews.c, HTFile.c, HTWAIS.c, HTWSRC.c) @@ -2667,15 +2667,15 @@ from the lynx code. I think the following patch does this. newdoc.line was not being reset. - KW 1997-05-03 * (chartrans) Now always check for LYlowest_eightbit[current_char_set] - near the top of HText_appendCharacter(), to prevent writing C1 control - chars to the terminal if they are not valid as displayable characters + near the top of HText_appendCharacter(), to prevent writing C1 control + chars to the terminal if they are not valid as displayable characters according to the selected "display character set" Option. All this should be handled earlier in processing, and this check may disappear again for testing, but somebody asked for it... - KW * (chartrans) Small changes to README files. - KW -* In the section of HTUtils.h for non-autoconf builds, don't set +* In the section of HTUtils.h for non-autoconf builds, don't set HAVE_KEYPAD or HAVE_TTYTYPE if USE_SLANG is defined. - KW -* Modified HText_LinksInLines() to not count hidden form fields. - KW +* Modified HText_LinksInLines() to not count hidden form fields. - KW * Added support for setting an anchor's no_cache element based on a comparison between Expires and Date headers if both were received and we didn't set it based on a Cache-Control directive. Also @@ -2710,10 +2710,10 @@ from the lynx code. I think the following patch does this. to avoid dangerous chars and shell spoofing. - KW * Escape characters properly when constructing URLs from filenames in LYConvertToURL. If a string given for startfile, home page, or - a goto command which does not already have the form of an absolute - URL starting with an URL scheme and which does not start with '~' - (but may start with '/') specifies an existing file or directory in - valid Unix-like format for the native filesystem, i.e. without using + a goto command which does not already have the form of an absolute + URL starting with an URL scheme and which does not start with '~' + (but may start with '/') specifies an existing file or directory in + valid Unix-like format for the native filesystem, i.e., without using escaping, it gets URL-escaped, otherwise it is assumed to already be URL-escaped. - KW 1997-04-29 @@ -2723,7 +2723,7 @@ from the lynx code. I think the following patch does this. * Added support for a 'p' suffix, like the 'g' suffix for making a link number the current link rather than ACTIVATE-ing it, but for displaying the page indicated by the number preceding the - 'p' suffix entered at the "follow link (or goto link or page) number:" + 'p' suffix entered at the "follow link (or goto link or page) number:" prompt. [...] If the number entered at the prompt is '1' or less followed by the 'p' suffix, or only 'p' is entered, you get the same behavior as for the HOME command. If @@ -2775,14 +2775,14 @@ from the lynx code. I think the following patch does this. of a series of underscores into the HText structure, so that we still promote a wrap, if needed, at the space we ensured would be present before each INPUT. - FM -* Made first_option a structure member rather than a static variable +* Made first_option a structure member rather than a static variable in HTML.c - KW 1997-04-27 * Tweak of Control-C and Control-G handling for popup_options() in LYForms.c. They were being sought improperly as command keys rather than as raw keyboard entries. Note that only Control-G should be used as "cancel" within popup windows on Unix, because Control-C - is not being trapped to a handler as on VMS. - LE & FM + is not being trapped to a handler as on VMS. - LE & FM * Tweak of the anchor counting code for HTGetLinkInfo() in GridText.c so that it takes form fields into account when making a link current based on a "Follow link number" entry with the 'g' suffix. @@ -2791,8 +2791,8 @@ from the lynx code. I think the following patch does this. * Added information in the "Lynx bookmarks" section of the Users Guide about appropriate versus unsupported modifications when editing the bookmark files. - FM -* RP Styles 0.2 fixed a bit and brought up to current experimental code - level (no autoconfig or simple-curses, only older version of Wayne's +* RP Styles 0.2 fixed a bit and brought up to current experimental code + level (no autoconfig or simple-curses, only older version of Wayne's mods, maybe something else is missing, too). No documentation, no detailed checking, no real cleanup. Makefile slightly adapted, but still needs changing for new systems - see comments there. - KW @@ -2813,7 +2813,7 @@ from the lynx code. I think the following patch does this. retain that first symbolic element, in compliance with the IETF RFCs and IDs for resolving URLs, with other URL schemes (e.g., ftp). - FM * Added a skip_stack int to the HTML.h struct _HTStructured, to use - for flagging that the next call to HTML_start_element or + for flagging that the next call to HTML_start_element or HTML_end_element is an internal shortcut and should skip pushing or popping the HTML.c paragraph style stack even for elements that are not declared SGML_EMPTY. Added a SET_SKIP_STACK macro @@ -2821,7 +2821,7 @@ from the lynx code. I think the following patch does this. * Changes to HTML.c to better deal with a number of elements which may or may not have been declared SGML_EMPTY in HTMLDTD.c: if the last stacked element is HTML_OPTION, treat text as for - HTML_SELECT in HTML_put_character and HTML_put_character and + HTML_SELECT in HTML_put_character and HTML_put_character and HTML_put_string. Added handling code for </P> to HTML_end_element (similar but not identical to that for P in HTML_start_element). Added check whether a SELECT is still open to FORM handling in @@ -2834,7 +2834,7 @@ from the lynx code. I think the following patch does this. to the content types used with New_DTD, in HTMLDTD.c. Made OPTION non-empty. - KW * Now changed the tags_old[] in HTMLDTD.c, which is used with the - switchable "old" SGML parsing, to follow the changes for A, B, + switchable "old" SGML parsing, to follow the changes for A, B, BLINK, CITE, EM, FONT, I, STRONG, and U mentioned in the entry of 1997-04-15. These, together with FORM and P, are all declared as SGML_EMPTY now when the "old" SGML parsing is in effect, but @@ -2886,9 +2886,9 @@ from the lynx code. I think the following patch does this. * Made SGML parsing switchable between old and new HTMLDTD info and SGML.c code, controlled by a New_DTD global variable and LYK_SWITCH_DTD toggle key. Use (temporarily?) ^V for the toggle key. - This is not yet changeable via command line, lynx.cfg, etc., and the + This is not yet changeable via command line, lynx.cfg, etc., and the default is New_DTD==YES (so that it gets tested :-) ). - KW -* Made some of the error messages before exit in LYMainLoop.c and +* Made some of the error messages before exit in LYMainLoop.c and LYMain.c go to stderr instead of stdout, but only for UNIX and, in the case of the LYMainLoop.c messages, only if dump_output_immediately was in effect. - KW @@ -2937,17 +2937,17 @@ from the lynx code. I think the following patch does this. sought already exists, so existing ones will still have the old lead text. - FM 1997-04-16 -* Extensive changes to try to keep track of whether a document (or +* Extensive changes to try to keep track of whether a document (or a location within it) was reached by an internal (fragment-only) URL reference or not. The basic idea is to be serious about I-D - (currently) draft-fielding-url-syntax-04.txt. + (currently) draft-fielding-url-syntax-04.txt. URL references starting with '#' are always to the current document (from which the reference is made). This leads to a lot of hackery in HTML.c, LYMainLoop.c, LYHistory.c, etc. etc... to distinguish a doc that was reached by an "internal" reference from others. But it seems necessary to keep track of how the reference to a fragment was specified, whether with a non-empty - "real" URL (possibly relative) preceding the '#' or without it, + "real" URL (possibly relative) preceding the '#' or without it, all the way way from the HTML parsing to the mainloop. Only then can the mainloop decide to not start a new retrieval for an internal reference without skipping a new retrieval if a full URL reference @@ -3001,7 +3001,7 @@ from the lynx code. I think the following patch does this. AREA element entries when updating MAP element content, and set the no_cache anchor element in LYLoadIMGmap() so that the updated MAPs always will be used when rendering. - FM -* Not using the no_cache change from last entry, until further +* Not using the no_cache change from last entry, until further investigation. - KW * Removed two spurious lines under case LYK_PRINT: in LYMainLoop.c (from an old cut and paste from case LYK_HISTORY: done too late @@ -3029,11 +3029,11 @@ from the lynx code. I think the following patch does this. * Use logical extension of the rules for HREF references also for USEMAP references to MAPs: relative URL references are resolved with respect to a BASE element if one is present in the document where they - occur, unless they are URL references without a URL, i.e. only a + occur, unless they are URL references without a URL, i.e., only a fragment starting with '#'. In the latter case they are taken as internal references referring to a MAP in the same document where the USEMAP occurs, whether the MAP occurs before the USEMAP (as it - should, according to previous entry) or after the USEMAP. + should, according to previous entry) or after the USEMAP. HREF's in AREA elements follow the same rules. - KW * Fixed bug in HTML_free() for the case when LYMapsOnly is set. We didn't create an HText structure for the stream (just scanned it for @@ -3089,7 +3089,7 @@ from the lynx code. I think the following patch does this. * New translation table koi8r_uni for KOI8-R charset. Lynx can now translate between iso-8859-5 and KOI8-R, at least for the Cyrillic characters present in both. - KW -* New translation table def7_uni with default 7-bit mappings +* New translation table def7_uni with default 7-bit mappings (replacement representation). Based on RFC1345 and mnemonic,ds from ftp://dkuug.dk/i18n/ and previous Lynx replacements in LYCharSets.c and IPA FAQ convention and stuff for Ethiopic and @@ -3108,8 +3108,8 @@ from the lynx code. I think the following patch does this. * Make makeuctb slightly more flexible (accept unicode range for mapping to single code point). - KW 1997-04-07 -* Took out special-case handling in the curses-color code for underlining - when lynx is running under Linux using the linux console with color. +* Took out special-case handling in the curses-color code for underlining + when lynx is running under Linux using the linux console with color. The code was introduced on 1997-03-12 and would ignore "smul" capability info from terminfo or termcap under those circumstances, always using bold instead of underline. - KW @@ -3119,7 +3119,7 @@ from the lynx code. I think the following patch does this. test for HTML_FORM. - KW 1997-04-06 * Patch for IMG elements which have both ISMAP and USEMAP in effect. - In HTML_start_element() don't generate the "[ISMAP]-" string for + In HTML_start_element() don't generate the "[ISMAP]-" string for output in this case, unless clickable_images is set TRUE. - KW 1997-04-05 * Patch for Lynx v2.7.1 to handle invalidly interdigitated container @@ -3164,7 +3164,7 @@ from the lynx code. I think the following patch does this. that it could not in fact function as a server-side image map. - FM 1997-03-27 * In mainloop(), after the call to HText_pageDisplay() following a change - of the document view, ensure that curdoc.link does not remain set to -1 + of the document view, ensure that curdoc.link does not remain set to -1 if there are any links on the screen. This would otherwise happen if a document is pushed to the history stack while there are no links, and later popped (and refreshed) after one or more links have been created. @@ -3174,14 +3174,14 @@ from the lynx code. I think the following patch does this. directory did not have a parent dir reference link (which is always the case if NO_PARENT_DIR_REFERENCE was specified at compilation time). - KW * In LYLocal.c, modified the code handling DIRED_MENU to do more careful - checking of the selected file. In addition to "TAG", "FILE", and "DIR", + checking of the selected file. In addition to "TAG", "FILE", and "DIR", DIRED_MENU definitions in lynx.cfg now also recognize LINK as a type. DIRED_MENU definitions with a type field of "LINK" are only used if the current selection is a symbolic link ("FILE" and "DIR" definitions are not used in that case). The default menu definitions have been updated to reflect this change, and to avoid the showing of menu items whose action would always fail - KW -* Some cleanup to eliminate compiler warnings, remove some unused +* Some cleanup to eliminate compiler warnings, remove some unused variables - KW * Fixed a typo and added comments for the code in LYMainLoop.c which decides whether to load the URLs for homepage and/or startfile into @@ -3257,17 +3257,17 @@ from the lynx code. I think the following patch does this. trademark character (given by ™ or ™) will be shown as "(TM)" as the ASCII substitution unless the current display character has a code point for the trademark character or unless overridden by a - chartrans translation table. The code of 1997-02-25 prevented showing + chartrans translation table. The code of 1997-02-25 prevented showing the trademark sign as "(R)" but did not work in all non-chartrans cases. - KW * Include time.h via tcp.h for SVR4 systems. The tcp.h header does include - sys/time.h for Unix systems, but this apparently doesn't get struct tm + sys/time.h for Unix systems, but this apparently doesn't get struct tm and extern char * ctime() declared for SVR4. - FM 1997-03-13 * Added protection in LYGetFile.c against connections to the port 25 ESMTP service. - FM 1997-03-12 -* (chartrans) Make compilation in src/chrtrans less verbose, no more +* (chartrans) Make compilation in src/chrtrans less verbose, no more generating automatic *.h_old backup copies. - KW * Refinement to the SVr4 (ncurses) color support, allowing it to more closely model the slang support. - TD @@ -3278,7 +3278,7 @@ from the lynx code. I think the following patch does this. difference?!). - WB * Altered LYCurses.c so that the DJGPP version could spawn other programs without certain death. - WB -* Ignoring the whole ~/lynx.cfg problem (expanding '~') entirely for the +* Ignoring the whole ~/lynx.cfg problem (expanding '~') entirely for the Win32 version for now. - WB * Some other tweaks for Win32 and DJGPP - WB * Added protection in LYGetFile.c against denial of service attacks via @@ -3319,9 +3319,9 @@ from the lynx code. I think the following patch does this. LYFLAGS for the snake3 and snake3-slang targets (HP-UX apparently does not define "unix" itself with the -Ae switch, and thus needs to have that definition forced via -DUNIX). - HL -* Merged with patches and makefiles from Wayne Buttles - (buttles@wsb.champlain.edu) to enable compilation in two new environments: - Win32 (95/NT) with Borland C++ 4.52 compiler, and 386 DOS with DJGPP +* Merged with patches and makefiles from Wayne Buttles + (buttles@wsb.champlain.edu) to enable compilation in two new environments: + Win32 (95/NT) with Borland C++ 4.52 compiler, and 386 DOS with DJGPP compiler. To add ports for Win32 (95/NT) and 386 DOS computers with a packet driver, four new defines were created: _WINDOWS (Defined for Win32 specific code - Mostly TCP related), DJGPP (Defined for 386 specific code - @@ -3360,10 +3360,10 @@ from the lynx code. I think the following patch does this. * chartrans code for translation of character sets, handling of Unicode, and i18n updated for Lynx 2.7. Support for CHARSET attribute on A tags. New directory src/chrtrans with table files. Compilation flags - -DEXP_CHARTRANS, -DEXP_CHARTRANS_AUTOSWITCH (for Linux), - -DSLANG_MBCS_HACK (for raw unicode console). - New command line options when compiled with -DEXP_CHARTRANS: - -assume_charset, -assume_local_charset, -assume_unrec_charset. + -DEXP_CHARTRANS, -DEXP_CHARTRANS_AUTOSWITCH (for Linux), + -DSLANG_MBCS_HACK (for raw unicode console). + New command line options when compiled with -DEXP_CHARTRANS: + -assume_charset, -assume_local_charset, -assume_unrec_charset. See README.chartrans and README files in src/chrtrans for more info. INFO screen shows of effective charset even if not given explicitly. Translation routines in LYCharUtils.c not chartrans-ified at this point. diff --git a/docs/FM.announce b/docs/FM.announce index dc3530c4..0b2652bf 100644 --- a/docs/FM.announce +++ b/docs/FM.announce @@ -28,29 +28,29 @@ addition to access by way of a file management menu. There are two possible modes of operation; the first in which a single file management menu is invoked via the `f', or `F' key; the second, in which the more often used facilities are made available directly -from the keyboard in addition to access via the menu. The second +from the keyboard in addition to access via the menu. The second method provides a much better user interface but requires re-mapping some of the keys from their standard lynx interpretation, temporarily -when file management mode is in effect. For example, if OK_OVERRIDE is +when file management mode is in effect. For example, if OK_OVERRIDE is defined at compile-time, then the line at the bottom of the screen, in novice mode, will be - C)reate D)ownload E)dit F)ull menu M)odify R)emove T)ag U)pload + C)reate D)ownload E)dit F)ull menu M)odify R)emove T)ag U)pload rather than the standard second noviceline, - H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list + H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list -when the user is browsing part of the file system. If OK_OVERRIDE is not +when the user is browsing part of the file system. If OK_OVERRIDE is not defined then all access to file management functionality must be by way -of the menu. The only exception is that the facility to tag files for +of the menu. The only exception is that the facility to tag files for subsequent removal and/or re-location is always available directly from -the keyboard using `t', and `T'. +the keyboard using `t', and `T'. This is a first release of the file management enhancements and suggestions -for improvements are welcome. Among the enhancements which are currently +for improvements are welcome. Among the enhancements which are currently being considered are facilities for changing file access attributes, and -a facility for listing and extracting part of an archive. +a facility for listing and extracting part of an archive. In order to use the file management facilities you may either point the program at a directory on the command line or point the program at @@ -61,9 +61,9 @@ an html file which contains a link of the following form: where the anchor `file://localhost/~/' implies a reference to /home/username. Because the `~/' in a file URL is converted to `/home/username' regardless of origin, these facilities also work when -the anchor shown above is served from an http server as well. In +the anchor shown above is served from an http server as well. In either case the reference is to files on the local system and not -files in the domain of the server. +files in the domain of the server. By default the file listing is in standard Unix mixed format, but you may use the Options menu to select WWW `directories first' format, or diff --git a/docs/IBMPC-charsets.announce b/docs/IBMPC-charsets.announce index 3e6aa639..1431cdf3 100644 --- a/docs/IBMPC-charsets.announce +++ b/docs/IBMPC-charsets.announce @@ -12,7 +12,7 @@ character entities coming in from an HTML document to their equivalent codes, where possible, for various character sets. IMPORTANT: you should choose display character set in Lynx Options Menu -according to your font installed locally. Probably it would be cpXXX. Please +according to your font installed locally. Probably it would be cpXXX. Please contact lynx-dev mailing list if you want any new codepage not listed there. Note that all points of the connection between the display at your end and Lynx diff --git a/docs/INSTALLATION.old b/docs/INSTALLATION.old index a73294e3..741267cf 100644 --- a/docs/INSTALLATION.old +++ b/docs/INSTALLATION.old @@ -4,7 +4,7 @@ For a description of Lynx please read the README file. Last Updated February 1997 -UNIX & VMS Step 1a. +UNIX & VMS Step 1a. Most of the variables that you are likely to change are in the userdefs.h file. There are a few that you must change or verify, and a few more that you will probably want to change. The variables @@ -57,9 +57,9 @@ UNIX Step 1d. (WAIS support is built into Lynx for VMS, skip to step 1e) Adding Direct WAIS support. Get the freeWAIS distribution from: ftp://ftp.cnidr.org/pub/NIDR.tools/freewais - and compile it. The compile process will create some libraries, you will - need wais.a and client.a. Edit the Makefile in the top level directory - and add the library locations under the DIRECT WAIS ACCESS heading. + and compile it. The compile process will create some libraries, you will + need wais.a and client.a. Edit the Makefile in the top level directory + and add the library locations under the DIRECT WAIS ACCESS heading. Edit the Makefile for the WWW Library in the WWW/Library/Implementation/CommonMakefile to make the WAIS.c sources in the library. If everything goes well you should @@ -106,20 +106,20 @@ UNIX Step 2. VMS users skip to 'VMS step 2' Check the top level Makefile for any site-specific definitions - you require or desire. Then, you should be ready to compile! + you require or desire. Then, you should be ready to compile! - If you type "make" with no arguments you will see a list of + If you type "make" with no arguments you will see a list of supported systems. If your system type IS listed you just need to type "make SYSTEM_TYPE". For instance, if you are running under IBM's RS/6000 AIX 3.2 you would just type "make aix32". If you were running Ultrix you would type "make ultrix". - If you are on a SUN workstation and do not have 'gcc' you + If you are on a SUN workstation and do not have 'gcc' you may change 'gcc' to '/usr/5bin/cc' in the Makefile If you are on a system that is not listed in the makefile it may be - more difficult. The first thing you should try is just "make generic", + more difficult. The first thing you should try is just "make generic", this will compile with the "fancy_curses" option, and will give a much nicer screen display. If it doesn't compile or if the screen display looks strange (real strange), try compiling with the "low_curses" option. @@ -128,7 +128,7 @@ UNIX Step 2. systems, but we don't know what they might be at this point. If you are running on a currently unsupported system please contact us via the lynx-dev email list (see RELEASE_STATEMENT). If there are any - problems we will try to fix them as soon as possible. + problems we will try to fix them as soon as possible. VMS step 2. Lynx uses the VMS port of gzip for uncompressing streams which have @@ -219,7 +219,7 @@ UNIX Step 3. uses the -cfg switch and specifies the startfile, rather than relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables. -VMS Step 3. +VMS Step 3. Go ahead and test it out with the [.about_lynx]about_lynx.html file. You shouldn't need to install Lynx to test it. Once you are satisfied that it works, go ahead and install it. @@ -239,12 +239,12 @@ VMS Step 3. UNIX Step 4. (Installation) - Lynx is very easy to install, if you want Lynx installed anywhere - besides "/usr/local/bin", with the man files in "/usr/man/man1", you + Lynx is very easy to install, if you want Lynx installed anywhere + besides "/usr/local/bin", with the man files in "/usr/man/man1", you need to edit the Makefile and change the "exec" and "doc" defines. Otherwise just "su" to root and type "make install" and make will - copy "lynx", "lynx.cfg" and "lynx.1" to the specified directories. - Those are the only two files necessary to run Lynx. + copy "lynx", "lynx.cfg" and "lynx.1" to the specified directories. + Those are the only two files necessary to run Lynx. lynx.1 isn't really necessary, but it should be available. lynx.cfg isn't absolutely necessary either but is the only way to configure printers and downloaders (and uploaders if DIRED_SUPPORT @@ -265,13 +265,13 @@ VMS Step 4. UNIX and VMS Step 5. Lynx uses some environment variables to regulate it's behavior. - + The variable "NNTPSERVER" is used to specify the host which will be used as the default for news URLs. - + UNIX setenv NNTPSERVER "news.server.dom" - + VMS define/system NNTPSERVER "news.server.dom" @@ -312,7 +312,7 @@ UNIX and VMS Step 5. act as firewall gateways and caching servers. They are preferable to the older gateway servers. Each protocol used by Lynx can be mapped separately using PROTOCOL_proxy environment variables of the form: - + UNIX setenv http_proxy "http://some.server.dom:port/" setenv https_proxy "http://some.server.dom:port/" @@ -328,7 +328,7 @@ UNIX and VMS Step 5. setenv wais_proxy "http://some.server.dom:port/" setenv finger_proxy "http://some.server.dom:port/" setenv cso_proxy "http://some.server.dom:port/" - + VMS define "http_proxy" "http://some.server.dom:port/" define "https_proxy" "http://some.server.dom:port/" @@ -350,12 +350,12 @@ UNIX and VMS Step 5. proxying for all clients on your system.) If you wish to override the use of a proxy server for specific hosts or - entire domains you may use the "no_proxy" environment variable. Here is + entire domains you may use the "no_proxy" environment variable. Here is an example use of "no_proxy": - + UNIX setenv no_proxy "host.domain.dom, domain1.dom, domain2" - + VMS define "no_proxy" "host.domain.dom, domain1.dom, domain2" @@ -388,12 +388,12 @@ UNIX and VMS Step 5. subdirectory tree and should be made accessible in response to the Lynx 'h'elp command by defining HELPFILE in userdefs.h and/or lynx.cfg to an appropriate file://localhost/path URL. - + UNIX & VMS Step 6. (Hopefully Optional) If something doesn't work, or you can't get it to compile at all, or you can't figure out what one of the defines means, or if you just want to make a comment, send an email message to the Lynx-Dev mailing list (see the README file about subscribing to Lynx-Dev). Until Lynx - has been ported to all the world's operating systems, we expect there + has been ported to all the world's operating systems, we expect there will be some compatibility problems, but we'll do our best to help you. diff --git a/docs/Makefile.old b/docs/Makefile.old index df2fa416..ff500458 100644 --- a/docs/Makefile.old +++ b/docs/Makefile.old @@ -6,7 +6,7 @@ SHELL = /bin/sh #MAKE= make ##this is the name of the directory the lynx source code is in. -##(e.g. lynx2-7-1, not the full path) +##(e.g., lynx2-7-1, not the full path) lynxdir= lynx2-7-1 ##this is the filename for .zip, .tar and .tar.Z archives. @@ -145,7 +145,7 @@ DIRED_UUDECODE = -DOK_UUDECODE DIRED_OVERRIDE = -DOK_OVERRIDE # # To prevent DirEd from changing the permissions on directories or files -# (i.e. from doing what the Unix chmod command or the DOS attrib command +# (i.e., from doing what the Unix chmod command or the DOS attrib command # does), prepend "#" to this line: DIRED_PERMIT = -DOK_PERMIT # @@ -665,7 +665,7 @@ bsdi: WWWLIB="../WWW/Library/svr4/libwww.a" #IMPORTANT: To compile you need ncurses package (version 1.9.4 or later) -# installed on your system. You can download ncurses package from +# installed on your system. You can download ncurses package from # ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses bsdi-ncurses: cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile CC="gcc" \ @@ -690,7 +690,7 @@ bsdi-slang: # define RESOLVLIB (above) for the "LIBS" entry if needed # Solaris2 doesn't have or need ranlib. (ignore the error message about that :) -# (Solaris 2.5 and later actually have a ranlib program - but it does +# (Solaris 2.5 and later actually have a ranlib program - but it does # nothing and is only there to make Makefiles like this one happy) solaris2: cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="-DNSL_FORK \ @@ -782,7 +782,7 @@ solaris2-slangcc: WWWLIB="../WWW/Library/solaris2/libwww.a" \ SLANGLIB="$(SLANGLIB) $(SLANGRRLIB) -lslang -lm" \ SLANGINC="$(SLANGINC)" - + osf: cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \ $(SITE_LYDEFS)" diff --git a/docs/README.chartrans b/docs/README.chartrans index 471d4bcc..e4f4879b 100644 --- a/docs/README.chartrans +++ b/docs/README.chartrans @@ -124,7 +124,7 @@ HOW TO INSTALL: (A general `make clean' should not be necessary, but make sure the ...uni.h file in src/chrtrans gets regenerated.) - Note that definition of new character entities (if e.g. you want + Note that definition of new character entities (if e.g., you want Lynx to recognize Ž) are not covered by these table files, they have to be listed in entities.h. diff --git a/docs/SOCKETSHR.announce b/docs/SOCKETSHR.announce index eda1c739..4c08a018 100644 --- a/docs/SOCKETSHR.announce +++ b/docs/SOCKETSHR.announce @@ -7,8 +7,8 @@ What is SocketShr? SOCKETSHR is Eckhart Meyer's socket library interface to the MadGoat NETLIB package, which provides a vendor-independent interface to the VMS TCP/IP -transports. Using this, the same image will run over any of the available -packages, including UCX, Multinet, CMU, Pathway access and TCPWARE. +transports. Using this, the same image will run over any of the available +packages, including UCX, Multinet, CMU, Pathway access and TCPWARE. SocketShr and NETLIB are separately available libraries that MUST be installed before LYNX can use them. @@ -58,7 +58,7 @@ Both should be defined /system /exec Building LYNX ------------- -Run the BUILD.COM procedures and select the SOCKETSHR_TCP option. This will +Run the BUILD.COM procedures and select the SOCKETSHR_TCP option. This will build an image that will run over the SOCKETSHR/NETLIB routines. diff --git a/intl/cat-compat.c b/intl/cat-compat.c index a5bc8b31..13323820 100644 --- a/intl/cat-compat.c +++ b/intl/cat-compat.c @@ -44,7 +44,7 @@ char *getenv (); setting of `local'.'' However it does not specify the exact format. And even worse: POSIX defines this not at all. So we can use this feature only on selected - system (e.g. those using GNU C Library). */ + system (e.g., those using GNU C Library). */ #ifdef _LIBC # define HAVE_LOCALE_NULL #endif diff --git a/intl/dcgettext.c b/intl/dcgettext.c index 59a435b4..47331cc6 100644 --- a/intl/dcgettext.c +++ b/intl/dcgettext.c @@ -141,7 +141,7 @@ static char *stpcpy PARAMS ((char *dest, const char *src)); setting of `local'.'' However it does not specify the exact format. And even worse: POSIX defines this not at all. So we can use this feature only on selected - system (e.g. those using GNU C Library). */ + system (e.g., those using GNU C Library). */ #ifdef _LIBC # define HAVE_LOCALE_NULL #endif @@ -325,7 +325,7 @@ DCGETTEXT (domainname, msgid, category) { /* The whole contents of CATEGORYVALUE has been searched but no valid entry has been found. We solve this situation - by implicitly appending a "C" entry, i.e. no translation + by implicitly appending a "C" entry, i.e., no translation will take place. */ single_locale[0] = 'C'; single_locale[1] = '\0'; diff --git a/intl/libgettext.h b/intl/libgettext.h index 0d4de4d0..3d49ab51 100644 --- a/intl/libgettext.h +++ b/intl/libgettext.h @@ -15,7 +15,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Because on some systems (e.g. Solaris) we sometimes have to include +/* Because on some systems (e.g., Solaris) we sometimes have to include the systems libintl.h as well as this file we have more complex include protection above. But the systems header might perhaps also define _LIBINTL_H and therefore we have to protect the definition here. */ diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c index 96bfd943..19b2cce9 100644 --- a/intl/loadmsgcat.c +++ b/intl/loadmsgcat.c @@ -112,7 +112,7 @@ _nl_load_domain (domain_file) } #endif - /* If the data is not yet available (i.e. mmap'ed) we try to load + /* If the data is not yet available (i.e., mmap'ed) we try to load it manually. */ if (data == (struct mo_file_header *) -1) { diff --git a/intl/makefile.in b/intl/makefile.in index 3990ee0f..f9943ffe 100644 --- a/intl/makefile.in +++ b/intl/makefile.in @@ -20,7 +20,7 @@ PACKAGE = lynx # VERSION = @VERSION@ VERSION = 2.8.1 -SHELL = /bin/sh +SHELL = @CONFIG_SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +32,7 @@ exec_prefix = @exec_prefix@ transform = @program_transform_name@ libdir = $(exec_prefix)/lib includedir = $(prefix)/include -datadir = $(prefix)/@DATADIRNAME@ +datadir = @NLS_DATADIR@ localedir = $(datadir)/locale gnulocaledir = $(prefix)/share/locale gettextsrcdir = @datadir@/gettext/intl diff --git a/lynx.cfg b/lynx.cfg index c6a4d9bc..3e4a2a29 100644 --- a/lynx.cfg +++ b/lynx.cfg @@ -309,7 +309,7 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html # NCR_IN_BOOKMARKS:TRUE allows you to save 8-bit characters in bookmark titles # in the unicode format (NCR). This may be useful if you need to switch # display charsets frequently. This is the case when you use Lynx on different -# platforms, e.g. on UNIX and from a remote PC, and want to keep the bookmarks +# platforms, e.g., on UNIX and from a remote PC, and want to keep the bookmarks # file persistent. # Another aspect is compatibility: NCR is part of I18N and HTML4.0 # specifications supported starting with Lynx 2.7.2, Netscape 4.0 and MSIE 4.0. @@ -1438,7 +1438,7 @@ MINIMAL_COMMENTS:TRUE # -viewer command is a system command that can be # used to display the file where %s is replaced # within the command with the physical filename -# (e.g. "ghostview %s" becomes "ghostview /tmp/temppsfile") +# (e.g., "ghostview %s" becomes "ghostview /tmp/temppsfile") # -environment is optional. The only valid keywords # are currently XWINDOWS and NON_XWINDOWS. If the XWINDOWS # environment is specified then the viewer will only be diff --git a/lynx.hlp b/lynx.hlp index 80e67865..788c8609 100644 --- a/lynx.hlp +++ b/lynx.hlp @@ -165,13 +165,13 @@ control the display of hidden links. + merge - hidden links show up as bracketed numbers and are numbered together - with other links in the sequence of their occurrence in the document. + hidden links show up as bracketed numbers and are numbered together + with other links in the sequence of their occurrence in the document. + listonly - hidden links are shown only on L)ist screens and listings generated by - -dump or from the P)rint menu, but appear separately at the end of - those lists. This is the default behavior. + hidden links are shown only on L)ist screens and listings generated by + -dump or from the P)rint menu, but appear separately at the end of + those lists. This is the default behavior. + ignore hidden links do not appear even in listings. @@ -311,8 +311,8 @@ files (but still allow it for directories) when local file management is enabled. - default - same as command line option -anonymous. Disables default - services for anonymous users. Currently set to all restricted + default - same as command line option -anonymous. Disables default + services for anonymous users. Currently set to all restricted except for: inside_telnet, outside_telnet, inside_news, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, jump, mail and goto. Defaults are setable within userdefs.h. @@ -472,8 +472,273 @@ o Use Up arrow and Down arrow to scroll through hypertext links. o Right arrow or Return will follow a highlighted hypertext link. o Left Arrow will retreat from a link. - o Type "H" or "?" for online help and descriptions of key-stroke commands. - o Type "K" for a complete list of the current key-stroke command mappings. + o Type "H" or "?" for online help and descriptions of key-stroke commands. + o Type "K" for a complete list of the current key-stroke command mappings. + +2 ENVIRONMENT + In addition to various "standard" environment variables + such as HOME, PATH, USER, DISPLAY, TMPDIR, etc, Lynx uti- + lizes several Lynx-specific environment variables, if they + exist. + + Others may be created or modified by Lynx to pass data to + an external program, or for other reasons. These are + listed separately below. + + See also the sections on SIMULATED CGI SUPPORT and NATIVE + LANGUAGE SUPPORT, below. + + Note: Not all environment variables apply to all types of + platforms supported by Lynx, though most do. Feedback on + platform dependencies is solicited. + + Environment Variables Used By Lynx: + + COLORTERM If set, color capability for the ter- + minal is forced on at startup time. + The actual value assigned to the vari- + able is ignored. This variable is + only meaningful if Lynx was built + using the slang screen-handling + library. + + LYNX_CFG This variable, if set, will override + the default location and name of the + global configuration file (normally, + lynx.cfg) that was defined by the + LYNX_CFG_FILE constant in the + userdefs.h file, during installation. + See the userdefs.h file for more + information. + + LYNX_LSS This variable, if set, specifies the + location of the default Lynx character + style sheet file. [Currently only + meaningful if Lynx was built using + experimental color style support.] + + LYNX_SAVE_SPACE This variable, if set, will override + the default path prefix for files + saved to disk that is defined in the + lynx.cfg SAVE_SPACE: statement. See + the lynx.cfg file for more informa- + tion. + + LYNX_TEMP_SPACE This variable, if set, will override + the default path prefix for temporary + files that was defined during instal- + lation, as well as any value that may + be assigned to the TMPDIR variable. + + MAIL This variable specifies the default + inbox Lynx will check for new mail, if + such checking is enabled in the + lynx.cfg file. + + NEWS_ORGANIZATION This variable, if set, provides the + string used in the Organization: + header of USENET news postings. It + will override the setting of the ORGA- + NIZATION environment variable, if it + is also set (and, on UNIX, the con- + tents of an /etc/organization file, if + present). + + NNTPSERVER If set, this variable specifies the + default NNTP server that will be used + for USENET news reading and posting + with Lynx, via news: URL's. + + ORGANIZATION This variable, if set, provides the + string used in the Organization: + header of USENET news postings. On + UNIX, it will override the contents of + an /etc/organization file, if present. + + PROTOCOL_proxy Lynx supports the use of proxy servers + that can act as firewall gateways and + caching servers. They are preferable + to the older gateway servers (see + WWW_access_GATEWAY, below). Each pro- + tocol used by Lynx, (http, ftp, + gopher, etc), can be mapped separately + by setting environment variables of + the form PROTOCOL_proxy (literally: + http_proxy, ftp_proxy, gopher_proxy, + etc), to + "http://some.server.dom:port/". See + the INSTALLATION file in the Lynx dis- + tribution for additional details, and + examples. + + WWW_access_GATEWAY Lynx still supports use of gateway + servers, with the servers specified + via "WWW_access_GATEWAY" variables + (where "access" is lower case and can + be "http", "ftp", "gopher" or "wais"), + however most gateway servers have been + discontinued. Note that you do not + include a terminal '/' for gateways, + but do for proxies specified by PROTO- + COL_proxy environment variables. See + the INSTALLATION file in the Lynx dis- + tribution for details. + + WWW_HOME This variable, if set, will override + the default startup URL specified in + any of the Lynx configuration files. + + Environment Variables Set or Modified By Lynx: + + LYNX_PRINT_DATE This variable is set by the Lynx + p(rint) function, to the Date: string + seen in the document's "Information + about" page (= cmd), if any. It is + created for use by an external pro- + gram, as defined in a lynx.cfg + PRINTER: definition statement. If the + field does not exist for the document, + the variable is set to a null string + under UNIX, or "No Date" under VMS. + + LYNX_PRINT_LASTMOD This variable is set by the Lynx + p(rint) function, to the Last Mod: + string seen in the document's "Infor- + mation about" page (= cmd), if any. + It is created for use by an external + program, as defined in a lynx.cfg + PRINTER: definition statement. If the + field does not exist for the document, + the variable is set to a null string + under UNIX, or "No LastMod" under VMS. + + LYNX_PRINT_TITLE This variable is set by the Lynx + p(rint) function, to the Linkname: + string seen in the document's "Infor- + mation about" page (= cmd), if any. + It is created for use by an external + program, as defined in a lynx.cfg + PRINTER: definition statement. If the + field does not exist for the document, + the variable is set to a null string + under UNIX, or "No Title" under VMS. + + LYNX_PRINT_URL This variable is set by the Lynx + p(rint) function, to the URL: string + seen in the document's "Information + about" page (= cmd), if any. It is + created for use by an external pro- + gram, as defined in a lynx.cfg + PRINTER: definition statement. If the + field does not exist for the document, + the variable is set to a null string + under UNIX, or "No URL" under VMS. + + LYNX_VERSION This variable is always set by Lynx, + and may be used by an external program + to determine if it was invoked by + Lynx. See also the comments in the + distribution's sample mailcap file, + for notes on usage in such a file. + + TERM Normally, this variable is used by + Lynx to determine the terminal type + being used to invoke Lynx. If, how- + ever, it is unset at startup time (or + has the value "unknown"), or if the + -term command-line option is used (see + OPTIONS section above), Lynx will set + or modify its value to the user speci- + fied terminal type (for the Lynx exe- + cution environment). Note: If + set/modified by Lynx, the values of + the LINES and/or COLUMNS environment + variables may also be changed. + +2 SIMULATED CGI SUPPORT + If built with the cgi-links option enabled, Lynx allows + access to a cgi script directly without the need for an + http daemon. + + When executing such "lynxcgi scripts" (if enabled), the + following variables may be set for simulating a CGI envi- + ronment: + + CONTENT_LENGTH + + CONTENT_TYPE + + DOCUMENT_ROOT + + HTTP_ACCEPT_CHARSET + + HTTP_ACCEPT_LANGUAGE + + HTTP_USER_AGENT + + PATH_INFO + + PATH_TRANSLATED + + QUERY_STRING + + REMOTE_ADDR + + REMOTE_HOST + + REQUEST_METHOD + + SERVER_SOFTWARE + + Other environment variables are not inherited by the + script, unless they are provided via a LYNXCGI_ENVIRONMENT + statement in the configuration file. See the lynx.cfg + file, and the (draft) CGI 1.1 Specification + <http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> + for the definition and usage of these variables. + + The CGI Specification, and other associated documentation, + should be consulted for general information on CGI script + programming. + +2 NATIVE LANGUAGE SUPPORT + If configured and installed with Native Language Support, + Lynx will display status and other messages in your local + language. See the file ABOUT_NLS in the source distribu- + tion, or at your local GNU site, for more information + about internationalization. + + The following environment variables may be used to alter + default settings: + + LANG This variable, if set, will override + the default message language. It is + an ISO 639 two-letter code identifying + the language. Language codes are NOT + the same as the country codes given in + ISO 3166. + + LANGUAGE This variable, if set, will override + the default message language. This is + a GNU extension that has higher prior- + ity for setting the message catalog + than LANG or LC_ALL. + + LC_ALL and + + LC_MESSAGES These variables, if set, specify the + notion of native language formatting + style. They are POSIXly correct. + + LINGUAS This variable, if set prior to config- + uration, limits the installed lan- + guages to specific values. It is a + space-separated list of two-letter + codes. Currently, it is hard-coded to + a wish list. + + NLSPATH This variable, if set, is used as the + path prefix for message catalogs. 2 NOTES This is the Lynx v2.8.1 Release @@ -490,6 +755,10 @@ "unsubscribe lynx-dev" as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself. +2 SEE ALSO + environ(7), execve(2), ftp(1), gettext(GNU), locale- + conv(3), setlocale(3), termcap(5), terminfo(5), wget(GNU) + 2 ACKNOWLEDGMENTS Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing diff --git a/lynx.man b/lynx.man index 2a9a35c2..799d9413 100644 --- a/lynx.man +++ b/lynx.man @@ -548,6 +548,222 @@ of key-stroke commands. .br o Type \fB"K"\fR for a complete list of the current key-stroke command mappings. +.SH ENVIRONMENT +In addition to various "standard" environment variables such as +\fBHOME\fR, \fBPATH\fR, \fBUSER\fR, \fBDISPLAY\fR, \fBTMPDIR\fR, \fBetc\fR, +\fILynx\fR utilizes several Lynx-specific environment variables, if they +exist. +.PP +Others may be created or modified by \fILynx\fR to pass data to an external +program, or for other reasons. These are listed separately below. +.PP +See also the sections on \fBSIMULATED CGI SUPPORT\fR and +\fBNATIVE LANGUAGE SUPPORT\fR, below. +.PP +Note: Not all environment variables apply to all types of platforms +supported by \fILynx\fR, though most do. Feedback on platform +dependencies is solicited. +.PP +Environment Variables Used By \fILynx\fR: +.TP 20 +.B COLORTERM +If set, color capability for the terminal is forced on at startup time. +The actual value assigned to the variable is ignored. This variable is +only meaningful if \fILynx\fR was built using the \fBslang\fR +screen-handling library. +.TP 20 +.B LYNX_CFG +This variable, if set, will override the default location and name of +the global configuration file (normally, \fBlynx.cfg\fR) that was defined +by the LYNX_CFG_FILE constant in the userdefs.h file, during installation. +See the userdefs.h file for more information. +.TP 20 +.B LYNX_LSS +This variable, if set, specifies the location of the default \fILynx\fR +character style sheet file. [Currently only meaningful if \fILynx\fR was +built using experimental color style support.] +.TP 20 +.B LYNX_SAVE_SPACE +This variable, if set, will override the default path prefix for files +saved to disk that is defined in the \fBlynx.cfg SAVE_SPACE:\fR statement. +See the \fBlynx.cfg\fR file for more information. +.TP 20 +.B LYNX_TEMP_SPACE +This variable, if set, will override the default path prefix for temporary +files that was defined during installation, as well as any value that may +be assigned to the \fBTMPDIR\fR variable. +.TP 20 +.B MAIL +This variable specifies the default inbox \fILynx\fR will check for new +mail, if such checking is enabled in the \fBlynx.cfg\fR file. +.TP 20 +.B NEWS_ORGANIZATION +This variable, if set, provides the string used in the \fBOrganization:\fR +header of \fBUSENET\fR news postings. It will override the setting of the +ORGANIZATION environment variable, if it is also set (and, on \fBUNIX\fR, +the contents of an /etc/organization file, if present). +.TP 20 +.B NNTPSERVER +If set, this variable specifies the default NNTP server that will be used +for \fBUSENET\fR news reading and posting with \fILynx\fR, via news: URL's. +.TP 20 +.B ORGANIZATION +This variable, if set, provides the string used in the \fBOrganization:\fR +header of \fBUSENET\fR news postings. On \fBUNIX\fR, it will override the +contents of an /etc/organization file, if present. +.TP 20 +.B PROTOCOL_proxy +\fILynx\fR supports the use of proxy servers that can act as firewall +gateways and caching servers. They are preferable to the older gateway +servers (see WWW_access_GATEWAY, below). Each protocol used by \fILynx\fR, +(http, ftp, gopher, etc), can be mapped separately by setting environment +variables of the form PROTOCOL_proxy (literally: http_proxy, ftp_proxy, +gopher_proxy, etc), to "http://some.server.dom:port/". +See the \fBINSTALLATION\fR file in the \fILynx\fR distribution for additional +details, and examples. +.TP 20 +.B WWW_access_GATEWAY +\fILynx\fR still supports use of gateway servers, with the servers specified +via "WWW_access_GATEWAY" variables (where "access" is lower case and can be +"http", "ftp", "gopher" or "wais"), however most gateway servers have been +discontinued. Note that you do not include a terminal '/' for gateways, but +do for proxies specified by PROTOCOL_proxy environment variables. +See the \fBINSTALLATION\fR file in the \fILynx\fR distribution for details. +.TP 20 +.B WWW_HOME +This variable, if set, will override the default startup URL specified +in any of the \fILynx\fR configuration files. +.PP +Environment Variables \fBSet\fR or \fBModified\fR By \fILynx\fR: +.TP 20 +.B LYNX_PRINT_DATE +This variable is set by the \fILynx\fR p(rint) function, to the +\fBDate:\fR +string seen in the document's "\fBInformation about\fR" page (= cmd), +if any. +It is created for use by an external program, as defined in a +\fBlynx.cfg PRINTER:\fR definition statement. +If the field does not exist for the document, the variable is set to a +null string under \fBUNIX\fR, or "No Date" under \fBVMS\fR. +.TP 20 +.B LYNX_PRINT_LASTMOD +This variable is set by the \fILynx\fR p(rint) function, to the +\fBLast Mod:\fR +string seen in the document's "\fBInformation about\fR" page (= cmd), +if any. +It is created for use by an external program, as defined in a +\fBlynx.cfg PRINTER:\fR definition statement. +If the field does not exist for the document, the variable is set to a +null string under \fBUNIX\fR, or "No LastMod" under \fBVMS\fR. +.TP 20 +.B LYNX_PRINT_TITLE +This variable is set by the \fILynx\fR p(rint) function, to the +\fBLinkname:\fR +string seen in the document's "\fBInformation about\fR" page (= cmd), +if any. +It is created for use by an external program, as defined in a +\fBlynx.cfg PRINTER:\fR definition statement. +If the field does not exist for the document, the variable is set to a +null string under \fBUNIX\fR, or "No Title" under \fBVMS\fR. +.TP 20 +.B LYNX_PRINT_URL +This variable is set by the \fILynx\fR p(rint) function, to the +\fBURL:\fR +string seen in the document's "\fBInformation about\fR" page (= cmd), +if any. +It is created for use by an external program, as defined in a +\fBlynx.cfg PRINTER:\fR definition statement. +If the field does not exist for the document, the variable is set to a +null string under \fBUNIX\fR, or "No URL" under \fBVMS\fR. +.TP 20 +.B LYNX_VERSION +This variable is always set by \fILynx\fR, and may be used by an external +program to determine if it was invoked by \fILynx\fR. See also the comments +in the distribution's sample \fBmailcap\fR file, for notes on usage in such +a file. +.TP 20 +.B TERM +Normally, this variable is used by \fILynx\fR to determine the terminal type +being used to invoke \fILynx\fR. If, however, it is unset at startup time +(or has the value "unknown"), +or if the \fB-term\fR command-line option is used (see \fBOPTIONS\fR section +above), \fILynx\fR will set or modify its value to the user specified +terminal type (for the \fILynx\fR execution environment). +Note: If set/modified by \fILynx\fR, the values of the \fBLINES\fR and/or +\fBCOLUMNS\fR environment variables may also be changed. +.SH SIMULATED CGI SUPPORT +If built with the \fBcgi-links\fR option enabled, \fILynx\fR allows access +to a cgi script directly without the need for an http daemon. +.PP +When executing such "lynxcgi scripts" (if enabled), the following variables +may be set for simulating a CGI environment: +.PP +.B CONTENT_LENGTH +.PP +.B CONTENT_TYPE +.PP +.B DOCUMENT_ROOT +.PP +.B HTTP_ACCEPT_CHARSET +.PP +.B HTTP_ACCEPT_LANGUAGE +.PP +.B HTTP_USER_AGENT +.PP +.B PATH_INFO +.PP +.B PATH_TRANSLATED +.PP +.B QUERY_STRING +.PP +.B REMOTE_ADDR +.PP +.B REMOTE_HOST +.PP +.B REQUEST_METHOD +.PP +.B SERVER_SOFTWARE +.PP +Other environment variables are not inherited by the script, unless they +are provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. +See the \fBlynx.cfg\fR file, and the (draft) CGI 1.1 Specification +<http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> for the +definition and usage of these variables. +.PP +The CGI Specification, and other associated documentation, should be consulted +for general information on CGI script programming. +.SH NATIVE LANGUAGE SUPPORT +If configured and installed with \fBNative Language Support\fR, \fILynx\fR +will display status and other messages in your local language. See the +file \fBABOUT_NLS\fR in the source distribution, or at your local \fBGNU\fR +site, for more information about internationalization. +.PP +The following environment variables may be used to alter default settings: +.TP 20 +.B LANG +This variable, if set, will override the default message language. It +is an \fBISO 639\fR two-letter code identifying the language. Language +codes are \fBNOT\fR the same as the country codes given in \fBISO 3166\fR. +.TP 20 +.B LANGUAGE +This variable, if set, will override the default message language. +This is a \fBGNU\fR extension that has higher priority for setting +the message catalog than \fBLANG\fR or \fBLC_ALL\fR. +.TP 20 +.B LC_ALL +and +.TP 20 +.B LC_MESSAGES +These variables, if set, specify the notion of native language +formatting style. They are \fBPOSIXly\fR correct. +.TP 20 +.B LINGUAS +This variable, if set prior to configuration, limits the installed +languages to specific values. It is a space-separated list of two-letter +codes. Currently, it is hard-coded to a wish list. +.TP 20 +.B NLSPATH +This variable, if set, is used as the path prefix for message catalogs. .SH NOTES This is the Lynx v2.8.1 Release .PP @@ -562,6 +778,16 @@ after subscribing. Unsubscribe by sending email to <majordomo@sig.net> with "unsubscribe lynx-dev" as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself. +.SH SEE ALSO +\fIenviron\fR(7), +\fIexecve\fR(2), +\fIftp\fR(1), +\fIgettext\fR(GNU), +\fIlocaleconv\fR(3), +\fIsetlocale\fR(3), +\fItermcap\fR(5), +\fIterminfo\fR(5), +\fIwget\fR(GNU) .SH ACKNOWLEDGMENTS Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html index 1d7fcbfc..2f26f2cf 100644 --- a/lynx_help/Lynx_users_guide.html +++ b/lynx_help/Lynx_users_guide.html @@ -108,7 +108,7 @@ all be used to display an arbitrary ASCII text or HTML file: <p>When executed, Lynx will clear the screen and display as much of the specified file as will fit on the screen. Pressing a <em>down-arrow</em> will bring up the next screen, and pressing an <em>up-arrow</em> will bring -up the previous screen. If no file is specified at startup, a default file +up the previous screen. If no file is specified at startup, a default file will be displayed. (The default is configured by the system administrator when the command is installed.) @@ -136,9 +136,9 @@ selected link when a <em>right-arrow</em> or a <em>Return</em> key is pressed. To select a particular link, press the <em>up-arrow</em> or <em>down-arrow</em> keys until the desired link becomes "highlighted," and then press the <em>right-arrow</em> or <em>Return</em> key to view -the linked information. Information included in the HTML file tells Lynx +the linked information. Information included in the HTML file tells Lynx where to find the linked file and what kind of server will provide it -(i.e. HTTP, Gopher, etc.). +(i.e., HTTP, Gopher, etc.). <p>Lynx renders HTML files and saves the rendition, not the source, for initial display and should you select the link again. If you do @@ -150,19 +150,19 @@ of the currently displayed document via the RELOAD command, normally mapped to <EM>Control-R</em>. <p>When a binary file is encountered Lynx will ask the user if he/she -wishes to download the file or cancel. If the user selects '<em>D'</em> +wishes to download the file or cancel. If the user selects '<em>D'</em> for download, Lynx will transfer the file into a temporary location and -present the user with a list of options. The only default option is +present the user with a list of options. The only default option is <em>Save to disk</em>, which is disabled if Lynx is running in anonymous -mode. Additional download methods may be defined in the -<A HREF="#lynx.cfg">lynx.cfg</A> file. Programs like kermit, zmodem +mode. Additional download methods may be defined in the +<A HREF="#lynx.cfg">lynx.cfg</A> file. Programs like kermit, zmodem and FTP are some possible options. [<A HREF="#ToC-Local">ToC</A>] <h2 ID="Leaving"><A NAME="Leaving"><em>Leaving Lynx</em></A></h2> To exit Lynx use the '<em>q</em>' command. You will be asked whether you really want to quit. Answering '<em>y</em>' will exit and '<em>n</em>' -will return you to the current document. Use '<em>Q</em>' or +will return you to the current document. Use '<em>Q</em>' or <em>Control-D</em> to quit without verification. [<A HREF="#ToC-Leaving">ToC</A>] <h2 ID="Remote"><A NAME="Remote"><em>Starting Lynx with a Remote File</em></A></h2> @@ -556,7 +556,7 @@ compiled into Lynx, and is accessed by setting FORMS_OPTIONS true in your </pre> An option can be changed by entering the capital letter or character in -parentheses for the option you wish to change (e.g. '<em>E</em>' for Editor +parentheses for the option you wish to change (e.g., '<em>E</em>' for Editor or '<em>@</em>' for show cursor). For fields where text must be entered, simply enter the text by typing on the keyboard. The <a href="keystrokes/edit_help.html">Line Editor</a> can be used to @@ -674,7 +674,7 @@ return to Lynx or the '<em>></em>' command to save the options to a (e.g., ISO-8859-2) and do not include ISO-8859-1 or US-ASCII, since those values are always assumed by default. Can be a comma-separated list, which may be interpreted by servers as - descending order of preferences. You can also make your order + descending order of preferences. You can also make your order of preference explicit by using q factors as defined by the HTTP protocol, for servers which understand it, for example: iso-8859-5, utf-8;q=0.8 @@ -734,7 +734,7 @@ return to Lynx or the '<em>></em>' command to save the options to a cause Lynx to set color mode on at startup if supported. If Lynx is built with the slang library, this is equivalent to having included the <em>-color</em> command line switch or having the - <em>COLORTERM</em> environment variable set. If color support is + <em>COLORTERM</em> environment variable set. If color support is provided by curses or ncurses, this is equivalent to the default behavior of using color when the terminal type supports it. If (n)curses color support is available but cannot be used for @@ -763,16 +763,16 @@ return to Lynx or the '<em>></em>' command to save the options to a uppercase H, J, K, and L keys remain mapped to their configured bindings (normally HELP, JUMP, KEYMAP, and LIST, respectively). - <p>Note: this has no effect on the line-editor's key bindings. - + <p>Note: this has no effect on the line-editor's key bindings. + <dt>Emacs keys <dd>If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B keys will be mapped to up-arrow, down-arrow, right-arrow, and left-arrow, respectively. Otherwise, they remain mapped to their configured bindings (normally UP_TWO lines, DOWN_TWO lines, NEXT_PAGE, and PREV_PAGE, respectively). - - <p>Note: this has no effect on the line-editor's key bindings. + + <p>Note: this has no effect on the line-editor's key bindings. <dt>Show dot files <dd>If display/creation of hidden (dot) files/directories is @@ -862,7 +862,7 @@ return to Lynx or the '<em>></em>' command to save the options to a the <em>-restrictions</em> switch. Otherwise, the header can be changed temporarily to a string such as <em>L_y_n_x/2.8.1</em> for access to sites which discriminate against Lynx based on - checks for the presence of "Lynx" in the header. If + checks for the presence of "Lynx" in the header. If changed during a Lynx session, the default User-Agent header can be restored by deleting the modified string in the Options Menu. Whenever the User-Agent header is @@ -897,7 +897,7 @@ return to Lynx or the '<em>></em>' command to save the options to a </dl> <dd>If the users options permit the script to be executed Lynx will - spawn a shell and run the script. If the script cannot be + spawn a shell and run the script. If the script cannot be executed Lynx will show the script within the Lynx window and inform the user that the script is not allowed to be executed and will ask the user to check his/her options. @@ -922,7 +922,7 @@ address, and the subject of the message. If you have filled in the address will be filled in automatically. After entering the above information, if you have an editor defined in the <em>Options Menu</em> and you are not an anonymous user then your specified editor will be -spawned for you so that you can enter your message. If you do not have +spawned for you so that you can enter your message. If you do not have an editor defined or you are an anonymous user, a simple line mode input scheme will allow you to enter your message. @@ -1021,7 +1021,7 @@ href="#InteractiveOptions">Options Menu</a>) is OFF, you will always view or add links to the default bookmark file. When it is STANDARD, a menu of up to 26 bookmark files will be invoked, and you select the bookmark file by entering its letter -token. When it is ADVANCED, you will be prompted for the letter +token. When it is ADVANCED, you will be prompted for the letter token, but can enter '<em>=</em>' to invoke the STANDARD selection menu, or <em>RETURN</em> for the default bookmark file. [<A HREF="#ToC-Bookmarks">ToC</A>] @@ -1251,7 +1251,7 @@ commands. href="keystrokes/cookie_help.html">Cookie Jar Page</a> if it contains cookies. <dt><em>z</em> - <dd>Lynx supports completely interruptible I/O processes. Press the + <dd>Lynx supports completely interruptible I/O processes. Press the '<em>z</em>' key at any time during a connect or transfer process and the process will be halted. If any data was transferred before the interrupt, it will be displayed. @@ -1281,7 +1281,7 @@ options from a list, and fields for entering text. <dl> <dt>Buttons: <dd>Buttons are displayed in the same way that Lynx displays links in - a document. To "push" the button press the <em>right-arrow</em> or + a document. To "push" the button press the <em>right-arrow</em> or <em>Return</em> key. If it is a form submission button, you also can use the RESUBMIT ('<em>x</em>') or DOWNLOAD ('<em>d</em>') keystroke commands to "push" the button (see below). @@ -1340,7 +1340,7 @@ options from a list, and fields for entering text. In general, you can move around the form using the standard Lynx navigation keys. The <em>up-arrow</em> and <em>down-arrow</em> keys, respectively, -select the previous or next field, box, or button. The <em>TAB</em> key +select the previous or next field, box, or button. The <em>TAB</em> key selects the next field (or next page of a TEXTAREA if it extends onto the next page), box, or button. @@ -1675,7 +1675,7 @@ have an ID attribute, which will be treated as a named <em>A</em>nchor, as for <a href="#Footnotes">HTML Footnotes</a>, but the NOTE block need not be placed at the bottom of the document. The content of a NOTE block can be any HTML -markup that is valid in the BODY of the document. This is an example:<BR> +markup that is valid in the BODY of the document. This is an example:<BR> <tab indent="12"><em><NOTE CLASS="warning" ID="too-bad"><BR> <tab indent="14"><p>The W3C vendors did not retain NOTE in the HTML 3.2 draft.</p><BR> @@ -1989,7 +1989,7 @@ where <dl> <dt><code>-</code> <dd>If the argument is only '<code>-</code>' (dash), then Lynx - expects to receive the arguments from stdin. This is to + expects to receive the arguments from stdin. This is to allow for the potentially very long command line that can be associated with the <em>-get_data</em> or <em>-post_data</em> arguments (see below). On VMS, it @@ -2093,7 +2093,7 @@ where <dd>disable ftp access. <dt><code>-get_data</code> <dd>properly formatted data for a get form are read in from - stdin and passed to the form. Input is terminated by a + stdin and passed to the form. Input is terminated by a line that starts with '---'. <dt><code>-head</code> <dd>send a HEAD request for the mime headers. @@ -2178,7 +2178,7 @@ where The command line switch toggles the default. <dt><code>-post_data</code> <dd>properly formatted data for a post form are read in from - stdin and passed to the form. Input is terminated by a + stdin and passed to the form. Input is terminated by a line that starts with '---'. <dt><code>-preparsed</code> <dd>show source preparsed and reformatted when used with @@ -2388,7 +2388,7 @@ It may be copied to your shell account and included with -cfg command line switch or via an environment variable LYNX_CFG (if you have shell access). Starting with version 2.8.1 Lynx has an include facility so you can load the system-wide configuration file and easily add one or more settings -from your local add-on configuration file. It is really cool to read +from your local add-on configuration file. It is really cool to read lynx.cfg with its comments for hundreds of options, most of them commented out because they are built-in defaults. diff --git a/lynx_help/about_lynx.html b/lynx_help/about_lynx.html index 33faa7cd..21c3d469 100644 --- a/lynx_help/about_lynx.html +++ b/lynx_help/about_lynx.html @@ -53,8 +53,8 @@ Internet community coordinated via the under the <A HREF="COPYING">GNU General Public License</A>. <P>Lynx was built over an early version of the Common Code Library -developed by the CERN WWW Project. That code is copyrighted by CERN. -Lynx contains other sections of code that are copyrighted +developed by the CERN WWW Project. That code is copyrighted by CERN. +Lynx contains other sections of code that are copyrighted by other institutions or individuals. The Lynx copyright does not override or invalidate those copyrights. @@ -73,7 +73,7 @@ other systems). <P>Also, special thanks go to <EM>Foteos Macrides</EM> who ported much of Lynx to VMS and did much of it's development following Lou Montulli's and Garrett Blythe's departures from the University of Kansas, and to -<EM>Earl Fogel</EM> of the University of Saskatchewan. Earl implemented +<EM>Earl Fogel</EM> of the University of Saskatchewan. Earl implemented the hypertext engine HYPERREZ in the Unix environment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx which did not use the WWW libraries and diff --git a/lynx_help/keystrokes/option_help.html b/lynx_help/keystrokes/option_help.html index 2bdbcf2a..c7b77225 100644 --- a/lynx_help/keystrokes/option_help.html +++ b/lynx_help/keystrokes/option_help.html @@ -278,7 +278,7 @@ you can turn the feature on or off via this setting. The character set you prefer if sets in addition to ISO-8859-1 and US-ASCII are available from servers. Use MIME notation (e.g., ISO-8859-2) and do not include ISO-8859-1 or US-ASCII, since those values are always -assumed by default. Can be a comma-separated list, which may be interpreted +assumed by default. Can be a comma-separated list, which may be interpreted by servers as descending order of preferences; you can make your order of preference explicit by using `q factors' as defined by the HTTP protocol, for servers which understand it: e.g., <kbd>iso-8859-5, utf-8;q=0.8</kbd>. @@ -286,7 +286,7 @@ for servers which understand it: e.g., <kbd>iso-8859-5, utf-8;q=0.8</kbd>. <H1><A NAME="PL">Preferred Document Language</A></H1> The language you prefer if multi-language files are available from servers. -Use RFC 1766 tags, e.g., `en' English, `fr' French. Can be a comma-separated +Use RFC 1766 tags, e.g., `en' English, `fr' French. Can be a comma-separated list, and you can use `q factors' (see previous help item): e.g., <kbd>da, en-gb;q=0.8, en;q=0.7</kbd> . diff --git a/lynx_help/keystrokes/other_help.html b/lynx_help/keystrokes/other_help.html index 511ddaac..e9b2bf24 100644 --- a/lynx_help/keystrokes/other_help.html +++ b/lynx_help/keystrokes/other_help.html @@ -29,22 +29,22 @@ g - Allows you to enter any <a href="http://www.ncsa.uiuc.edu/demoweb/url-primer.html">URL</a> or filename that you wish to view, and then <em>goto</em> it. - + G - Allows you to edit the current document's URL and use that as a <em>goto</em> URL. - + ? or H - Hypertext help to explain how to navigate in Lynx and use its features. - i - Shows an index of files or subjects. This is - configurable by the System administrator, or + i - Shows an index of files or subjects. This is + configurable by the System administrator, or within documents that you may be viewing. - j - Allows you to enter a "short" name to execute a + j - Allows you to enter a "short" name to execute a jump command configured by your system administrator. Press "?" and ENTER to see a list of defined jump commands. - + k - Shows a list of key mappings. Keys remapped in "lynx.cfg" show up in this list. @@ -52,7 +52,7 @@ document, which can be used for rapid access to the links in large documents. - m - Returns to the first screen and empties the + m - Returns to the first screen and empties the history stack. p - Brings up a list of <A HREF="print_help.html">print commands</A>. @@ -62,12 +62,12 @@ q - Quits Lynx. ('Q' quits without asking) / - Search for a string of characters in the current - document case insensitive or case sensitive + document case insensitive or case sensitive depending on the options set. (see <A HREF="option_help.html">options)</A>. s - Search through an external searchable indexed document. - n - Move to the next instance of a search string if you + n - Move to the next instance of a search string if you have searched previously. v - View a <A HREF="bookmark_help.html">Bookmark file</A>. @@ -79,7 +79,7 @@ <backspace> - displays the <a href="history_help.html">history page</A>. - = - Show information about the file and link that you + = - Show information about the file and link that you are currently viewing. \ - Toggles between viewing the HTML source of a @@ -101,7 +101,7 @@ Note that any protected documents that are still in cache can still be accessed. - ` - Toggles minimal or valid comment parsing. When minimal, any + ` - Toggles minimal or valid comment parsing. When minimal, any two successive dashes followed by a close-angle-bracket will be treated as a comment terminator, emulating the parsing bug in Netscape v2.0. If historical comment parsing is set, that @@ -134,7 +134,7 @@ cache. Note that for form submissions, http servers vary in whether they'll treat HEAD requests as valid and return the CGI script's headers, or treat it as invalid and return - an error message. + an error message. " - Toggles valid or "soft" double-quote parsing. When soft, a close-angle-bracket will serve as both a close-double- diff --git a/lynx_help/lynx_url_support.html b/lynx_help/lynx_url_support.html index 27f069ab..d0deb099 100644 --- a/lynx_help/lynx_url_support.html +++ b/lynx_help/lynx_url_support.html @@ -1,5 +1,5 @@ <!DOCTYPE html public "-//IETF//DTD HTML 3.0//EN"> -<HTML> +<HTML> <HEAD> <TITLE>URL Schemes Supported in Lynx</TITLE> <LINK rev=made href="mailto:lynx-dev@sig.net"> @@ -31,7 +31,7 @@ more details about URLs (Uniform Resource Locators) see <em>RFC1738</em>: <li><a href="http://www.w3.org/Addressing/rfc1738.txt" >http://www.w3.org/Addressing/rfc1738.txt</a> <li><a href="ftp://ds.internic.net/rfc/rfc1738.txt" ->ftp://ds.internic.net/rfc/rfc1738.txt</a> +>ftp://ds.internic.net/rfc/rfc1738.txt</a> </ul> <p>Lynx resolves partial or relative URLs in documents with respect to @@ -41,7 +41,7 @@ absolute URL, using the rules described in <em>RFC1808</em>: <li><a href="http://www.w3.org/Addressing/rfc1808.txt" >http://www.w3.org/Addressing/rfc1808.txt</a> <li><a href="ftp://ds.internic.net/rfc/rfc1808.txt" ->ftp://ds.internic.net/rfc/rfc1808.txt</a> +>ftp://ds.internic.net/rfc/rfc1808.txt</a> </ul> and in subsequent drafts of the <em>IETF</em>: @@ -90,7 +90,7 @@ which can correspond to positions in the rendering of the document. <p>The https URL has the same format, but the default port is <em>:443</em>. Patches for support of https URLs and the CONNECT procedure are available -for qualified recipients via <a +for qualified recipients via <a href="http://www.crl.com/~subir/lynx.html">Lynx links</a>. US Export laws and associated red tape pose severe impediments to inclusion of this support in the general distributions of freeware WWW clients such as Lynx. Sorry. @@ -100,7 +100,7 @@ in the general distributions of freeware WWW clients such as Lynx. Sorry. >The <em>telnet</em>, <em>tn3270</em>, and <em>rlogin</em> URLs:</a></H2> A <em>telnet</em> URL generally results in Lynx spawning a telnet -session. Lynx implements the complete telnet URL scheme, i.e.:<BR> +session. Lynx implements the complete telnet URL scheme, i.e.:<BR> <tab indent="12"><em>telnet://user:password@host:port</em> <p>The <em>user</em> and/or <em>:password</em> fields may be omitted, and @@ -334,7 +334,7 @@ respectively, to standard nntp servers, with default port <em>:119</em>. Lynx now also supports homologous snewspost and snewsreply URLs for use with SSL capable nntp servers, but the latter requires patches for built in SSL support, or use of a daemon which handles the secure communications -on behalf of Lynx. +on behalf of Lynx. <p>The formats are:<BR> <tab indent="12"><em>newspost://host:port/newsgroup(s)</em> <tab @@ -577,7 +577,7 @@ find the self-restraint to <em>resist</em> that temptation!!! ><em>Return to your <A HREF="LYNXHIST:0">Startfile</A></em><BR> <tab indent="12" ><em>Review your <A HREF="LYNXKEYMAP:">Keymap</A></em><BR> -(Yes, they'll work. No, they won't do any harm. But...) +(Yes, they'll work. No, they won't do any harm. But...) <p>If you <em>must</em> try one, the second is OK from the command line:<BR> <tab indent="12"><em>lynx LYNXKEYMAP:</em><BR> diff --git a/makefile.in b/makefile.in index 3695d34e..fcdff85e 100644 --- a/makefile.in +++ b/makefile.in @@ -1,6 +1,6 @@ ##makefile for lynx -SHELL = /bin/sh +SHELL = @CONFIG_SHELL@ x = @PROG_EXT@ @@ -28,7 +28,7 @@ INSTALL_DATA = @INSTALL_DATA@ VERSION = 2-8-1 ##this is the name of the directory the lynx source code is in. -##(e.g. lynx2-8-1, not the full path) +##(e.g., lynx2-8-1, not the full path) lynxdir= lynx$(VERSION) lynxname= lynx$(VERSION) @@ -174,7 +174,7 @@ SITE_DEFS = # Your defines here # TESTED: Linux FreeBSD SunOS Solaris IRIX CLIX HP-UX AIX SCO all lynx$x: cfg_defs.h LYHelp.h - @MSG_DIR_MAKE@sh $(srcdir)/fixtext.sh $(srcdir)/LYMessages_en.h >LYMessages.c + @MSG_DIR_MAKE@$(SHELL) $(srcdir)/fixtext.sh $(srcdir)/LYMessages_en.h >LYMessages.c @INTLDIR_MAKE@cd intl && $(MAKE) CC="$(CC)" @MSG_DIR_MAKE@cd po && $(MAKE) CC="$(CC)" cd WWW/Library/unix && $(MAKE) CC="$(CC)" \ @@ -270,6 +270,7 @@ install-full: install install-help install-doc @echo Full installation complete. install-bin: $(bindir) + @MSG_DIR_MAKE@cd po && $(MAKE) CC="$(CC)" install -mv -f $(bindir)/lynx$x $(bindir)/lynx.old $(INSTALL_PROGRAM) lynx$x $(bindir)/ @@ -303,7 +304,7 @@ install-help : $(helpdir) $(srcdir)/lynx_help/help_files.txt | $(FIX_SED) >> \ $(helpdir)/help_files.sed @echo Translating/copying html files - @ECHO_CC@sh -c 'cd $(srcdir)/lynx_help && ( \ + @ECHO_CC@$(SHELL) -c 'cd $(srcdir)/lynx_help && ( \ dirs=keystrokes; \ (cd $(helpdir) && mkdir $$dirs 2>/dev/null ) ; \ files="*.html */*.html" ; \ @@ -316,7 +317,7 @@ install-help : $(helpdir) )' -rm -f $(helpdir)/help_files.sed @echo Updating $(libdir)/lynx.cfg - sh -c 'if test -f $(libdir)/lynx.cfg ; then \ + $(SHELL) -c 'if test -f $(libdir)/lynx.cfg ; then \ mv $(libdir)/lynx.cfg $(libdir)/lynx.tmp ; \ else \ cp $(srcdir)/lynx.cfg $(libdir)/lynx.tmp ; \ @@ -345,7 +346,7 @@ LYHelp.h : LYHelp.hin -@rm -f help_files.sed @echo '**********************************************' @echo - @sh -c 'if test "$(COMPRESS_PROG)" = "" ; then \ + @$(SHELL) -c 'if test "$(COMPRESS_PROG)" = "" ; then \ echo " Help files will NOT be gzipped."; \ else \ echo " Help links point to compressed files"; \ @@ -357,7 +358,7 @@ LYHelp.h : LYHelp.hin cfg_defs.h : $(srcdir)/cfg_defs.sh @rm -f $@ - sh $(srcdir)/cfg_defs.sh >$@ + $(SHELL) $(srcdir)/cfg_defs.sh >$@ install-cfg : $(libdir) -mv -f $(libdir)/lynx.cfg $(libdir)/lynx.oldcfg @@ -368,6 +369,7 @@ install-lss : $(libdir) $(INSTALL_DATA) $(srcdir)/samples/lynx.lss $(libdir)/lynx.lss uninstall: + @MSG_DIR_MAKE@cd po && $(MAKE) CC="$(CC)" uninstall -rm -f $(bindir)/lynx$x -rm -f $(mandir)/lynx.1 -rm -f $(libdir)/lynx.cfg diff --git a/po/lynx.pot b/po/lynx.pot index dba15ff6..f1d8e181 100644 --- a/po/lynx.pot +++ b/po/lynx.pot @@ -3800,7 +3800,7 @@ msgstr "" msgid "" "# partial_thres specifies the number of lines Lynx should download and render\n" "# before we redraw the screen in Partial Display logic\n" -"# e.g. partial_thres=2\n" +"# e.g., partial_thres=2\n" "# would have Lynx redraw every 2 lines that it renders\n" "# partial_thres=-1 would use the entire screensize\n" msgstr "" diff --git a/po/makefile.in.in b/po/makefile.in.in deleted file mode 100644 index ee95e8d8..00000000 --- a/po/makefile.in.in +++ /dev/null @@ -1,248 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# PACKAGE = @PACKAGE@ -PACKAGE = lynx -# VERSION = @VERSION@ -VERSION = 2.8.1 - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = $(prefix)/@DATADIRNAME@ -localedir = $(datadir)/locale -gnulocaledir = $(prefix)/share/locale -gettextsrcdir = $(prefix)/share/gettext/po -subdir = po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ - -CC = @CC@ -GENCAT = @GENCAT@ -GMSGFMT = PATH=../src:$$PATH @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = PATH=../src:$$PATH @XGETTEXT@ -MSGMERGE = PATH=../src:$$PATH msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = cat-id-tbl.c -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog makefile.in.in POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -POTFILES = \ - -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -INSTOBJEXT = @INSTOBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-@USE_NLS@ - -all-yes: cat-id-tbl.c $(CATALOGS) -all-no: - -$(srcdir)/$(PACKAGE).pot: $(POTFILES) - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ - --files-from=$(srcdir)/POTFILES.in - sh -c "case '.$(XGETTEXT)' in *:);; *) rm -f $(srcdir)/$(PACKAGE).pot; mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot;; esac" - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -install-data-no: all -install-data-yes: all - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(datadir); \ - else \ - $(top_srcdir)/mkinstalldirs $(datadir); \ - fi - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(gnulocaledir);; \ - *) destdir=$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$$destdir/$$lang/LC_MESSAGES; \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $$dir; \ - else \ - $(top_srcdir)/mkinstalldirs $$dir; \ - fi; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(gettextsrcdir); \ - else \ - $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) $(srcdir)/makefile.in.in \ - $(gettextsrcdir)/makefile.in.in; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - done - rm -f $(gettextsrcdir)/po-makefile.in.in - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -dvi info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f makefile makefile.in POTFILES *.mo *.msg *.cat *.cat.m - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -update-po: makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../src:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -POTFILES: POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -makefile: makefile.in.in ../config.status POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ - $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/po/makefile.inn b/po/makefile.inn index 61dd2191..3228900f 100644 --- a/po/makefile.inn +++ b/po/makefile.inn @@ -11,7 +11,7 @@ PACKAGE = lynx # VERSION = @VERSION@ VERSION = 2.8.1 -SHELL = /bin/sh +SHELL = @CONFIG_SHELL@ @SET_MAKE@ srcdir = @srcdir@ @@ -20,7 +20,7 @@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ -datadir = $(prefix)/@DATADIRNAME@ +datadir = @NLS_DATADIR@ localedir = $(datadir)/locale gnulocaledir = $(prefix)/share/locale gettextsrcdir = $(prefix)/share/gettext/po diff --git a/src/GridText.c b/src/GridText.c index dea8155f..f31d8d1f 100644 --- a/src/GridText.c +++ b/src/GridText.c @@ -28,6 +28,7 @@ #include <LYStructs.h> #include <LYGlobalDefs.h> #include <LYGetFile.h> +#include <LYClean.h> #include <LYSignal.h> #include <LYMail.h> #include <LYList.h> @@ -429,7 +430,7 @@ PUBLIC HText * HText_new ARGS1( } /* - * Links between anchors & documents are a 1-1 relationship. If + * Links between anchors & documents are a 1-1 relationship. If * an anchor is already linked to a document we didn't call * HTuncache_current_document(), e.g., for the showinfo, options, * download, print, etc., temporary file URLs, so we'll check now @@ -1654,7 +1655,7 @@ PUBLIC void HText_beginAppend ARGS1( ** may be set to indicate direct output of the finished line. ** On exit, ** A new line has been made, justified according to the -** current style. Text after the split (if split nonzero) +** current style. Text after the split (if split nonzero) ** is taken over onto the next line. ** ** If display_on_the_fly is set, then it is decremented and @@ -2469,7 +2470,7 @@ PUBLIC void HText_appendCharacter ARGS2( * I'm going to cheat here in a BIG way. Since I know that all * \r's will be trapped by HTML_put_character I'm going to use * \r to mean go down a line but don't start a new paragraph. - * i.e. use the second line indenting. + * i.e., use the second line indenting. */ if (ch == '\r') { new_line(text); @@ -3026,7 +3027,7 @@ PUBLIC void HText_endAnchor ARGS2( * Well, let's do this only if -hiddenlinks=merged is not in * effect, or if we can be reasonably sure that * this is the result of an intentional non-generation of - * anchor text via NO_ISMAP_IF_USEMAP. In other cases it can + * anchor text via NO_ISMAP_IF_USEMAP. In other cases it can * actually be a feature that numbered links alert the viewer * to the presence of a link which is otherwise not selectable - * possibly caused by HTML errors. - kw @@ -4271,7 +4272,7 @@ PUBLIC void HText_pageDisplay ARGS2( CTRACE(tfp, "GridText: HText_pageDisplay at line %d started\n", line_num); } - if (display_partial && detected_forms_input_partial) { + if (display_partial) { /* ** Garbage is reported from forms input fields in incremental mode. ** So we start HText_trimHightext() to forget this side effect. @@ -4283,7 +4284,6 @@ PUBLIC void HText_pageDisplay ARGS2( */ HText_trimHightext(HTMainText, FALSE); } - detected_forms_input_partial = FALSE; #endif display_page(HTMainText, line_num-1, target); @@ -4571,7 +4571,7 @@ PUBLIC BOOL HText_selectAnchor ARGS2( /* Editing functions - NOT IMPLEMENTED ** ================= ** -** These are called from the application. There are many more functions +** These are called from the application. There are many more functions ** not included here from the original text object. */ @@ -4944,9 +4944,6 @@ PUBLIC void print_wwwfile_to_fd ARGS2( register int i; int first = TRUE; HTLine * line; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ if (!HTMainText) return; @@ -5028,9 +5025,6 @@ PUBLIC void print_crawl_to_fd ARGS3( register int i; int first = TRUE; HTLine * line; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ if (!HTMainText) return; @@ -6549,11 +6543,6 @@ PUBLIC int HText_beginInput ARGS3( CTRACE(tfp,"Entering HText_beginInput\n"); -#ifdef DISP_PARTIAL - if (display_partial) - detected_forms_input_partial = TRUE; /* trimHightext temp fix */ -#endif - if (a == NULL || f == NULL) outofmem(__FILE__, "HText_beginInput"); diff --git a/src/HTAlert.c b/src/HTAlert.c index 98f53c86..86b24721 100644 --- a/src/HTAlert.c +++ b/src/HTAlert.c @@ -15,6 +15,7 @@ #include <LYCurses.h> #include <LYStrings.h> #include <LYUtils.h> +#include <LYClean.h> #include <LYSignal.h> #include <GridText.h> #include <LYCookie.h> @@ -167,9 +168,6 @@ PUBLIC BOOL HTConfirm ARGS1(CONST char *, Msg) return(NO); } else { int c; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ _user_message(gettext("%s (y/n) "), Msg); @@ -414,10 +412,6 @@ PUBLIC BOOL HTConfirmCookie ARGS4( domain_entry *de; int ch, namelen, valuelen, space_free; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ - if ((de = (domain_entry *)dp) == NULL) return FALSE; diff --git a/src/HTFWriter.c b/src/HTFWriter.c index 9e0b03b6..73980117 100644 --- a/src/HTFWriter.c +++ b/src/HTFWriter.c @@ -23,6 +23,7 @@ #include <LYStrings.h> #include <LYUtils.h> #include <LYGlobalDefs.h> +#include <LYClean.h> #include <LYSignal.h> #include <GridText.h> #include <LYexit.h> @@ -35,7 +36,6 @@ PUBLIC char * WWW_Download_File=NULL; /* contains the name of the temp file PUBLIC char LYCancelDownload=FALSE; /* exported to HTFormat.c in libWWW */ #ifdef VMS -extern BOOLEAN HadVMSInterrupt; /* flag from cleanup_sig() */ PRIVATE char * FIXED_RECORD_COMMAND = NULL; #ifdef USE_COMMAND_FILE /* Keep this as an option. - FM */ #define FIXED_RECORD_COMMAND_MASK "@Lynx_Dir:FIXED512 %s" @@ -156,8 +156,11 @@ PRIVATE void HTFWriter_free ARGS1(HTStream *, me) * and remove any previous uncompressed copy. - FM */ StrAllocCopy(path, me->anchor->FileCache); - if ((len = strlen(path)) > 2) { - if (!strcasecomp(&path[len-2], "gz")) { + if ((len = strlen(path)) > 3) { + if (!strcasecomp(&path[len-3], "bz2")) { + path[len-4] = '\0'; + remove(path); + } else if (!strcasecomp(&path[len-2], "gz")) { #ifdef USE_ZLIB if (!skip_loadfile) { use_gzread = YES; @@ -283,16 +286,10 @@ PRIVATE void HTFWriter_free ARGS1(HTStream *, me) * created. - kw */ FREE(me->end_command); - me->end_command = (char *)calloc ( - (strlen (me->viewer_command) + 10 + - strlen(me->anchor->FileCache)) - * sizeof (char),1); - if (me->end_command == NULL) - outofmem(__FILE__, "HTFWriter_free (HTCompressed)"); - - sprintf(me->end_command, - me->viewer_command, me->anchor->FileCache, - "", "", "", "", "", ""); + + HTAddParam(&(me->end_command), me->viewer_command, 1, me->anchor->FileCache); + HTEndParam(&(me->end_command), me->viewer_command, 1); + if (!dump_output_immediately) { /* * Tell user what's happening. - FM @@ -441,7 +438,6 @@ PUBLIC HTStream* HTFWriter_new ARGS1(FILE *, fp) ** ** See mailcap spec for description of template. */ -/* @@ to be written. sprintfs will do for now. */ #ifndef VMS #define REMOVE_COMMAND "/bin/rm -f %s" @@ -488,11 +484,12 @@ PUBLIC HTStream* HTSaveAndExecute ARGS3( !strncmp(anchor->address,"file://localhost",16))) { /* allow it to continue */ } else { - char buf[512]; + char *buf = 0; - sprintf(buf, EXECUTION_DISABLED_FOR_FILE, - key_for_func(LYK_OPTIONS)); + HTSprintf0(&buf, EXECUTION_DISABLED_FOR_FILE, + key_for_func(LYK_OPTIONS)); HTAlert(buf); + FREE(buf); return HTPlainPresent(pres, anchor, sink); } } @@ -542,24 +539,16 @@ PUBLIC HTStream* HTSaveAndExecute ARGS3( /* * Make command to process file. */ - me->end_command = (char *)calloc ( - (strlen (pres->command) + 10 + strlen(fnam)) - * sizeof (char),1); - if (me->end_command == NULL) - outofmem(__FILE__, "HTSaveAndExecute"); - - sprintf(me->end_command, pres->command, fnam, "", "", "", "", "", ""); + me->end_command = 0; + HTAddParam(&(me->end_command), pres->command, 1, fnam); + HTEndParam(&(me->end_command), pres->command, 1); /* * Make command to delete file. */ - me->remove_command = (char *)calloc ( - (strlen (REMOVE_COMMAND) + 10 + strlen(fnam)) - * sizeof (char),1); - if (me->remove_command == NULL) - outofmem(__FILE__, "HTSaveAndExecute"); - - sprintf(me->remove_command, REMOVE_COMMAND, fnam); + me->remove_command = 0; + HTAddParam(&(me->remove_command), REMOVE_COMMAND, 1, fnam); + HTEndParam(&(me->remove_command), REMOVE_COMMAND, 1); StrAllocCopy(anchor->FileCache, fnam); return me; @@ -715,32 +704,20 @@ PUBLIC HTStream* HTSaveToFile ARGS3( /* * Make command to delete file. */ - ret_obj->remove_command = (char *)calloc ( - (strlen (REMOVE_COMMAND) + 10+ strlen(fnam)) - * sizeof (char),1); - if (ret_obj->remove_command == NULL) - outofmem(__FILE__, "HTSaveToFile"); - - sprintf(ret_obj->remove_command, REMOVE_COMMAND, fnam); + ret_obj->remove_command = 0; + HTAddParam(&(ret_obj->remove_command), REMOVE_COMMAND, 1, fnam); + HTEndParam(&(ret_obj->remove_command), REMOVE_COMMAND, 1); #ifdef VMS if (IsBinary && UseFixedRecords) { - ret_obj->end_command = (char *)calloc (sizeof(char)*20,1); - if (ret_obj->end_command == NULL) - outofmem(__FILE__, "HTSaveToFile"); - sprintf(ret_obj->end_command, "SaveVMSBinaryFile"); - FIXED_RECORD_COMMAND = (char *)calloc ( - (strlen (FIXED_RECORD_COMMAND_MASK) + 10 + strlen(fnam)) - * sizeof (char),1); - if (FIXED_RECORD_COMMAND == NULL) - outofmem(__FILE__, "HTSaveToFile"); - sprintf(FIXED_RECORD_COMMAND, FIXED_RECORD_COMMAND_MASK, fnam); + StrAllocCopy(ret_obj->end_command, "SaveVMSBinaryFile"); + FIXED_RECORD_COMMAND = 0; + HTAddParam(&FIXED_RECORD_COMMAND, FIXED_RECORD_COMMAND_MASK, 1, fnam); + HTEndParam(&FIXED_RECORD_COMMAND, FIXED_RECORD_COMMAND_MASK, 1); + } else { #endif /* VMS */ - ret_obj->end_command = (char *)calloc (sizeof(char)*12,1); - if (ret_obj->end_command == NULL) - outofmem(__FILE__, "HTSaveToFile"); - sprintf(ret_obj->end_command, "SaveToFile"); + StrAllocCopy(ret_obj->end_command, "SaveToFile"); #ifdef VMS } #endif /* VMS */ @@ -856,7 +833,12 @@ PUBLIC HTStream* HTCompressed ARGS3( * We have a presentation mapping for it. - FM */ can_present = TRUE; - if (!strcasecomp(anchor->content_encoding, "x-gzip") || + if (!strcasecomp(anchor->content_encoding, "x-bzip2") || + !strcasecomp(anchor->content_encoding, "bzip")) { + StrAllocCopy(uncompress_mask, BZIP2_PATH); + StrAllocCat(uncompress_mask, " -d %s"); + compress_suffix = "bz2"; + } else if (!strcasecomp(anchor->content_encoding, "x-gzip") || !strcasecomp(anchor->content_encoding, "gzip")) { /* * It's compressed with the modern gzip. - FM @@ -1010,22 +992,18 @@ PUBLIC HTStream* HTCompressed ARGS3( } else #endif /* USE_ZLIB */ { - me->end_command = (char *)calloc(1, (strlen(uncompress_mask) + 10 + - strlen(fnam)) * sizeof(char)); - if (me->end_command == NULL) - outofmem(__FILE__, "HTCompressed"); - sprintf(me->end_command, uncompress_mask, fnam, "", "", "", "", "", ""); + me->end_command = 0; + HTAddParam(&(me->end_command), uncompress_mask, 1, fnam); + HTEndParam(&(me->end_command), uncompress_mask, 1); } FREE(uncompress_mask); /* * Make command to delete file. - FM */ - me->remove_command = (char *)calloc(1, (strlen(REMOVE_COMMAND) + 10 + - strlen(fnam)) * sizeof(char)); - if (me->remove_command == NULL) - outofmem(__FILE__, "HTCompressed"); - sprintf(me->remove_command, REMOVE_COMMAND, fnam); + me->remove_command = 0; + HTAddParam(&(me->remove_command), REMOVE_COMMAND, 1, fnam); + HTEndParam(&(me->remove_command), REMOVE_COMMAND, 1); /* * Save the filename and return the structure. - FM diff --git a/src/HTML.c b/src/HTML.c index 24e5acf2..6c3ff556 100644 --- a/src/HTML.c +++ b/src/HTML.c @@ -128,7 +128,7 @@ PUBLIC void strtolower ARGS1(char*, i) ** ------------------------------ ** On the NeXT, and on any read-only browser, it is simpler for the text to have -a sequence of styles, rather than a nested tree of styles. In this +a sequence of styles, rather than a nested tree of styles. In this case we have to flatten the structure as it arrives from SGML tags into a sequence of styles. */ @@ -583,14 +583,14 @@ PUBLIC void HTML_write ARGS3(HTStructured *, me, CONST char*, s, int, l) * *Note that this doesn't apply to form ACTIONs (always resolved using base, * never marked internal). Also other references encountered or generated * are not marked internal, whether they have a URL or not, if in a given - * context an internal link makes no sense (e.g. IMG SRC=). + * context an internal link makes no sense (e.g., IMG SRC=). */ #ifndef DONT_TRACK_INTERNAL_LINKS /* A flag is used to keep track of whether an "URL reference" encountered - had a real "URL" or not. In the latter case, it will be marked as + had a real "URL" or not. In the latter case, it will be marked as "internal". The flag is set before we start messing around with the - string (resolution of relative URLs etc.). This variable only used + string (resolution of relative URLs etc.). This variable only used locally here, don't confuse with LYinternal_flag which is for for overriding non-caching similar to LYoverride_no_cache. - kw */ #define CHECK_FOR_INTERN(s) intern_flag = (s && (*s=='#' || *s=='\0')) ? TRUE : FALSE; @@ -1686,7 +1686,7 @@ PRIVATE void HTML_start_element ARGS6( case HTML_TAB: if (!present) { /* Bad tag. Must have at least one attribute. - FM */ - CTRACE(tfp, "HTML: TAB tag has no attributes. Ignored.\n"); + CTRACE(tfp, "HTML: TAB tag has no attributes. Ignored.\n"); break; } UPDATE_STYLE; @@ -1699,7 +1699,7 @@ PRIVATE void HTML_start_element ARGS6( * the ALIGN and DP attributes implemented. - FM */ HTML_put_character(me, ' '); - CTRACE(tfp, "HTML: ALIGN not 'left'. Using space instead of TAB.\n"); + CTRACE(tfp, "HTML: ALIGN not 'left'. Using space instead of TAB.\n"); } else if (!LYoverride_default_alignment(me) && me->current_default_alignment != HT_LEFT) { @@ -1710,7 +1710,7 @@ PRIVATE void HTML_start_element ARGS6( * that the alignment be HT_LEFT. - FM */ HTML_put_character(me, ' '); - CTRACE(tfp, "HTML: Not HT_LEFT. Using space instead of TAB.\n"); + CTRACE(tfp, "HTML: Not HT_LEFT. Using space instead of TAB.\n"); } else if ((present[HTML_TAB_TO] && value[HTML_TAB_TO] && *value[HTML_TAB_TO]) || @@ -1749,7 +1749,7 @@ PRIVATE void HTML_start_element ARGS6( if (target < column || target > HText_getMaximumColumn(me->text)) { HTML_put_character(me, ' '); - CTRACE(tfp, "HTML: Column out of bounds. Using space instead of TAB.\n"); + CTRACE(tfp, "HTML: Column out of bounds. Using space instead of TAB.\n"); } else { for (i = column; i < target; i++) HText_appendCharacter(me->text, ' '); @@ -3909,7 +3909,7 @@ PRIVATE void HTML_start_element ARGS6( * that one now. - FM */ if (me->inFORM) { - CTRACE(tfp, "HTML: Missing FORM end tag. Faking it!\n"); + CTRACE(tfp, "HTML: Missing FORM end tag. Faking it!\n"); SET_SKIP_STACK(HTML_FORM); HTML_end_element(me, HTML_FORM, include); } @@ -4802,7 +4802,7 @@ PRIVATE void HTML_start_element ARGS6( if (me->inSELECT) { if (TRACE) { fprintf(tfp, - "Bad HTML: SELECT start tag in SELECT element. Faking SELECT end tag. *****\n"); + "Bad HTML: SELECT start tag in SELECT element. Faking SELECT end tag. *****\n"); } else if (!me->inBadHTML) { HTUserMsg(BAD_HTML_USE_TRACE); me->inBadHTML = TRUE; @@ -5303,7 +5303,7 @@ PRIVATE void HTML_start_element ARGS6( ** TBL 921119 ** ** We don't turn on "CAREFUL" check because the parser produces -** (internal code errors apart) good nesting. The parser checks +** (internal code errors apart) good nesting. The parser checks ** incoming code errors, not this module. */ PRIVATE void HTML_end_element ARGS3( @@ -6814,7 +6814,7 @@ PRIVATE void HTML_free ARGS1(HTStructured *, me) HTML_put_character(me, '['); HTML_start_element(me, HTML_EM, 0, 0, -1, &include); HTML_put_string(me, - gettext("Document has only hidden links. Use the 'l'ist command.")); + gettext("Document has only hidden links. Use the 'l'ist command.")); HTML_end_element(me, HTML_EM, &include); HTML_put_character(me, ']'); HTML_end_element(me, HTML_P, &include); diff --git a/src/LYBookmark.c b/src/LYBookmark.c index a05fb6aa..1a400ed3 100644 --- a/src/LYBookmark.c +++ b/src/LYBookmark.c @@ -4,6 +4,7 @@ #include <LYStrings.h> #include <LYBookmark.h> #include <LYGlobalDefs.h> +#include <LYClean.h> #include <LYSignal.h> #include <LYKeymap.h> #include <LYCharUtils.h> /* need for META charset */ @@ -14,7 +15,6 @@ #ifdef VMS #include <nam.h> -extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */ #endif /* VMS */ #include <LYLeaks.h> @@ -928,7 +928,7 @@ PRIVATE BOOLEAN have8bit ARGS1(CONST char *, Title) /* * Ok, title have 8-bit characters and they are in display charset. - * Bookmarks is a permanent file. To avoid dependencies from display + * Bookmarks is a permanent file. To avoid dependencies from display * character set which may be changed with time * we store 8-bit characters as numeric character reference (NCR), * so where the character encoded as unicode number in form of &#xUUUU; diff --git a/src/LYCgi.c b/src/LYCgi.c index 7843ad58..4ad5f376 100644 --- a/src/LYCgi.c +++ b/src/LYCgi.c @@ -6,8 +6,8 @@ ** ** History ** 15 Jun 95 Created as way to provide a lynx based service with -** dynamic pages without the need for a http daemon. GL -** 27 Jun 95 Added <index> (command line) support. Various cleanup +** dynamic pages without the need for a http daemon. GL +** 27 Jun 95 Added <index> (command line) support. Various cleanup ** and bug fixes. GL ** 04 Sep 97 Added support for PATH_INFO scripts. JKT ** @@ -17,7 +17,7 @@ ** ** Should do something about SIGPIPE, (but then it should never happen) ** -** No support for redirection. Or mime-types. +** No support for redirection. Or mime-types. ** ** Should try and parse for a HTTP 1.1 header in case we are "calling" a ** nph- script. @@ -187,7 +187,7 @@ PRIVATE int LYLoadCGI ARGS4( if (TRACE) perror("LYNXCGI: stat() of pgm_buff failed"); } else { - /* Found PATH_INFO data. Strip it off of pgm and into path_info. */ + /* Found PATH_INFO data. Strip it off of pgm and into path_info. */ StrAllocCopy(path_info, pgm+strlen(pgm_buff)); strcpy(pgm, pgm_buff); CTRACE(tfp, "LYNXCGI: stat() of %s succeeded, path_info=\"%s\".\n", diff --git a/src/LYCharUtils.c b/src/LYCharUtils.c index 6c872341..d29fde06 100644 --- a/src/LYCharUtils.c +++ b/src/LYCharUtils.c @@ -839,7 +839,7 @@ PUBLIC void LYGetChartransInfo ARGS1( ** characters for the current display character set. It assumes ** that invalid control characters have been dealt with by the ** SGML (or other initial) parser of the document input stream -** (i.e. are present only if elements or global flags have been +** (i.e., are present only if elements or global flags have been ** set to allow them), and that otherwise this is a copy of the ** string with the charset of the input stream. It handles Lynx ** special characters based on the 'me' structure's element values @@ -1527,7 +1527,7 @@ PRIVATE CONST char *hex = "0123456789ABCDEF"; ** ** Some characters (see descriptions in `put_special_unicodes' from SGML.c) ** translated in relation with the state of boolean variables -** `use_lynx_specials', `plain_space' and `hidden'. It is not clear yet: +** `use_lynx_specials', `plain_space' and `hidden'. It is not clear yet: ** ** If plain_space is TRUE, nbsp (160) will be treated as an ASCII ** space (32). If hidden is TRUE, entities will be translated @@ -1541,7 +1541,7 @@ PRIVATE CONST char *hex = "0123456789ABCDEF"; ** (unless input and output charset are both iso-8859-1, for compatibility ** with previous usage in HTML.c) even if `hidden' or `plain_space' is set. ** -** If `Back' is YES, the reverse is done instead i.e. Lynx special codes +** If `Back' is YES, the reverse is done instead i.e., Lynx special codes ** in the input are translated back to character values. ** ** If `Back' is YES, an attempt is made to use UCReverseTransChar() for @@ -1559,7 +1559,7 @@ PRIVATE CONST char *hex = "0123456789ABCDEF"; ** ** Escape characters (0x1B, '\033') are ** - URL-encoded if `stype' is st_URL, otherwise -** - dropped if `stype' is st_other, otherwise (i.e. st_HTML) +** - dropped if `stype' is st_other, otherwise (i.e., st_HTML) ** - passed if `hidden' is TRUE or HTCJK is set, otherwise ** - dropped. ** @@ -3098,7 +3098,7 @@ PUBLIC void LYHandleP ARGS5( } } else if (me->sp[0].tag_number == HTML_ADDRESS) { /* - * We're in an ADDRESS. Treat P as an instruction + * We're in an ADDRESS. Treat P as an instruction * to start a newline, if needed, then fall through * to handle attributes. - FM */ @@ -3771,7 +3771,7 @@ PUBLIC void LYResetParagraphAlignment ARGS1( ** For functions similar to this but which depend on details of ** the HTML handler's internal data, the calling interface should ** be changed, and functions in SGML.c would have to make sure not -** to call such functions inappropriately (e.g. calling a function +** to call such functions inappropriately (e.g., calling a function ** specific to the Lynx_HTML_Handler when SGML.c output goes to ** some other HTStructured object like in HTMLGen.c), or the new ** functions could be added to the SGML.h interface. diff --git a/src/LYClean.c b/src/LYClean.c index 78e5a67e..af30f09a 100644 --- a/src/LYClean.c +++ b/src/LYClean.c @@ -183,9 +183,9 @@ PUBLIC void cleanup NOARGS #ifdef EXP_PERSISTENT_COOKIES /* - * This can go right here for now. We need to work up a better place + * This can go right here for now. We need to work up a better place * to save cookies for the next release, preferably whenever a new - * persistent cookie is received or used. Some sort of protocol to + * persistent cookie is received or used. Some sort of protocol to * handle two processes writing to the cookie file needs to be worked * out as well. */ diff --git a/src/LYCookie.c b/src/LYCookie.c index 73d9049e..4c0053cc 100644 --- a/src/LYCookie.c +++ b/src/LYCookie.c @@ -37,7 +37,7 @@ actively removing cookies and/or domains based on age or frequency of use. * If a cookie has the secure flag set, we presently treat only SSL - connections as secure. This may need to be expanded for other + connections as secure. This may need to be expanded for other secure communication protocols that become standardized. */ @@ -180,19 +180,6 @@ PRIVATE void LYCookieJar_free NOARGS } dl = dl->next; } - if (dump_output_immediately) { - cl = cookie_list; - while (cl) { - next = cl->next; - co = cl->object; - if (co) { - HTList_removeObject(cookie_list, co); - freeCookie(co); - } - cl = next; - } - HTList_delete(cookie_list); - } cookie_list = NULL; HTList_delete(domain_list); domain_list = NULL; @@ -209,7 +196,7 @@ PRIVATE BOOLEAN host_matches ARGS2( { /* * The following line will handle both numeric IP addresses and - * FQDNs. Do numeric addresses require special handling? + * FQDNs. Do numeric addresses require special handling? */ if (*B != '.' && !strcmp(A, B)) return YES; @@ -382,46 +369,41 @@ PRIVATE void store_cookie ARGS3( * Look through domain_list to see if the cookie's domain * is already listed. */ - if (dump_output_immediately) { /* Non-interactive, can't respond */ - if (cookie_list == NULL) - cookie_list = HTList_new(); - } else { - cookie_list = NULL; - for (hl = domain_list; hl != NULL; hl = hl->next) { - de = (domain_entry *)hl->object; - if ((de != NULL && de->domain != NULL) && - !strcmp(co->domain, de->domain)) { - cookie_list = de->cookie_list; - break; - } + cookie_list = NULL; + for (hl = domain_list; hl != NULL; hl = hl->next) { + de = (domain_entry *)hl->object; + if ((de != NULL && de->domain != NULL) && + !strcmp(co->domain, de->domain)) { + cookie_list = de->cookie_list; + break; } - if (hl == NULL) { - /* - * Domain not found; add a new entry for this domain. - */ - de = (domain_entry *)calloc(1, sizeof(domain_entry)); - if (de == NULL) - outofmem(__FILE__, "store_cookie"); + } + if (hl == NULL) { + /* + * Domain not found; add a new entry for this domain. + */ + de = (domain_entry *)calloc(1, sizeof(domain_entry)); + if (de == NULL) + outofmem(__FILE__, "store_cookie"); #ifdef EXP_PERSISTENT_COOKIES - /* - * Ok, this is a problem. The first cookie for a domain - * effectively sets the policy for that whole domain - for - * something like Netlink, where there are lots of websites - * under www.netlink.co.uk, this isn't sensible. However, - * taking this sort of decision down to cookie level also - * isn't sensible. Perhaps something based on the domain - * and the path in conjunction makes more sense? - RP - */ - if (persistent_cookies - && (co->flags & COOKIE_FLAG_PERSISTENT)) - de->bv = FROM_FILE; - else + /* + * Ok, this is a problem. The first cookie for a domain + * effectively sets the policy for that whole domain - for + * something like Netlink, where there are lots of websites + * under www.netlink.co.uk, this isn't sensible. However, + * taking this sort of decision down to cookie level also + * isn't sensible. Perhaps something based on the domain + * and the path in conjunction makes more sense? - RP + */ + if (persistent_cookies + && (co->flags & COOKIE_FLAG_PERSISTENT)) + de->bv = FROM_FILE; + else #endif - de->bv = QUERY_USER; - cookie_list = de->cookie_list = HTList_new(); - StrAllocCopy(de->domain, co->domain); - HTList_addObject(domain_list, de); - } + de->bv = QUERY_USER; + cookie_list = de->cookie_list = HTList_new(); + StrAllocCopy(de->domain, co->domain); + HTList_addObject(domain_list, de); } /* @@ -513,7 +495,7 @@ PRIVATE void store_cookie ARGS3( * If the cookie domain came from persistent cookie file, * we want to add new cookies to the end of the cookie list * to maintain their order for servers that need cookies in - * a particular order. This is a hack. + * a particular order. This is a hack. */ if (persistent_cookies) { if ((de->bv = FROM_FILE) != 0) { @@ -634,7 +616,7 @@ PRIVATE char * scan_cookie_sublist ARGS6( * * HTTP/1.0 headers may be folded onto multiple lines * if each continuation line begins with a space or - * horizontal tab. All linear whitespace, including + * horizontal tab. All linear whitespace, including * folding, has the same semantics as SP. * [...] * However, folding of header lines is not expected by @@ -1154,8 +1136,8 @@ PRIVATE void LYProcessSetCookies ARGS6( /* if (!known_attr && value_end > value_start) */ /* Is there any reason we don't want to accept cookies with - * no value? This seems to be needed for sites that reset a - * cookie by nulling out the value. If this causes problems, + * no value? This seems to be needed for sites that reset a + * cookie by nulling out the value. If this causes problems, * we can go back to the original behavior above. - BJP */ if (!known_attr) { @@ -1625,8 +1607,8 @@ PRIVATE void LYProcessSetCookies ARGS6( /* if (!known_attr && value_end > value_start) */ /* Is there any reason we don't want to accept cookies with - * no value? This seems to be needed for sites that reset a - * cookie by nulling out the value. If this causes problems, + * no value? This seems to be needed for sites that reset a + * cookie by nulling out the value. If this causes problems, * we can go back to the original behavior above. - BJP */ if (!known_attr) { @@ -1907,6 +1889,8 @@ PUBLIC void LYLoadCookies ARGS1 ( if (!cookie_handle) return; + CTRACE(tfp, "LYLoadCookies: reading cookies from %s\n", cookie_file); + while (!feof(cookie_handle)) { cookie *moo; unsigned i = 0; @@ -1920,7 +1904,6 @@ PUBLIC void LYLoadCookies ARGS1 ( continue; } - /* * Strip out the newline that fgets() puts at the end of a * cookie. @@ -1941,11 +1924,12 @@ PUBLIC void LYLoadCookies ARGS1 ( * 'fixed' by using strsep instead of strtok. No idea * what kind of platform problems this might introduce. - RP */ + CTRACE(tfp, "LYLoadCookies: tokenising %s\n", buf); tok_ptr = buf; tok_out = LYstrsep(&tok_ptr, "\t"); for (tok_loop = 0; tok_out && tok_values[tok_loop].s; tok_loop++) { - CTRACE(tfp, ">%d:%p:%p:[%s]:%s\n", - tok_loop, tok_values[tok_loop].s, tok_out, tok_out, buf); + CTRACE(tfp, "\t%d:%p:%p:[%s]\n", + tok_loop, tok_values[tok_loop].s, tok_out, tok_out); LYstrncpy(tok_values[tok_loop].s, tok_out, tok_values[tok_loop].n); /* * It looks like strtok ignores a leading delimiter, @@ -1956,7 +1940,6 @@ PUBLIC void LYLoadCookies ARGS1 ( tok_out = LYstrsep(&tok_ptr, "\t"); } expires = atol(expires_a); - CTRACE(tfp, "COOKIE: expires %s\n", ctime(&expires)); /* * This fails when the path is blank @@ -1965,8 +1948,9 @@ PUBLIC void LYLoadCookies ARGS1 ( * domain, what, path, secure, &expires, name, value); */ - CTRACE(tfp, "%s\t%s\t%s\t%s\t%ld\t%s\t%s\tREADCOOKIE\n", - domain, what, path, secure, (long) expires, name, value); + CTRACE(tfp, "expires:\t%s\n", ctime(&expires)); +/* CTRACE(tfp, "%s\t%s\t%s\t%s\t%ld\t%s\t%s\tREADCOOKIE\n", */ +/* domain, what, path, secure, (long) expires, name, value); */ moo = newCookie(); StrAllocCopy(moo->domain, domain); StrAllocCopy(moo->path, path); @@ -1997,9 +1981,6 @@ PUBLIC void LYStoreCookies ARGS1 ( domain_entry *de; cookie *co; FILE *cookie_handle; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ time_t now = time(NULL); /* system specific? - RP */ /* @@ -2047,7 +2028,7 @@ PUBLIC void LYStoreCookies ARGS1 ( if ((co = (cookie *)cl->object) == NULL) continue; - CTRACE(tfp, "COOKIE: %ld cf %ld\n", (long) now, (long) co->expires); + CTRACE(tfp, "LYStoreCookies: %ld cf %ld\n", (long) now, (long) co->expires); fprintf(cookie_handle, "%s\t%s\t%s\t%s\t%ld\t%s\t%s\n", de->domain, "FALSE", co->path, @@ -2096,9 +2077,6 @@ PRIVATE int LYHandleCookies ARGS4 ( char *name = NULL, *value = NULL, *path = NULL; char *comment = NULL, *Address = NULL, *Title = NULL; int ch; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ /* * Check whether we have something to do. - FM @@ -2529,7 +2507,7 @@ PUBLIC void cookie_add_acceptlist ARGS1( { domain_entry *de = NULL; domain_entry *de2 = NULL; - HTList *hl; + HTList *hl = NULL; char **str = (char **)calloc(1, sizeof(acceptstr)); char *astr = NULL; char *strsmall = NULL; @@ -2550,9 +2528,7 @@ PUBLIC void cookie_add_acceptlist ARGS1( *str = astr; - for(; (strsmall = LYstrsep(str, ","));) { - if(strsmall == NULL) - break; + while ((strsmall = LYstrsep(str, ",")) != 0) { /* * Check the list of existing cookies to see if this is a @@ -2607,7 +2583,7 @@ PUBLIC void cookie_add_rejectlist ARGS1( { domain_entry *de = NULL; domain_entry *de2 = NULL; - HTList *hl; + HTList *hl = NULL; char **str = (char **)calloc(1, sizeof(rejectstr)); char *rstr = NULL; char *strsmall = NULL; @@ -2628,9 +2604,7 @@ PUBLIC void cookie_add_rejectlist ARGS1( *str = rstr; - for(; (strsmall = LYstrsep(str, ","));) { - if(strsmall == NULL) - break; + while ((strsmall = LYstrsep(str, ",")) != 0) { /* * Check the list of existing cookies to see if this is a diff --git a/src/LYCurses.c b/src/LYCurses.c index b103d4de..ac20eca1 100644 --- a/src/LYCurses.c +++ b/src/LYCurses.c @@ -879,7 +879,7 @@ PUBLIC void lynx_enable_mouse ARGS1(int,state) * to translate other events to single-clicks. * Compensate for small value of maxclick in ncurses. */ if (state) { - static was = 0; + static int was = 0; if (!was) { int old = mouseinterval(-1); @@ -1081,7 +1081,7 @@ PUBLIC BOOLEAN setup ARGS1( strcpy(buffer,"vt100"); sprintf(term_putenv,"TERM=%s", buffer); - putenv(term_putenv); + (void) putenv(term_putenv); printf("\n%s%s\n", gettext("TERMINAL TYPE IS SET TO"), getenv("TERM")); sleep(MESSAGESECS); } diff --git a/src/LYDownload.c b/src/LYDownload.c index e0215020..d15dc1d3 100644 --- a/src/LYDownload.c +++ b/src/LYDownload.c @@ -7,7 +7,6 @@ #include <LYGlobalDefs.h> #include <LYSignal.h> #include <LYStrings.h> -#include <LYClean.h> #include <LYGetFile.h> #include <LYDownload.h> @@ -25,6 +24,8 @@ #ifdef VMS #define COPY_COMMAND "copy/nolog/noconf %s %s" PUBLIC BOOLEAN LYDidRename = FALSE; +#else +#define COPY_COMMAND "%s %s %s" #endif /* VMS */ PRIVATE char LYValidDownloadFile[LY_MAXPATH] = "\0"; @@ -35,11 +36,11 @@ PUBLIC void LYDownload ARGS1( char *Line = NULL, *method, *file, *sug_file = NULL; int method_number; int count; - char buffer[512]; - char command[512]; - char *cp, *cp1; + char *the_command = 0; + char buffer[LY_MAXPATH]; + char command[LY_MAXPATH]; + char *cp; lynx_html_item_type *download_command = 0; - int c; FILE *fp; int ch, recall; int FnameTotal; @@ -47,7 +48,6 @@ PUBLIC void LYDownload ARGS1( BOOLEAN FirstRecall = TRUE; BOOLEAN SecondS = FALSE; #ifdef VMS - extern BOOLEAN HadVMSInterrupt; LYDidRename = FALSE; #endif /* VMS */ @@ -206,103 +206,34 @@ check_recall: goto cancelled; } - if (no_dotfiles || !show_dotfiles) { - if (*LYPathLeaf(buffer) == '.') { - HTAlert(FILENAME_CANNOT_BE_DOT); - _statusline(NEW_FILENAME_PROMPT); - FirstRecall = TRUE; - FnameNum = FnameTotal; - goto retry; - } - } - /* - * Cancel if the user entered "/dev/null" on Unix, - * or an "nl:" path (case-insensitive) on VMS. - FM - */ -#ifdef VMS - if (!strncasecomp(buffer, "nl:", 3) || - !strncasecomp(buffer, "/nl/", 4)) -#else - if (!strcmp(buffer, "/dev/null")) -#endif /* VMS */ - { + strcpy(command, buffer); + if (!LYValidateFilename(buffer, command)) goto cancelled; +#if HAVE_POPEN + else if (LYIsPipeCommand(buffer)) { + /* I don't know how to download to a pipe */ + HTAlert(CANNOT_WRITE_TO_FILE); + _statusline(NEW_FILENAME_PROMPT); + FirstRecall = TRUE; + FnameNum = FnameTotal; + goto retry; } - if ((cp = strchr(buffer, '~'))) { - *(cp++) = '\0'; - strcpy(command, buffer); - LYTrimPathSep(command); - strcat(command, wwwName(Home_Dir())); - strcat(command, cp); - strcpy(buffer, command); - } -#ifdef VMS - if (strchr(buffer, '/') != NULL) { - strcpy(command, HTVMS_name("", buffer)); - strcpy(buffer, command); - } - if (buffer[0] != '/' && strchr(buffer, ':') == NULL) { - strcpy(command, "sys$disk:"); - if (strchr(buffer, ']') == NULL) - strcat(command, "[]"); - strcat(command, buffer); - strcpy(buffer, command); - } -#else - -#ifndef __EMX__ - if (!LYIsPathSep(*buffer)) { -#if defined(__DJGPP__) || defined(_WINDOWS) - if (strchr(buffer, ':') != NULL) - cp = NULL; - else -#endif /* __DJGPP__ || _WINDOWS */ - cp = getenv("PWD"); - } - else -#endif /* __EMX__*/ - cp = NULL; - - LYTrimPathSep(cp); - - if (cp) { - sprintf(command, "%s/%s", cp, buffer); - strcpy(buffer, HTSYS_name(command)); - } -#endif /* VMS */ +#endif /* * See if it already exists. */ - if ((fp = fopen(buffer, "r")) != NULL) { - fclose(fp); - -#ifdef VMS - _statusline(FILE_EXISTS_HPROMPT); -#else - _statusline(FILE_EXISTS_OPROMPT); -#endif /* VMS */ - c = 0; - while(TOUPPER(c)!='Y' && TOUPPER(c)!='N' && c != 7 && c != 3) - c = LYgetch(); -#ifdef VMS - if (HadVMSInterrupt) { - HadVMSInterrupt = FALSE; - FREE(Line); - return; - } -#endif /* VMS */ - - if (c == 7 || c == 3) { /* Control-G or Control-C */ - goto cancelled; - } - - if (TOUPPER(c) == 'N') { - _statusline(NEW_FILENAME_PROMPT); - FirstRecall = TRUE; - FnameNum = FnameTotal; - goto retry; - } + switch (LYValidateOutput(buffer)) { + case 'Y': + break; + case 'N': + _statusline(NEW_FILENAME_PROMPT); + FirstRecall = TRUE; + FnameNum = FnameTotal; + goto retry; + default: + FREE(Line); + return; } /* @@ -333,10 +264,13 @@ check_recall: * Failed. Use spawned COPY_COMMAND. - FM */ CTRACE(tfp, " FAILED!\n"); - sprintf(command, COPY_COMMAND, file, buffer); - CTRACE(tfp, "command: %s\n", command); + HTAddParam(&the_command, COPY_COMMAND, 1, file); + HTAddParam(&the_command, COPY_COMMAND, 2, buffer); + HTEndParam(&the_command, COPY_COMMAND, 2); + CTRACE(tfp, "command: %s\n", the_command); stop_curses(); - LYSystem(command); + LYSystem(the_command); + FREE(the_command); start_curses(); } else { /* @@ -349,24 +283,15 @@ check_recall: chmod(buffer, HIDE_CHMOD); #else /* Unix: */ -#if !( defined(__EMX__) || defined(__DJGPP__) ) - /* - * Prevent spoofing of the shell. - */ - cp = quote_pathname(file); - cp1 = quote_pathname(buffer); - sprintf(command, "%s %s %s", COPY_PATH, cp, cp1); - FREE(cp); - FREE(cp1); -#else - /* DJGPP: no " or space possible in 8+3 dos filenames. */ - /* (but EMX probably allows spaces which should be quoted, */ - /* like Win32 LFN does...) */ - sprintf(command, "%s %s %s", COPY_PATH, file, buffer); -#endif /* __EMX__ */ - CTRACE(tfp, "command: %s\n", command); + HTAddParam(&the_command, COPY_COMMAND, 1, COPY_PATH); + HTAddParam(&the_command, COPY_COMMAND, 2, file); + HTAddParam(&the_command, COPY_COMMAND, 3, buffer); + HTEndParam(&the_command, COPY_COMMAND, 3); + + CTRACE(tfp, "command: %s\n", the_command); stop_curses(); - LYSystem(command); + LYSystem(the_command); + FREE(the_command); start_curses(); #if defined(UNIX) LYRelaxFilePermissions(buffer); @@ -392,8 +317,7 @@ check_recall: * Check for two '%s' and ask for the local filename if * there is. */ - char *first_s = strstr(download_command->command, "%s"); - if (first_s && strstr(first_s+1, "%s")) { + if (HTCountCommandArgs(download_command->command) >= 2) { _statusline(FILENAME_PROMPT); again: if (sug_file) strcpy(buffer, sug_file); @@ -508,29 +432,19 @@ check_recall: * It actually is not a bug at all and does as it should, * putting both names on the command line. */ -#ifdef VMS - sprintf(command, download_command->command, file, buffer, - "", "", "", "", "", "", "", "", "", ""); -#else /* Unix: */ - /* - * Prevent spoofing of the shell. - */ - cp = quote_pathname(file); - cp1 = quote_pathname(buffer); - sprintf(command, download_command->command, cp, cp1, - "", "", "", "", "", "", "", "", "", ""); - FREE(cp); - FREE(cp1); -#endif /* VMS */ + HTAddParam(&the_command, download_command->command, 1, file); + HTAddParam(&the_command, download_command->command, 2, buffer); + HTEndParam(&the_command, download_command->command, 2); } else { HTAlert(MISCONF_DOWNLOAD_COMMAND); goto failed; } - CTRACE(tfp, "command: %s\n", command); + CTRACE(tfp, "command: %s\n", the_command); stop_curses(); - LYSystem(command); + LYSystem(the_command); + FREE(the_command); start_curses(); /* don't remove(file); */ } diff --git a/src/LYExtern.c b/src/LYExtern.c index 652fb3e2..8d22d54b 100644 --- a/src/LYExtern.c +++ b/src/LYExtern.c @@ -24,56 +24,35 @@ #include <LYLeaks.h> #ifdef USE_EXTERNALS -void run_external ARGS1(char *, c) +void run_external ARGS1(char *, cmd) { - char command[1024]; - lynx_html_item_type *externals2=0; + char *the_command = 0; + lynx_html_item_type *ext = 0; - if (externals == NULL) return; + for (ext = externals; ext != NULL; ext = ext->next) { - for(externals2=externals; externals2 != NULL; - externals2=externals2->next) - { + if (ext->command != 0 + && !strncasecomp(ext->name, cmd, strlen(ext->name))) { - if (externals2->command != 0 - && !strncasecomp(externals2->name,c,strlen(externals2->name))) - { - char *cp; + if (no_externals && !ext->always_enabled) { + HTUserMsg(EXTERNALS_DISABLED); + } else { - if(no_externals && !externals2->always_enabled) - { - HTUserMsg(EXTERNALS_DISABLED); - return; - } + HTAddParam(&the_command, ext->command, 1, cmd); + HTEndParam(&the_command, ext->command, 1); - /* Too dangerous to leave any URL that may come along unquoted. - * They often contain '&', ';', and '?' chars, and who knows - * what else may occur. - * Prevent spoofing of the shell. - * Dunno how this needs to be modified for VMS or DOS. - kw - */ -#if defined(VMS) || defined(DOSPATH) || defined(__EMX__) - sprintf(command, externals2->command, c); -#else /* Unix: */ - cp = quote_pathname(c); - sprintf(command, externals2->command, cp); - FREE(cp); -#endif /* VMS */ + HTUserMsg(the_command); - if (*command != '\0') - { + stop_curses(); + LYSystem(the_command); + FREE(the_command); + start_curses(); + } - HTUserMsg(command); - - stop_curses(); - LYSystem(command); - start_curses(); - } - - return; - } + break; } + } - return; + return; } #endif /* USE_EXTERNALS */ diff --git a/src/LYForms.c b/src/LYForms.c index 2de3e9e3..e91f9982 100644 --- a/src/LYForms.c +++ b/src/LYForms.c @@ -11,6 +11,7 @@ #include <LYStrings.h> #include <LYGlobalDefs.h> #include <LYKeymap.h> +#include <LYClean.h> #include <LYSignal.h> #include <LYLeaks.h> @@ -265,10 +266,6 @@ PRIVATE int form_getstr ARGS1( BOOL HaveMaxlength = FALSE; int action, repeat, non_first = 0; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */ -#endif - EditFieldData MyEdit; BOOLEAN Edited = FALSE; /* Value might be updated? */ @@ -482,9 +479,9 @@ breakfor: /* * Remove trailing spaces * - * Do we really need to do that here? Trailing spaces will only - * be there if user keyed them in. Rather rude to throw away - * their hard earned spaces. Better deal with trailing spaces + * Do we really need to do that here? Trailing spaces will only + * be there if user keyed them in. Rather rude to throw away + * their hard earned spaces. Better deal with trailing spaces * when submitting the form???? */ p = &(form->value[strlen(form->value)]); @@ -592,9 +589,6 @@ PRIVATE int popup_options ARGS7( int window_offset = 0; int lines_to_show; int npages; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */ -#endif /* VMS */ static char prev_target[512]; /* Search string buffer */ static char prev_target_buffer[512]; /* Next search buffer */ static BOOL first = TRUE; diff --git a/src/LYGetFile.c b/src/LYGetFile.c index 6c0b883f..5ea77c2e 100644 --- a/src/LYGetFile.c +++ b/src/LYGetFile.c @@ -392,10 +392,7 @@ Try_Redirected_URL: fflush(stdout); LYgetch(); #ifdef VMS - { - extern BOOLEAN HadVMSInterrupt; - HadVMSInterrupt = FALSE; - } + HadVMSInterrupt = FALSE; #endif /* VMS */ } start_curses(); @@ -672,7 +669,7 @@ Try_Redirected_URL: * the RIGHT thing and returning an invalid * address message. - FM */ - HTAlert(LOCATION_NOT_ABSOLUTE); + HTUserMsg(LOCATION_NOT_ABSOLUTE); temp = HTParse(use_this_url_instead, WWWDoc.address, PARSE_ALL); diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h index 3028e143..40752064 100644 --- a/src/LYGlobalDefs.h +++ b/src/LYGlobalDefs.h @@ -260,7 +260,6 @@ extern int Newline_partial; /* -//- "current" newline position */ extern int NumOfLines_partial; /* -//- "current" number of lines */ extern int partial_threshold; extern BOOLEAN debug_display_partial; /* show with MessageSecs delay */ -extern BOOLEAN detected_forms_input_partial; /* trimHightext temp fix */ #endif extern char *form_post_data; /* User data for post form */ extern char *form_get_data; /* User data for get form */ diff --git a/src/LYHash.c b/src/LYHash.c index e6439a3d..265814cd 100644 --- a/src/LYHash.c +++ b/src/LYHash.c @@ -31,10 +31,10 @@ PUBLIC int hash_code_rp ARGS1(char*,string) /* * This is the same function as the private HASH_FUNCTION() in HTAnchor.c, * but with a different value for HASH_SIZE. - */ + */ #ifdef NOT_USED -#define HASH_SIZE 8193 /* Arbitrary prime. Memory/speed tradeoff */ +#define HASH_SIZE 8193 /* Arbitrary prime. Memory/speed tradeoff */ #else #define HASH_SIZE CSHASHSIZE #endif diff --git a/src/LYHistory.c b/src/LYHistory.c index 9c94786f..874099e2 100644 --- a/src/LYHistory.c +++ b/src/LYHistory.c @@ -266,7 +266,7 @@ PUBLIC void LYpush ARGS2( HTAnchor_parent(HTAnchor_findAddress(&WWWDoc)); } /* In addition to equality of the ParentAnchors, require - ** that IF we have a HTMainText (i.e. it wasn't just + ** that IF we have a HTMainText (i.e., it wasn't just ** HTuncache'd by mainloop), THEN it has to be consistent ** with what we are trying to push. ** This may be overkill... - kw diff --git a/src/LYList.c b/src/LYList.c index c147294a..140d7894 100644 --- a/src/LYList.c +++ b/src/LYList.c @@ -10,6 +10,7 @@ #include <LYUtils.h> #include <GridText.h> #include <LYList.h> +#include <LYClean.h> #include <LYSignal.h> #include <LYGlobalDefs.h> #include <LYCharUtils.h> @@ -237,9 +238,6 @@ PUBLIC void printlist ARGS2( FILE *, fp, BOOLEAN, titles) { -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ int cnt; int refs, hidden_links; char *address = NULL; @@ -282,7 +280,7 @@ PUBLIC void printlist ARGS2( } dest = HTAnchor_followMainLink((HTAnchor *)child); /* - * Ignore if child anchor points to itself, i.e. we had + * Ignore if child anchor points to itself, i.e., we had * something like <A NAME=xyz HREF="#xyz"> and it is not * treated as a hidden link. Useful if someone 'P'rints * the List Page (which isn't a very useful action to do, diff --git a/src/LYLocal.c b/src/LYLocal.c index 37c63cb3..21bb24a7 100644 --- a/src/LYLocal.c +++ b/src/LYLocal.c @@ -43,6 +43,7 @@ #include <LYHistory.h> #include <LYUpload.h> #include <LYLocal.h> +#include <LYClean.h> #ifndef VMS #ifndef _WINDOWS @@ -134,7 +135,7 @@ struct dired_menu { { DE_DIR, "", "Modify Directory Name", "(of current selection)", "LYNXDIRED://MODIFY_NAME%p", NULL }, { DE_SYMLINK, "", "Modify Name", -"(of selected symbolic link)", "LYNXDIRED://MODIFY_NAME%p", NULL }, +"(of selected symbolic link)", "LYNXDIRED://MODIFY_NAME%p", NULL }, #ifdef OK_PERMIT { DE_FILE, "", "Modify File Permissions", @@ -270,7 +271,7 @@ PRIVATE BOOLEAN ok_file_or_dir ARGS1(struct stat*, sb) { if (!S_ISDIR(sb->st_mode) && !S_ISREG(sb->st_mode)) { - HTAlert(gettext("The selected item is not a file or a directory! Request ignored.")); + HTAlert(gettext("The selected item is not a file or a directory! Request ignored.")); return FALSE; } return TRUE; @@ -508,13 +509,13 @@ PRIVATE BOOLEAN modify_tagged ARGS1( clear_tags(); return count; } else { - HTAlert(gettext("Destination has different owner! Request denied.")); + HTAlert(gettext("Destination has different owner! Request denied.")); FREE(srcpath); FREE(savepath); return 0; } } else { - HTAlert(gettext("Destination is not a valid directory! Request denied.")); + HTAlert(gettext("Destination is not a valid directory! Request denied.")); FREE(savepath); return 0; } @@ -549,7 +550,7 @@ PRIVATE BOOLEAN modify_name ARGS1( } else if (S_ISREG(dir_info.st_mode)) { cp = gettext("Enter new name for file: "); } else { - HTAlert(gettext("The selected item is not a file or a directory! Request ignored.")); + HTAlert(gettext("The selected item is not a file or a directory! Request ignored.")); return 0; } if (filename(cp, tmpbuf, sizeof(tmpbuf)) == NULL) @@ -589,11 +590,11 @@ PRIVATE BOOLEAN modify_name ARGS1( return code; } } else if (S_ISDIR(dir_info.st_mode)) { - HTAlert(gettext("There is already a directory with that name! Request ignored.")); + HTAlert(gettext("There is already a directory with that name! Request ignored.")); } else if (S_ISREG(dir_info.st_mode)) { - HTAlert(gettext("There is already a file with that name! Request ignored.")); + HTAlert(gettext("There is already a file with that name! Request ignored.")); } else { - HTAlert(gettext("The specified name is already in use! Request ignored.")); + HTAlert(gettext("The specified name is already in use! Request ignored.")); } } } @@ -675,7 +676,7 @@ PRIVATE BOOLEAN modify_location ARGS1( return 0; } if (!S_ISDIR(dir_info.st_mode)) { - HTAlert(gettext("Destination is not a valid directory! Request denied.")); + HTAlert(gettext("Destination is not a valid directory! Request denied.")); return 0; } @@ -683,7 +684,7 @@ PRIVATE BOOLEAN modify_location ARGS1( * Make sure the source and target are not the same location. */ if (dev == dir_info.st_dev && inode == dir_info.st_ino) { - HTAlert(gettext("Source and destination are the same location! Request ignored!")); + HTAlert(gettext("Source and destination are the same location! Request ignored!")); return 0; } if (dir_info.st_uid == owner) { @@ -698,7 +699,7 @@ PRIVATE BOOLEAN modify_location ARGS1( FREE(msg); return code; } else { - HTAlert(gettext("Destination has different owner! Request denied.")); + HTAlert(gettext("Destination has different owner! Request denied.")); return 0; } } @@ -829,11 +830,11 @@ PRIVATE BOOLEAN create_file ARGS1( FREE(msg); return code; } else if (S_ISDIR(dir_info.st_mode)) { - HTAlert(gettext("There is already a directory with that name! Request ignored.")); + HTAlert(gettext("There is already a directory with that name! Request ignored.")); } else if (S_ISREG(dir_info.st_mode)) { - HTAlert(gettext("There is already a file with that name! Request ignored.")); + HTAlert(gettext("There is already a file with that name! Request ignored.")); } else { - HTAlert(gettext("The specified name is already in use! Request ignored.")); + HTAlert(gettext("The specified name is already in use! Request ignored.")); } } return 0; @@ -889,11 +890,11 @@ PRIVATE BOOLEAN create_directory ARGS1( FREE(msg); return code; } else if (S_ISDIR(dir_info.st_mode)) { - HTAlert(gettext("There is already a directory with that name! Request ignored.")); + HTAlert(gettext("There is already a directory with that name! Request ignored.")); } else if (S_ISREG(dir_info.st_mode)) { - HTAlert(gettext("There is already a file with that name! Request ignored.")); + HTAlert(gettext("There is already a file with that name! Request ignored.")); } else { - HTAlert(gettext("The specified name is already in use! Request ignored.")); + HTAlert(gettext("The specified name is already in use! Request ignored.")); } } return 0; @@ -1361,9 +1362,24 @@ PUBLIC void showtags ARGS1( } } +PRIVATE char * DirectoryOf ARGS1( + char *, pathname) +{ + char *result = 0; + char *leaf; + + StrAllocCopy(result, pathname); + leaf = LYPathLeaf(result); + if (leaf != result) { + *leaf = '\0'; + LYTrimPathSep(result); + } + return result; +} + /* * Perform file management operations for LYNXDIRED URL's. - * Attempt to be consistent. These are (pseudo) URLs - i.e. they should + * Attempt to be consistent. These are (pseudo) URLs - i.e., they should * be in URL syntax: some bytes will be URL-escaped with '%'. This is * necessary because these (pseudo) URLs will go through some of the same * kinds of interpretations and mutilations as real ones: HTParse, stripping @@ -1371,17 +1387,15 @@ PUBLIC void showtags ARGS1( * about not escaping parsing '#' "the URL way" built into HTParse, but that * doesn't look like a clean way.) */ -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ PUBLIC int local_dired ARGS1( document *, doc) { char *line_url; /* will point to doc's address, which is a URL */ char *line = NULL; /* same as line_url, but HTUnEscaped, will be alloced */ - char *cp, *tp, *bp; + char *tp; char *tmpbuf = NULL; char *buffer = NULL; + char *dirname = NULL; line_url = doc->address; CTRACE(tfp, "local_dired: called for <%s>.\n", @@ -1449,7 +1463,7 @@ PUBLIC int local_dired ARGS1( LYforce_no_cache = TRUE; } else { LYTrimPathSep(line); - if ((cp = strrchr(line, '/')) == NULL) { + if (strrchr(line, '/') == NULL) { FREE(line); return 0; } @@ -1459,117 +1473,125 @@ PUBLIC int local_dired ARGS1( * escape all path references to avoid spoofing the shell. */ if (!strncmp(line, "LYNXDIRED://DECOMPRESS", 22)) { - tp = quote_pathname(line + 22); - HTSprintf0(&buffer,"%s %s", UNCOMPRESS_PATH, tp); - FREE(tp); +#define FMT_UNCOMPRESS "%s %s" + HTAddParam(&buffer, FMT_UNCOMPRESS, 1, UNCOMPRESS_PATH); + HTAddParam(&buffer, FMT_UNCOMPRESS, 2, line+22); + HTEndParam(&buffer, FMT_UNCOMPRESS, 2); #if defined(OK_UUDECODE) && !defined(ARCHIVE_ONLY) } else if (!strncmp(line, "LYNXDIRED://UUDECODE", 20)) { - tp = quote_pathname(line + 20); - HTSprintf0(&buffer,"%s %s", UUDECODE_PATH, tp); - HTAlert(gettext("Warning! UUDecoded file will exist in the directory you started Lynx.")); - FREE(tp); +#define FMT_UUDECODE "%s %s" + HTAddParam(&buffer, FMT_UUDECODE, 1, UUDECODE_PATH); + HTAddParam(&buffer, FMT_UUDECODE, 2, line+20); + HTEndParam(&buffer, FMT_UUDECODE, 2); + HTAlert(gettext("Warning! UUDecoded file will exist in the directory you started Lynx.")); #endif /* OK_UUDECODE && !ARCHIVE_ONLY */ #ifdef OK_TAR # ifndef ARCHIVE_ONLY # ifdef OK_GZIP } else if (!strncmp(line, "LYNXDIRED://UNTAR_GZ", 20)) { - tp = quote_pathname(line+20); - *cp++ = '\0'; - cp = quote_pathname(line + 20); - HTSprintf0(&buffer, "%s -qdc %s | (cd %s; %s -xf -)", - GZIP_PATH, tp, cp, TAR_PATH); - FREE(cp); - FREE(tp); +#define FMT_UNTAR_GZ "%s -qdc %s | (cd %s; %s -xf -)" + dirname = DirectoryOf(line+20); + HTAddParam(&buffer, FMT_UNTAR_GZ, 1, GZIP_PATH); + HTAddParam(&buffer, FMT_UNTAR_GZ, 2, line+20); + HTAddParam(&buffer, FMT_UNTAR_GZ, 3, dirname); + HTAddParam(&buffer, FMT_UNTAR_GZ, 4, TAR_PATH); + HTEndParam(&buffer, FMT_UNTAR_GZ, 4); # endif /* OK_GZIP */ } else if (!strncmp(line, "LYNXDIRED://UNTAR_Z", 19)) { - tp = quote_pathname(line + 19); - *cp++ = '\0'; - cp = quote_pathname(line + 19); - HTSprintf0(&buffer, "%s %s | (cd %s; %s -xf -)", - ZCAT_PATH, tp, cp, TAR_PATH); - FREE(cp); - FREE(tp); +#define FMT_UNTAR_Z "%s %s | (cd %s; %s -xf -)" + dirname = DirectoryOf(line+19); + HTAddParam(&buffer, FMT_UNTAR_Z, 1, ZCAT_PATH); + HTAddParam(&buffer, FMT_UNTAR_Z, 2, line+19); + HTAddParam(&buffer, FMT_UNTAR_Z, 3, dirname); + HTAddParam(&buffer, FMT_UNTAR_Z, 4, TAR_PATH); + HTEndParam(&buffer, FMT_UNTAR_Z, 4); } else if (!strncmp(line, "LYNXDIRED://UNTAR", 17)) { - tp = quote_pathname(line + 17); - *cp++ = '\0'; - cp = quote_pathname(line + 17); - HTSprintf0(&buffer, "cd %s; %s -xf %s", cp, TAR_PATH, tp); - FREE(cp); - FREE(tp); +#define FMT_UNTAR "cd %s; %s -xf %s" + dirname = DirectoryOf(line+17); + HTAddParam(&buffer, FMT_UNTAR, 1, dirname); + HTAddParam(&buffer, FMT_UNTAR, 2, TAR_PATH); + HTAddParam(&buffer, FMT_UNTAR, 3, line+17); + HTEndParam(&buffer, FMT_UNTAR, 3); # endif /* !ARCHIVE_ONLY */ # ifdef OK_GZIP } else if (!strncmp(line, "LYNXDIRED://TAR_GZ", 18)) { - *cp++ = '\0'; - cp = quote_pathname(cp); - tp = quote_pathname(line + 18); - HTSprintf0(&buffer, "(cd %s; %s -cf - %s) | %s -qc >%s/%s.tar.gz", - tp, TAR_PATH, cp, GZIP_PATH, tp, cp); - FREE(cp); - FREE(tp); +#define FMT_TAR_GZ "(cd %s; %s -cf - %s) | %s -qc >%s/%s.tar.gz" + dirname = DirectoryOf(line+18); + HTAddParam(&buffer, FMT_TAR_GZ, 1, dirname); + HTAddParam(&buffer, FMT_TAR_GZ, 2, TAR_PATH); + HTAddParam(&buffer, FMT_TAR_GZ, 3, LYPathLeaf(line+18)); + HTAddParam(&buffer, FMT_TAR_GZ, 4, GZIP_PATH); + HTAddParam(&buffer, FMT_TAR_GZ, 5, dirname); + HTAddParam(&buffer, FMT_TAR_GZ, 6, LYPathLeaf(line+18)); + HTEndParam(&buffer, FMT_TAR_GZ, 6); # endif /* OK_GZIP */ } else if (!strncmp(line, "LYNXDIRED://TAR_Z", 17)) { - *cp++ = '\0'; - cp = quote_pathname(cp); - tp = quote_pathname(line + 17); - HTSprintf0(&buffer, "(cd %s; %s -cf - %s) | %s >%s/%s.tar.Z", - tp, TAR_PATH, cp, COMPRESS_PATH, tp, cp); - FREE(cp); - FREE(tp); +#define FMT_TAR_Z "(cd %s; %s -cf - %s) | %s >%s/%s.tar.Z" + dirname = DirectoryOf(line+17); + HTAddParam(&buffer, FMT_TAR_Z, 1, dirname); + HTAddParam(&buffer, FMT_TAR_Z, 2, TAR_PATH); + HTAddParam(&buffer, FMT_TAR_Z, 3, LYPathLeaf(line+17)); + HTAddParam(&buffer, FMT_TAR_Z, 4, COMPRESS_PATH); + HTAddParam(&buffer, FMT_TAR_Z, 5, dirname); + HTAddParam(&buffer, FMT_TAR_Z, 6, LYPathLeaf(line+17)); + HTEndParam(&buffer, FMT_TAR_Z, 6); } else if (!strncmp(line, "LYNXDIRED://TAR", 15)) { - *cp++ = '\0'; - cp = quote_pathname(cp); - tp = quote_pathname(line + 15); - HTSprintf0(&buffer, "(cd %s; %s -cf %s.tar %s)", - tp, TAR_PATH, cp, cp); - FREE(cp); - FREE(tp); +#define FMT_TAR "(cd %s; %s -cf %s.tar %s)" + dirname = DirectoryOf(line+15); + HTAddParam(&buffer, FMT_TAR, 1, dirname); + HTAddParam(&buffer, FMT_TAR, 2, TAR_PATH); + HTAddParam(&buffer, FMT_TAR, 3, LYPathLeaf(line+15)); + HTAddParam(&buffer, FMT_TAR, 4, LYPathLeaf(line+15)); + HTEndParam(&buffer, FMT_TAR, 4); #endif /* OK_TAR */ #ifdef OK_GZIP } else if (!strncmp(line, "LYNXDIRED://GZIP", 16)) { - tp = quote_pathname(line + 16); - HTSprintf0(&buffer, "%s -q %s", GZIP_PATH, tp); - FREE(tp); +#define FMT_GZIP "%s -q %s" + HTAddParam(&buffer, FMT_GZIP, 1, GZIP_PATH); + HTAddParam(&buffer, FMT_GZIP, 2, line+16); + HTEndParam(&buffer, FMT_GZIP, 2); #ifndef ARCHIVE_ONLY } else if (!strncmp(line, "LYNXDIRED://UNGZIP", 18)) { - tp = quote_pathname(line + 18); - HTSprintf0(&buffer, "%s -d %s", GZIP_PATH, tp); - FREE(tp); +#define FMT_UNGZIP "%s -d %s" + HTAddParam(&buffer, FMT_UNGZIP, 1, GZIP_PATH); + HTAddParam(&buffer, FMT_UNGZIP, 2, line+18); + HTEndParam(&buffer, FMT_UNGZIP, 2); #endif /* !ARCHIVE_ONLY */ #endif /* OK_GZIP */ #ifdef OK_ZIP } else if (!strncmp(line, "LYNXDIRED://ZIP", 15)) { - tp = quote_pathname(line + 15); - *cp++ = '\0'; - bp = quote_pathname(cp); - cp = quote_pathname(line + 15); - HTSprintf0(&buffer, "cd %s; %s -rq %s.zip %s", cp, ZIP_PATH, tp, bp); - FREE(cp); - FREE(bp); - FREE(tp); +#define FMT_ZIP "cd %s; %s -rq %s.zip %s" + dirname = DirectoryOf(line+15); + HTAddParam(&buffer, FMT_ZIP, 1, dirname); + HTAddParam(&buffer, FMT_ZIP, 2, ZIP_PATH); + HTAddParam(&buffer, FMT_ZIP, 3, line+15); + HTAddParam(&buffer, FMT_ZIP, 4, LYPathLeaf(line+15)); + HTEndParam(&buffer, FMT_ZIP, 4); #ifndef ARCHIVE_ONLY } else if (!strncmp(line, "LYNXDIRED://UNZIP", 17)) { - tp = quote_pathname(line + 17); - *cp = '\0'; - cp = quote_pathname(line + 17); - HTSprintf0(&buffer, "cd %s; %s -q %s", cp, UNZIP_PATH, tp); - FREE(cp); - FREE(tp); +#define FMT_UNZIP "cd %s; %s -q %s" + dirname = DirectoryOf(line+17); + HTAddParam(&buffer, FMT_UNZIP, 1, dirname); + HTAddParam(&buffer, FMT_UNZIP, 2, UNZIP_PATH); + HTAddParam(&buffer, FMT_UNZIP, 3, line+17); + HTEndParam(&buffer, FMT_UNZIP, 3); # endif /* !ARCHIVE_ONLY */ #endif /* OK_ZIP */ } else if (!strncmp(line, "LYNXDIRED://COMPRESS", 20)) { - tp = quote_pathname(line + 20); - HTSprintf0(&buffer, "%s %s", COMPRESS_PATH, tp); - FREE(tp); +#define FMT_COMPRESS "%s %s" + HTAddParam(&buffer, FMT_COMPRESS, 1, COMPRESS_PATH); + HTAddParam(&buffer, FMT_COMPRESS, 2, line+20); + HTEndParam(&buffer, FMT_COMPRESS, 2); } if (buffer != 0) { @@ -1591,6 +1613,7 @@ PUBLIC int local_dired ARGS1( } } + FREE(dirname); FREE(tmpbuf); FREE(buffer); FREE(line); @@ -1825,7 +1848,7 @@ PUBLIC BOOLEAN local_install ARGS3( if (!ok_stat(destpath, &dir_info)) { return 0; } else if (!S_ISDIR(dir_info.st_mode)) { - HTAlert(gettext("The selected item is not a directory! Request ignored.")); + HTAlert(gettext("The selected item is not a directory! Request ignored.")); return 0; } else if (0 /*directory not writable*/) { HTAlert(gettext("Install in the selected directory not permitted.")); @@ -2022,7 +2045,7 @@ PRIVATE char * render_item ARGS6( } else { /* * Other chars come from the lynx.cfg or - * the default. Let's assume there isn't + * the default. Let's assume there isn't * anything weird there that needs escaping. */ *BP_INC =*s; diff --git a/src/LYMail.c b/src/LYMail.c index 73bf04bd..3f483194 100644 --- a/src/LYMail.c +++ b/src/LYMail.c @@ -503,7 +503,7 @@ PUBLIC void mailform ARGS4( * won't confuse the mailer and give a blank address. * * ignore addresses so long that they would overflow the - * temporary buffer (i.e. about 500 chars). - BL + * temporary buffer (i.e., about 500 chars). - BL */ if (strlen(address_ptr1) > 3 && strlen(address_ptr1) + strlen(mail_adrs) < sizeof(cmd)) { @@ -536,7 +536,7 @@ PUBLIC void mailform ARGS4( * won't confuse the mailer and give a blank address. * * ignore addresses so long that they would overflow the - * temporary buffer (i.e. about 500 chars). - BL + * temporary buffer (i.e., about 500 chars). - BL */ if (strlen(address_ptr1) > 3 && strlen(address_ptr1) + strlen(mail_adrs) < sizeof(cmd)) { @@ -797,7 +797,7 @@ PUBLIC void mailmsg ARGS4( * won't confuse the mailer and give a blank address. * * ignore addresses so long that they would overflow the - * temporary buffer (i.e. about 500 chars). - BL + * temporary buffer (i.e., about 500 chars). - BL */ if (strlen(address) > 3 && strlen(address) + strlen(mail_adrs) < sizeof(cmd)) { @@ -1766,7 +1766,7 @@ PUBLIC void reply_by_mail ARGS3( * won't confuse the mailer and give a blank address. * * ignore addresses so long that they would overflow the - * temporary buffer (i.e. about 500 chars). - BL + * temporary buffer (i.e., about 500 chars). - BL */ if (strlen(address_ptr1) > 3 && strlen(address_ptr1) + strlen(mail_adrs) < sizeof(cmd)) { @@ -1799,7 +1799,7 @@ PUBLIC void reply_by_mail ARGS3( * won't confuse the mailer and give a blank address. * * ignore addresses so long that they would overflow the - * temporary buffer (i.e. about 500 chars). - BL + * temporary buffer (i.e., about 500 chars). - BL */ if (strlen(address_ptr1) > 3 && strlen(address_ptr1) + strlen(mail_adrs) < sizeof(cmd)) { diff --git a/src/LYMain.c b/src/LYMain.c index 12edc851..852a9c59 100644 --- a/src/LYMain.c +++ b/src/LYMain.c @@ -367,7 +367,6 @@ PUBLIC BOOLEAN LYQuitDefaultYes = QUIT_DEFAULT_YES; #ifdef DISP_PARTIAL PUBLIC BOOLEAN display_partial = TRUE; /* Display document during download */ PUBLIC BOOLEAN debug_display_partial = FALSE; /* Show with MessageSecs delay */ -PUBLIC BOOLEAN detected_forms_input_partial = FALSE; /* trimHightext temp fix */ PUBLIC int partial_threshold = -1; /* # of lines to be d/l'ed until we repaint */ #endif @@ -485,7 +484,6 @@ PRIVATE void free_lynx_globals NOARGS FREE(lynxjumpfile); FREE(startrealm); FREE(personal_mail_address); - FREE(UC_TEMPcharset); FREE(URLDomainPrefixes); FREE(URLDomainSuffixes); FREE(XLoadImageCommand); @@ -753,7 +751,7 @@ PUBLIC int main ARGS2( #else StrAllocCopy(lynx_version_putenv_command, "LYNX_VERSION="); StrAllocCat(lynx_version_putenv_command, LYNX_VERSION); - putenv(lynx_version_putenv_command); + (void) putenv(lynx_version_putenv_command); #endif /* VMS */ if ((cp = getenv("LYNX_TEMP_SPACE")) != NULL) @@ -1218,7 +1216,7 @@ PUBLIC int main ARGS2( /* * (**) in Lynx, UCLYhndl_HTFile_for_unspec and UCLYhndl_for_unrec may be * valid or not, but current_char_set and UCLYhndl_for_unspec SHOULD - * ALWAYS be a valid charset. Initialized here and may be changed later + * ALWAYS be a valid charset. Initialized here and may be changed later * from lynx.cfg/command_line/options_menu. - LP (**) */ /* @@ -1732,6 +1730,14 @@ PUBLIC int main ARGS2( (keypad_mode == LINKS_ARE_NUMBERED || keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED)) printlist(stdout,FALSE); +#ifdef EXP_PERSISTENT_COOKIES + /* + * We want to save cookies picked up when in immediate dump + * mode. Instead of calling cleanup() here, let's only call + * this one. - BJP + */ + LYStoreCookies(LYCookieFile); +#endif /* EXP_PERSISTENT_COOKIES */ exit_immediately(status); } else { /* diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index 9b601f3c..c38a5d4b 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -216,9 +216,6 @@ int mainloop NOARGS char cfile[128]; FILE *cfp; char *cp, *toolbar; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig */ -#endif /* VMS */ int ch, recall; int URLTotal; int URLNum; @@ -1238,7 +1235,7 @@ try_again: /* * We may have popped a doc (possibly in local_dired) * which didn't have any links when it was pushed, but - * does have links now (e.g. a file was created) - KW + * does have links now (e.g., a file was created) - KW */ curdoc.link = 0; } @@ -2558,7 +2555,7 @@ new_cmd: /* * Check if the previous document is a reply from a POST, * and if so, seek confirmation of resubmission if the safe * element is not set and the document is not still in the - * cache or LYresubmit_posts is set. If not confirmed and + * cache or LYresubmit_posts is set. If not confirmed and * it is not the startfile, pop it so we go to the yet * previous document, until we're OK or reach the startfile. * If we reach the startfile and its not OK or we don't get diff --git a/src/LYMap.c b/src/LYMap.c index 55b44121..d28cff2f 100644 --- a/src/LYMap.c +++ b/src/LYMap.c @@ -105,7 +105,7 @@ PRIVATE void LYLynxMaps_free NOARGS * HTParentAnchor structure and is freed when the document is removed * from memory, in the course of normal removal of anchors. * MAPs from POST responses can only be accessed via internal links, - * i.e. from within the same document (with the same post_data). + * i.e., from within the same document (with the same post_data). * The notion of "same document" is extended, so that LYNXIMGMAP: * and List Page screens are logically part of the document on which * they are based. - kw @@ -318,7 +318,7 @@ PUBLIC BOOL LYHaveImageMap ARGS1( * the underlying resource. ALso returns a pointer to that anchor in * *punderlying if we are dealing with POST data. - kw * - * address is the address of the underlying resource, i.e. the one + * address is the address of the underlying resource, i.e., the one * containing the MAP element, the MAP's name appended as * fragment is ignored. * anAnchor is the LYNXIMGMAP: anchor; if it is associated with POST @@ -361,7 +361,7 @@ PRIVATE void fill_DocAddress ARGS4( * list if a List Page for a POST response is requested. Also * fill in the DocAddress structure etc. by calling fill_DocAddress(). * - * address is the address of the underlying resource, i.e. the one + * address is the address of the underlying resource, i.e., the one * containing the MAP element, the MAP's name appended as * fragment is ignored. * anchor is the LYNXIMGMAP: anchor for which LYLoadIMGmap() is diff --git a/src/LYOptions.c b/src/LYOptions.c index 848e4a25..6ac5fa41 100644 --- a/src/LYOptions.c +++ b/src/LYOptions.c @@ -1733,9 +1733,6 @@ PRIVATE int boolean_choice ARGS4( int number = 0; int col = (column >= 0 ? column : COL_OPTION_VALUES); int orig_choice = cur_choice; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */ -#endif /* VMS */ /* * Get the number of choices and then make @@ -2243,9 +2240,6 @@ PRIVATE int popup_choice ARGS6( char Cnum[64]; int Lnum; int npages; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */ -#endif /* VMS */ static char prev_target[512]; /* Search string buffer */ static char prev_target_buffer[512]; /* Next search buffer */ static BOOL first = TRUE; @@ -3526,7 +3520,10 @@ PUBLIC int postoptions ARGS1( if (strstr(newdoc->address, "LYNXOPTIONS://MBM_MENU")) { FREE(newdoc->post_data); FREE(data); - edit_bookmarks(); + if (!no_bookmark) + edit_bookmarks(); + else /* anonymous */ + HTAlert(BOOKMARK_CHANGE_DISALLOWED); return(NULLFILE); } @@ -3686,8 +3683,8 @@ PUBLIC int postoptions ARGS1( } } - /* Single Bookmarks filename: INPUT */ - if (!strcmp(data[i].tag, single_bookmark_string)) { + /* Default Bookmarks filename: INPUT */ + if (!strcmp(data[i].tag, single_bookmark_string) && (!no_bookmark)) { if (strcmp(data[i].value, "")) { FREE(bookmark_page); StrAllocCopy(bookmark_page, data[i].value); diff --git a/src/LYPrint.c b/src/LYPrint.c index e7b3e27f..dbdd7f5a 100644 --- a/src/LYPrint.c +++ b/src/LYPrint.c @@ -59,10 +59,53 @@ PRIVATE int remove_quotes PARAMS((char *string)); PRIVATE char* subject_translate8bit PARAMS((char *source)); +#define LYNX_PRINT_TITLE 0 +#define LYNX_PRINT_URL 1 +#define LYNX_PRINT_DATE 2 +#define LYNX_PRINT_LASTMOD 3 + +#define MAX_PUTENV 4 + +PRIVATE void set_environ ARGS3( + int, name, + CONST char *, value, + CONST char *, no_value) +{ + static CONST char *names[MAX_PUTENV] = { + "LYNX_PRINT_TITLE", + "LYNX_PRINT_URL", + "LYNX_PRINT_DATE", + "LYNX_PRINT_LASTMOD", + }; + static char *pointers[MAX_PUTENV]; + char *envbuffer = 0; +#ifdef VMS +#define SET_ENVIRON(name, value, no_value) set_environ(name, value, no_value) + StrAllocCopy(envbuffer, value); + if (!(envbuffer && *envbuffer)) + StrAllocCopy(envbuffer, no_value); + Define_VMSLogical(names[name], envbuffer); + FREE(envbuffer); +#else +#define SET_ENVIRON(name, value, no_value) set_environ(name, value, "") + /* + * Once we've given a string to 'putenv()', we must not free it until we + * give it a string to replace it. + */ + StrAllocCopy(envbuffer, names[name]); + StrAllocCat(envbuffer, "="); + StrAllocCat(envbuffer, value ? value : no_value); + putenv(envbuffer); + FREE(pointers[name]); + pointers[name] = envbuffer; +#endif +} + PUBLIC int printfile ARGS1( document *, newdoc) { static char tempfile[LY_MAXPATH]; + char *the_command = 0; char buffer[LINESIZE]; char filename[LINESIZE]; char user_response[256]; @@ -89,7 +132,6 @@ PUBLIC int printfile ARGS1( CONST char *disp_charset; char *subject = NULL; /* print-to-email */ static BOOLEAN first_mail_preparsed = TRUE; - char *envbuffer = NULL; #ifdef VMS BOOLEAN isPMDF = FALSE; char hdrfile[LY_MAXPATH]; @@ -340,103 +382,24 @@ PUBLIC int printfile ARGS1( break; } - if (no_dotfiles || !show_dotfiles) { - if (*LYPathLeaf(filename) == '.') { - HTAlert(FILENAME_CANNOT_BE_DOT); - _statusline(NEW_FILENAME_PROMPT); - FirstRecall = TRUE; - FnameNum = FnameTotal; - goto retry; - } - } - /* - * Cancel if the user entered "/dev/null" on Unix, - * or an "nl:" path (case-insensitive) on VMS. - FM - */ -#ifdef VMS - if (!strncasecomp(filename, "nl:", 3) || - !strncasecomp(filename, "/nl/", 4)) -#else - if (!strcmp(filename, "/dev/null")) -#endif /* VMS */ - { + if (!LYValidateFilename(buffer, filename)) { HTInfoMsg(SAVE_REQUEST_CANCELLED); break; } - if ((cp = strchr(filename, '~'))) { - *(cp++) = '\0'; - strcpy(buffer, filename); - LYTrimPathSep(buffer); - strcat(buffer, wwwName(Home_Dir())); - strcat(buffer, cp); - strcpy(filename, buffer); - } -#ifdef VMS - if (strchr(filename, '/') != NULL) { - strcpy(buffer, HTVMS_name("", filename)); - strcpy(filename, buffer); - } - if (filename[0] != '/' && strchr(filename, ':') == NULL) { - strcpy(buffer, "sys$disk:"); - if (strchr(filename, ']') == NULL) - strcat(buffer, "[]"); - strcat(buffer, filename); - } else { - strcpy(buffer, filename); - } -#else - -#ifndef __EMX__ - if (!LYIsPathSep(*filename)) { -#if defined(__DJGPP__) || defined(_WINDOWS) - if (strchr(buffer, ':') != NULL) - cp = NULL; - else -#endif /* __DJGPP__ || _WINDOWS */ - cp = getenv("PWD"); - } - else -#endif - cp = NULL; - - LYTrimPathSep(cp); - if (cp) - sprintf(buffer, "%s/%s", cp, HTSYS_name(filename)); - else - strcpy(buffer, HTSYS_name(filename)); -#endif /* VMS */ /* * See if it already exists. */ - if ((outfile_fp = fopen(buffer, "r")) != NULL) { - fclose(outfile_fp); -#ifdef VMS - _statusline(FILE_EXISTS_HPROMPT); -#else - _statusline(FILE_EXISTS_OPROMPT); -#endif /* VMS */ - c = 0; - while (TOUPPER(c)!='Y' && TOUPPER(c)!='N' && - TOUPPER(c)!='A' && c != 7 && c != 3) - c = LYgetch(); -#ifdef VMS - if (HadVMSInterrupt) { - HadVMSInterrupt = FALSE; - HTInfoMsg(SAVE_REQUEST_CANCELLED); - break; - } -#endif /* VMS */ - if (c == 7 || c == 3) { /* Control-G or Control-C */ - HTInfoMsg(SAVE_REQUEST_CANCELLED); - break; - } - if (TOUPPER(c) == 'N') { - _statusline(NEW_FILENAME_PROMPT); - FirstRecall = TRUE; - FnameNum = FnameTotal; - goto retry; - } + switch (LYValidateOutput(buffer)) { + case 'Y': + break; + case 'N': + _statusline(NEW_FILENAME_PROMPT); + FirstRecall = TRUE; + FnameNum = FnameTotal; + goto retry; + default: + goto done; } /* @@ -444,6 +407,23 @@ PUBLIC int printfile ARGS1( */ CTRACE(tfp, "LYPrint: filename is %s, action is `%c'\n", buffer, c); +#if HAVE_POPEN + if (*buffer == '|') { + if (no_shell) { + HTUserMsg(SPAWNING_DISABLED); + FirstRecall = TRUE; + FnameNum = FnameTotal; + goto retry; + } else if ((outfile_fp = popen(buffer+1, "w")) == NULL) { + CTRACE(tfp, "LYPrint: errno is %d\n", errno); + HTAlert(CANNOT_WRITE_TO_FILE); + _statusline(NEW_FILENAME_PROMPT); + FirstRecall = TRUE; + FnameNum = FnameTotal; + goto retry; + } + } else +#endif if ((outfile_fp = (TOUPPER(c) == 'A' ? LYAppendToTxtFile(buffer) : LYNewTxtFile(buffer))) == NULL) { @@ -510,6 +490,11 @@ PUBLIC int printfile ARGS1( if (keypad_mode) printlist(outfile_fp,FALSE); +#if HAVE_POPEN + if (LYIsPipeCommand(buffer)) + pclose(outfile_fp); + else +#endif fclose(outfile_fp); #ifdef VMS if (0 == strncasecomp(buffer, "sys$disk:", 9)) { @@ -588,7 +573,17 @@ PUBLIC int printfile ARGS1( * MORE readable and 8-bit letters shouldn't be a problem - LP */ /* change_sug_filename(sug_filename); */ - StrAllocCopy(subject, subject_translate8bit(newdoc->title)); + subject = subject_translate8bit(newdoc->title); + + if (newdoc->isHEAD) { + /* + * Special case for mailing HEAD responce: + * this is rather technical information, show URL. + */ + FREE(subject); + StrAllocCopy(subject, "HEAD "); + StrAllocCat(subject, newdoc->address); + } #ifdef VMS if (strchr(user_response,'@') && !strchr(user_response,':') && @@ -1008,8 +1003,7 @@ PUBLIC int printfile ARGS1( * Check for two '%s' and ask for the second filename * argument if there is. */ - char *first_s = strstr(cur_printer->command, "%s"); - if (first_s && strstr(first_s+1, "%s")) { + if (HTCountCommandArgs (cur_printer->command) >= 2) { _statusline(FILENAME_PROMPT); again: strcpy(filename, sug_filename); change_sug_filename(filename); @@ -1130,18 +1124,9 @@ PUBLIC int printfile ARGS1( HTAddSugFilename(filename); } -#if defined (VMS) || defined (__EMX__) || defined(__DJGPP__) - sprintf(buffer, cur_printer->command, tempfile, filename, - "", "", "", "", "", "", "", "", "", ""); -#else /* Unix: */ - /* - * Prevent spoofing of the shell. - */ - cp = quote_pathname(filename); - sprintf(buffer, cur_printer->command, tempfile, cp, - "", "", "", "", "", "", "", "", "", ""); - FREE(cp); -#endif /* !VMS */ + HTAddParam (&the_command, cur_printer->command, 1, tempfile); + HTAddParam (&the_command, cur_printer->command, 2, filename); + HTEndParam (&the_command, cur_printer->command, 2); } else { HTAlert(PRINTER_MISCONF_ERROR); @@ -1156,38 +1141,38 @@ PUBLIC int printfile ARGS1( move(1,1); stop_curses(); - CTRACE(tfp, "command: %s\n", buffer); + CTRACE(tfp, "command: %s\n", the_command); printf(PRINTING_FILE); -#ifdef VMS /* - * Set document's title as a VMS logical. - FM + * Set various bits of document information as environment + * variables, for use by external print scripts/etc. On UNIX, + * We assume there are values, and leave NULL value checking + * up to the external PRINTER: cmd/script - KED */ - StrAllocCopy(envbuffer, HText_getTitle()); - if (!(envbuffer && *envbuffer)) - StrAllocCopy(envbuffer, "No Title"); - Define_VMSLogical("LYNX_PRINT_TITLE", envbuffer); -#else + SET_ENVIRON(LYNX_PRINT_TITLE, + HText_getTitle(), + "No Title"); + SET_ENVIRON(LYNX_PRINT_URL, + newdoc->address, + "No URL"); + SET_ENVIRON(LYNX_PRINT_DATE, + HText_getDate(), + "No Date"); + SET_ENVIRON(LYNX_PRINT_LASTMOD, + HText_getLastModified(), + "No LastMod"); + + LYSystem(the_command); + FREE(the_command); /* - * Set document's title as an environment variable. - JKT + * Remove the various LYNX_PRINT_xxxx logicals. - KED + * [could use unsetenv(), but it's not portable] */ - StrAllocCopy(envbuffer, "LYNX_PRINT_TITLE="); - StrAllocCat(envbuffer, HText_getTitle()); - putenv(envbuffer); -#endif /* VMS */ - LYSystem(buffer); -#ifdef VMS - /* - * Remove LYNX_PRINT_TITLE logical. - FM - */ - Define_VMSLogical("LYNX_PRINT_TITLE", ""); -#else - /* - * Remove LYNX_PRINT_TITLE value from environment. - KW - */ - envbuffer[17] = '\0'; /* truncate after '=' */ - putenv(envbuffer); -#endif /* VMS */ - FREE(envbuffer); + SET_ENVIRON(LYNX_PRINT_TITLE, "", ""); + SET_ENVIRON(LYNX_PRINT_URL, "",""); + SET_ENVIRON(LYNX_PRINT_DATE, "", ""); + SET_ENVIRON(LYNX_PRINT_LASTMOD, "", ""); + fflush(stdout); #ifndef VMS signal(SIGINT, cleanup_sig); @@ -1196,6 +1181,7 @@ PUBLIC int printfile ARGS1( start_curses(); } /* end switch */ +done: FREE(link_info); FREE(sug_filename); FREE(subject); @@ -1234,6 +1220,7 @@ PRIVATE int remove_quotes ARGS1( * it may correspond to US-ASCII as the safest value or any other * lynx character handler, -1 for no translation (so display charset). * + * Always returns a new allocated string which has to be freed. */ PRIVATE char* subject_translate8bit ARGS1(char *, source) { @@ -1250,7 +1237,8 @@ PRIVATE char* subject_translate8bit ARGS1(char *, source) if (i < 0 || LYHaveCJKCharacterSet || LYCharSet_UC[i].enc == UCT_ENC_CJK) { - return(source); /* OK */ + StrAllocCopy(target, source); + return(target); /* OK */ } else { charset_out = i; charset_in = current_char_set; diff --git a/src/LYStrings.c b/src/LYStrings.c index 6f4ac249..ac24013a 100644 --- a/src/LYStrings.c +++ b/src/LYStrings.c @@ -131,7 +131,7 @@ PUBLIC int fancy_mouse ARGS3( cmd = LYX_TOGGLE; #endif } else if (event.bstate & (BUTTON_ALT | BUTTON_SHIFT | BUTTON_CTRL)) { - /* Probably some unrelated activity, such as selecting some text. + /* Probably some unrelated activity, such as selecting some text. * Select, but do nothing else. */ *position += delta; @@ -1785,7 +1785,7 @@ PUBLIC void LYRefreshEdit ARGS1( * Figure out new display starting point. * * The first "if" below makes Lynx scroll several columns at a time when - * extending the string. Looks awful, but that way we can keep up with + * extending the string. Looks awful, but that way we can keep up with * data entry at low baudrates. */ if ((DspStart + DspWdth) <= length) diff --git a/src/LYUpload.c b/src/LYUpload.c index 422c4fda..0dd98b14 100644 --- a/src/LYUpload.c +++ b/src/LYUpload.c @@ -6,7 +6,7 @@ ** Reread the upload menu page every time, in case the "upload" directory ** has changed (make the current directory that for the upload process). ** Prompt for the upload file name if there is no "%s" in the command -** string. Most protocols allow the user to specify the file name +** string. Most protocols allow the user to specify the file name ** from the client side. Xmodem appears to be the only that can't ** figure out the filename from the transfer data so it needs the ** information from lynx (or an upload script which prompts for it). @@ -33,6 +33,8 @@ PUBLIC char LYUploadFileURL[LY_MAXPATH] = "\0"; +#define SUBDIR_COMMAND "cd %s ; " + /* * LYUpload uploads a file to a given location using a * specified upload method. It parses an incoming link @@ -42,19 +44,15 @@ PUBLIC char LYUploadFileURL[LY_MAXPATH] = "\0"; PUBLIC int LYUpload ARGS1( char *, line) { - char *method, *directory, *dir; + char *method, *directory; int method_number; int count; + char *the_upload = 0; char tmpbuf[LY_MAXPATH]; char buffer[LY_MAXPATH]; lynx_html_item_type *upload_command = 0; - int c; - char *cp; FILE *fp; - char cmd[20 + (LY_MAXPATH*2)]; -#ifdef VMS - extern BOOLEAN HadVMSInterrupt; -#endif /* VMS */ + char *the_command = 0; /* * Use configured upload commands. @@ -88,7 +86,7 @@ PUBLIC int LYUpload ARGS1( /* * Care about the local name? */ - if (strstr(upload_command->command, "%s")) { + if (HTCountCommandArgs (upload_command->command)) { /* * Commands have the form "command %s [etc]" * where %s is the filename. @@ -114,43 +112,20 @@ retry: } sprintf(buffer, "%s/%s", directory, tmpbuf); - if (no_dotfiles || !show_dotfiles) { - if (*LYPathLeaf(buffer) == '.') { - HTAlert(FILENAME_CANNOT_BE_DOT); - _statusline(NEW_FILENAME_PROMPT); - goto retry; - } +#if HAVE_POPEN + if (LYIsPipeCommand(buffer)) { + HTAlert(CANNOT_WRITE_TO_FILE); + _statusline(NEW_FILENAME_PROMPT); + goto retry; } - - /* - * See if it already exists. - */ - if ((fp = fopen(buffer, "r")) != NULL) { - fclose(fp); - -#ifdef VMS - _statusline(FILE_EXISTS_HPROMPT); -#else - _statusline(FILE_EXISTS_OPROMPT); -#endif /* VMS */ - c = 0; - while (TOUPPER(c) != 'Y' && TOUPPER(c) != 'N' && c != 7 && c != 3) - c = LYgetch(); -#ifdef VMS - if (HadVMSInterrupt) { - HadVMSInterrupt = FALSE; - goto cancelled; - } -#endif /* VMS */ - - if (c == 7 || c == 3) { /* Control-G or Control-C */ - goto cancelled; - } - - if (TOUPPER(c) == 'N') { - _statusline(NEW_FILENAME_PROMPT); - goto retry; - } +#endif + switch (LYValidateOutput(buffer)) { + case 'Y': + break; + case 'N': + goto retry; + default: + goto cancelled; } /* @@ -167,24 +142,24 @@ retry: goto retry; } -#if defined (VMS) || defined (__EMX__) || defined(__DJGPP__) - sprintf(tmpbuf, upload_command->command, buffer, "", "", "", "", ""); -#else - cp = quote_pathname(buffer); /* to prevent spoofing of the shell */ - sprintf(tmpbuf, upload_command->command, cp, "", "", "", "", ""); - FREE(cp); -#endif /* VMS */ + HTAddParam(&the_upload, upload_command->command, 1, buffer); + HTEndParam(&the_upload, upload_command->command, 1); } else { /* No substitution, no changes */ - strcpy(tmpbuf, upload_command->command); + StrAllocCopy(the_upload, upload_command->command); } - dir = quote_pathname(directory); - sprintf(cmd, "cd %s ; %s", dir, tmpbuf); - FREE(dir); + HTAddParam(&the_command, SUBDIR_COMMAND, 1, directory); + HTEndParam(&the_command, SUBDIR_COMMAND, 1); + StrAllocCat(the_command, the_upload); + + CTRACE(tfp, "command: %s\n", the_command); + stop_curses(); - CTRACE(tfp, "command: %s\n", cmd); - LYSystem(cmd); + LYSystem(the_command); start_curses(); + + FREE(the_command); + FREE(the_upload); #ifdef UNIX chmod(buffer, HIDE_CHMOD); #endif /* UNIX */ diff --git a/src/LYUtils.c b/src/LYUtils.c index 554914b4..d836ea14 100644 --- a/src/LYUtils.c +++ b/src/LYUtils.c @@ -11,6 +11,7 @@ #include <LYGlobalDefs.h> #include <LYSignal.h> #include <GridText.h> +#include <LYClean.h> #include <LYCharSets.h> #include <LYCharUtils.h> @@ -2040,8 +2041,8 @@ PUBLIC void LYFakeZap ARGS1( PRIVATE int DontCheck NOARGS { - static time_t last; - time_t next; + static long last; + long next; /** Curses or slang setup was not invoked **/ if (dump_output_immediately) @@ -2051,7 +2052,15 @@ PRIVATE int DontCheck NOARGS * Avoid checking interrupts more than one per second, since it is a slow * and expensive operation - TD */ +#if HAVE_GETTIMEOFDAY + { + struct timeval tv; + gettimeofday(&tv, (struct timezone *)0); + next = tv.tv_usec / 100000L; /* 0.1 seconds is a compromise */ + } +#else next = time((time_t*)0); +#endif if (next == last) return (TRUE); @@ -2127,7 +2136,6 @@ PUBLIC int HTCheckForInterrupt NOARGS #endif /* DOSPATH */ #else /* VMS: */ - extern BOOLEAN HadVMSInterrupt; extern int typeahead(); if (fake_zap > 0) { @@ -2752,50 +2760,6 @@ PUBLIC void remove_backslashes ARGS1( return; } -/* - * Quote the path to make it safe for shell command processing. - * - * We use a simple technique which involves quoting the entire - * string using single quotes, escaping the real single quotes - * with double quotes. This may be gross but it seems to work. - */ -PUBLIC char * quote_pathname ARGS1( - char *, pathname) -#ifndef __DJGPP__ -{ - size_t i, n = 0; - char * result; - - for (i=0; i < strlen(pathname); ++i) - if (pathname[i] == '\'') ++n; - - result = (char *)malloc(strlen(pathname) + 5*n + 3); - if (result == NULL) - outofmem(__FILE__, "quote_pathname"); - - n = 0; - result[n++] = '\''; - for (i = 0; i < strlen(pathname); i++) { - if (pathname[i] == '\'') { - result[n++] = '\''; - result[n++] = '"'; - result[n++] = '\''; - result[n++] = '"'; - result[n++] = '\''; - } else { - result[n++] = pathname[i]; - } - } - result[n++] = '\''; - result[n] = '\0'; - return result; -} -#else -{ - return pathname; -} -#endif /* !__DJGPP__ */ - #if HAVE_UTMP extern char *ttyname PARAMS((int fd)); #endif @@ -3960,10 +3924,10 @@ have_VMS_URL: * It is a subdirectory or file on the local system. */ #if defined (DOSPATH) || defined (__EMX__) - /* Don't want to see DOS local paths like c: escaped */ - /* especially when we really have file://localhost/ */ - /* at the beginning. To avoid any confusion we allow */ - /* escaping the path if URL specials % or # present. */ + /* Don't want to see DOS local paths like c: escaped */ + /* especially when we really have file://localhost/ */ + /* at the beginning. To avoid any confusion we allow */ + /* escaping the path if URL specials % or # present. */ if (strchr(temp, '#') == NULL && strchr(temp, '%') == NULL) StrAllocCopy(cp, temp); @@ -5871,6 +5835,148 @@ PUBLIC char * wwwName ARGS1( } /* + * Given a user-specified filename, e.g., for download or print, validate and + * expand it. Expand home-directory expressions in the given string. Only + * allow pipes if the user can spawn shell commands. + */ +PUBLIC BOOLEAN LYValidateFilename ARGS2( + char *, result, + char *, given) +{ + char *cp; + + /* + * Cancel if the user entered "/dev/null" on Unix, + * or an "nl:" path (case-insensitive) on VMS. - FM + */ +#ifdef VMS + if (!strncasecomp(given, "nl:", 3) || + !strncasecomp(given, "/nl/", 4)) +#else + if (!strcmp(given, "/dev/null")) +#endif /* VMS */ + { + /* just ignore it */ + return FALSE; + } +#if HAVE_POPEN + if (LYIsPipeCommand(given)) { + if (no_shell) { + HTUserMsg(SPAWNING_DISABLED); + return FALSE; + } + strcpy(result, given); + return TRUE; + } +#endif + if ((cp = strchr(given, '~'))) { + *(cp++) = '\0'; + strcpy(result, given); + LYTrimPathSep(result); + strcat(result, wwwName(Home_Dir())); + strcat(result, cp); + strcpy(given, result); + } +#ifdef VMS + if (strchr(given, '/') != NULL) { + strcpy(result, HTVMS_name("", given)); + strcpy(given, result); + } + if (given[0] != '/' && strchr(given, ':') == NULL) { + strcpy(result, "sys$disk:"); + if (strchr(given, ']') == NULL) + strcat(result, "[]"); + strcat(result, given); + } else { + strcpy(result, given); + } +#else + +#ifndef __EMX__ + if (!LYIsPathSep(*given)) { +#if defined(__DJGPP__) || defined(_WINDOWS) + if (strchr(result, ':') != NULL) + cp = NULL; + else +#endif /* __DJGPP__ || _WINDOWS */ + cp = getenv("PWD"); + } + else +#endif /* __EMX__*/ + cp = NULL; + + if (cp) { + LYTrimPathSep(cp); + sprintf(result, "%s/%s", cp, HTSYS_name(given)); + } else { + strcpy(result, HTSYS_name(given)); + } +#endif /* VMS */ + return TRUE; +} + +/* + * Given a valid filename, check if it exists. If so, we'll have to worry + * about overwriting it. + * + * Returns: + * 'Y' (yes/success) + * 'N' (no/retry) + * 3 (cancel) + */ +PUBLIC int LYValidateOutput ARGS1( + char *, filename) +{ + FILE *fp; + int c; + + /* + * Assume we can write to a pipe + */ +#if HAVE_POPEN + if (LYIsPipeCommand(filename)) + return 'Y'; +#endif + + if (no_dotfiles || !show_dotfiles) { + if (*LYPathLeaf(filename) == '.') { + HTAlert(FILENAME_CANNOT_BE_DOT); + return 'N'; + } + } + + /* + * See if it already exists. + */ + if ((fp = fopen(filename, "r")) != NULL) { + fclose(fp); +#ifdef VMS + _statusline(FILE_EXISTS_HPROMPT); +#else + _statusline(FILE_EXISTS_OPROMPT); +#endif /* VMS */ + c = 0; + while (TOUPPER(c)!='Y' && TOUPPER(c)!='N' && + TOUPPER(c)!='A' && c != 7 && c != 3) + c = LYgetch(); +#ifdef VMS + if (HadVMSInterrupt) { + HadVMSInterrupt = FALSE; + c = 3; + } +#endif /* VMS */ + if (c == 7 || c == 3) { /* Control-G or Control-C */ + HTInfoMsg(SAVE_REQUEST_CANCELLED); + return 3; + } + if (TOUPPER(c) == 'N') { + return 'N'; + } + } + return 'Y'; +} + +/* * Convert a local filename to a URL */ PUBLIC void LYLocalFileToURL ARGS2( diff --git a/src/LYUtils.h b/src/LYUtils.h index 9f4be263..4264fe91 100644 --- a/src/LYUtils.h +++ b/src/LYUtils.h @@ -31,6 +31,8 @@ #define HTSYS_remove(path) remove(path) #endif +#define LYIsPipeCommand(s) ((s)[0] == '|') + #ifdef DOSPATH #define LYIsPathSep(ch) ((ch) == '/' || (ch) == '\\') #else @@ -46,6 +48,7 @@ extern BOOLEAN LYCachedTemp PARAMS((char *result, char **cached)); extern BOOLEAN LYCanDoHEAD PARAMS((CONST char *address)); extern BOOLEAN LYExpandHostForURL PARAMS((char **AllocatedString, char *prefix_list, char *suffix_list)); extern BOOLEAN LYPathOffHomeOK PARAMS((char *fbuffer, size_t fbuffer_size)); +extern BOOLEAN LYValidateFilename PARAMS((char * result, char * given)); extern BOOLEAN LYisLocalAlias PARAMS((char *filename)); extern BOOLEAN LYisLocalFile PARAMS((char *filename)); extern BOOLEAN LYisLocalHost PARAMS((char *filename)); @@ -60,13 +63,13 @@ extern FILE *LYReopenTemp PARAMS((char *name)); extern char *LYPathLeaf PARAMS((char * pathname)); extern char *LYSysShell NOPARAMS; extern char *LYgetXDisplay NOPARAMS; -extern char *quote_pathname PARAMS((char *pathname)); extern char *strip_trailing_slash PARAMS((char * my_dirname)); extern char *wwwName PARAMS((CONST char *pathname)); extern int HTCheckForInterrupt NOPARAMS; extern int LYCheckForProxyURL PARAMS((char *filename)); extern int LYOpenInternalPage PARAMS((FILE **fp0, char **newfile)); extern int LYSystem PARAMS((char *command)); +extern int LYValidateOutput PARAMS((char * filename)); extern int is_url PARAMS((char *filename)); extern int number2arrows PARAMS((int number)); extern time_t LYmktime PARAMS((char *string, BOOL absolute)); diff --git a/src/LYrcFile.c b/src/LYrcFile.c index d2613946..c79b4727 100644 --- a/src/LYrcFile.c +++ b/src/LYrcFile.c @@ -766,7 +766,7 @@ PUBLIC int save_rc NOPARAMS # A value of \"default\" will yield the behavior of assuming\n\ # a monochrome terminal unless color capability is inferred at startup\n\ # based on the terminal type, or the -color command line switch is used, or\n\ -# the COLORTERM environment variable is set. The default behavior always is\n\ +# the COLORTERM environment variable is set. The default behavior always is\n\ # used in anonymous accounts or if the \"option_save\" restriction is set.\n\ # The effect of the saved value can be overridden via\n\ # the -color and -nocolor command line switches.\n\ @@ -878,7 +878,7 @@ PUBLIC int save_rc NOPARAMS fprintf(fp, gettext("\ # partial_thres specifies the number of lines Lynx should download and render\n\ # before we redraw the screen in Partial Display logic\n\ -# e.g. partial_thres=2\n\ +# e.g., partial_thres=2\n\ # would have Lynx redraw every 2 lines that it renders\n\ # partial_thres=-1 would use the entire screensize\n")); fprintf(fp, "partial_thres=%d\n\n", partial_threshold); diff --git a/src/UCAux.c b/src/UCAux.c index d10df1e8..bbe5321c 100644 --- a/src/UCAux.c +++ b/src/UCAux.c @@ -137,7 +137,7 @@ PUBLIC BOOL UCNeedNotTranslate ARGS2( ** ** Should be called once when a stage starts processing text (and the ** input and output charsets are known), or whenever one of input or -** output charsets has changed (e.g. by SGML.c stage after HTML.c stage +** output charsets has changed (e.g., by SGML.c stage after HTML.c stage ** has processed a META tag). ** The global flags (LYRawMode, HTPassEightBitRaw etc.) are currently ** not taken into account here (except for HTCJK, somewhat), it's still @@ -215,7 +215,7 @@ PUBLIC void UCSetTransParams ARGS5( ** Set up for all other charset combinations. ** The intm_ucs flag is set TRUE if the input ** charset is iso-8859-1 or UTF-8, or largely - ** equivalent to them, i.e. if we have UCS without + ** equivalent to them, i.e., if we have UCS without ** having to do a table translation. */ intm_ucs = (cs_in == LATIN1 || pT->decode_utf8 || diff --git a/src/UCdomap.c b/src/UCdomap.c index 2d49dc26..711b60a9 100644 --- a/src/UCdomap.c +++ b/src/UCdomap.c @@ -69,8 +69,6 @@ #include <mnem_suni.h> #endif /* NOTDEFINED */ -PUBLIC char *UC_TEMPcharset = 0; /* temporary in UCGetLYhndl_byMIME */ - /* * Some of the code below, and some of the comments, are left in for * historical reasons. Not all those tables below are currently @@ -1509,7 +1507,6 @@ PUBLIC int UCGetRawUniMode_byLYhndl ARGS1( PUBLIC int UCGetLYhndl_byMIME ARGS1( CONST char *, value) { -#define UC_MIMEcharset UC_TEMPcharset int i; int LYhndl = -1; @@ -1518,127 +1515,122 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1( return -1; } - StrAllocCopy(UC_MIMEcharset, value); - LYLowerCase(UC_MIMEcharset); - for (i = 0; (i < MAXCHARSETS && i < LYNumCharsets && LYchar_set_names[i]); i++) { if (LYCharSet_UC[i].MIMEname && - !strcmp(UC_MIMEcharset, LYCharSet_UC[i].MIMEname)) { + !strcasecomp(value, LYCharSet_UC[i].MIMEname)) { return i; } } - { + + /* + * Not yet found, try synonyms. - FM + */ + if (!strcasecomp(value, "unicode-1-1-utf-8") || + !strcasecomp(value, "utf8")) { /* - * Not yet found, try synonyms. - FM + * Treat these as synonyms for the IANA registered name. - FM */ - if (!strcmp(UC_MIMEcharset, "unicode-1-1-utf-8") || - !strcmp(UC_MIMEcharset, "utf8")) { - /* - * Treat these as synonyms for the IANA registered name. - FM - */ - return UCGetLYhndl_byMIME("utf-8"); - } - if (!strncmp(UC_MIMEcharset, "iso-2022-jp", 11) || - !strcmp(UC_MIMEcharset, "x-euc-jp")) { - return UCGetLYhndl_byMIME("euc-jp"); - } - if (!strcmp(UC_MIMEcharset, "x-shift-jis")) { - return UCGetLYhndl_byMIME("shift_jis"); - } - if (!strcmp(UC_MIMEcharset, "iso-2022-kr")) { - return UCGetLYhndl_byMIME("euc-kr"); - } - if (!strcmp(UC_MIMEcharset, "gb2312") || - !strncmp(UC_MIMEcharset, "cn-gb", 5) || - !strcmp(UC_MIMEcharset, "iso-2022-cn")) { - return UCGetLYhndl_byMIME("euc-cn"); - } - if (!strcmp(UC_MIMEcharset, "cn-big5")) { - return UCGetLYhndl_byMIME("big5"); - } - if (!strcmp(UC_MIMEcharset, "x-mac-roman") || - !strcmp(UC_MIMEcharset, "mac-roman")) { - return UCGetLYhndl_byMIME("macintosh"); - } - if (!strcmp(UC_MIMEcharset, "x-next") || - !strcmp(UC_MIMEcharset, "nextstep") || - !strcmp(UC_MIMEcharset, "x-nextstep")) { - return UCGetLYhndl_byMIME("next"); - } - if (!strcmp(UC_MIMEcharset, "iso-8859-1-windows-3.1-latin-1") || - !strcmp(UC_MIMEcharset, "cp1252") || - !strcmp(UC_MIMEcharset, "cp-1252") || - !strcmp(UC_MIMEcharset, "ibm1252") || - !strcmp(UC_MIMEcharset, "iso-8859-1-windows-3.0-latin-1")) { - /* - * Treat these as synonyms for windows-1252, which is more - * commonly used than the IANA registered name. - FM - */ - return UCGetLYhndl_byMIME("windows-1252"); - } - if (!strcmp(UC_MIMEcharset, "iso-8859-2-windows-latin-2") || - !strcmp(UC_MIMEcharset, "cp1250") || - !strcmp(UC_MIMEcharset, "cp-1250") || - !strcmp(UC_MIMEcharset, "ibm1250")) { - /* - * Treat these as synonyms for windows-1250. - FM - */ - return UCGetLYhndl_byMIME("windows-1250"); - } - if ((!strncmp(UC_MIMEcharset, "ibm", 3) || - !strncmp(UC_MIMEcharset, "cp-", 3)) && - isdigit((unsigned char)UC_MIMEcharset[3]) && - isdigit((unsigned char)UC_MIMEcharset[4]) && - isdigit((unsigned char)UC_MIMEcharset[5])) { - /* - * For "ibmNNN<...>" or "cp-NNN", try "cpNNN<...>" - * if not yet found. - KW & FM - */ - char * cptmp = NULL; - - StrAllocCopy(cptmp, (UC_MIMEcharset + 1)); - cptmp[0] = 'c'; - cptmp[1] = 'p'; - if ((LYhndl = UCGetLYhndl_byMIME(cptmp)) >= 0) { - FREE(cptmp); - return LYhndl; - } - /* - * Try windows-NNN<...> if not yet found. - FM - */ - StrAllocCopy(cptmp, "windows-"); - StrAllocCat(cptmp, (UC_MIMEcharset + 3)); - LYhndl = UCGetLYhndl_byMIME(cptmp); - FREE(cptmp); - return LYhndl; - } - if (!strncmp(UC_MIMEcharset, "windows-", 8) && - isdigit((unsigned char)UC_MIMEcharset[8]) && - isdigit((unsigned char)UC_MIMEcharset[9]) && - isdigit((unsigned char)UC_MIMEcharset[10])) { - /* - * For "windows-NNN<...>", try "cpNNN<...>" - FM - */ - char * cptmp = NULL; + return UCGetLYhndl_byMIME("utf-8"); + } + if (!strncasecomp(value, "iso-2022-jp", 11) || + !strcasecomp(value, "x-euc-jp")) { + return UCGetLYhndl_byMIME("euc-jp"); + } + if (!strcasecomp(value, "x-shift-jis")) { + return UCGetLYhndl_byMIME("shift_jis"); + } + if (!strcasecomp(value, "iso-2022-kr")) { + return UCGetLYhndl_byMIME("euc-kr"); + } + if (!strcasecomp(value, "gb2312") || + !strncasecomp(value, "cn-gb", 5) || + !strcasecomp(value, "iso-2022-cn")) { + return UCGetLYhndl_byMIME("euc-cn"); + } + if (!strcasecomp(value, "cn-big5")) { + return UCGetLYhndl_byMIME("big5"); + } + if (!strcasecomp(value, "x-mac-roman") || + !strcasecomp(value, "mac-roman")) { + return UCGetLYhndl_byMIME("macintosh"); + } + if (!strcasecomp(value, "x-next") || + !strcasecomp(value, "nextstep") || + !strcasecomp(value, "x-nextstep")) { + return UCGetLYhndl_byMIME("next"); + } + if (!strcasecomp(value, "iso-8859-1-windows-3.1-latin-1") || + !strcasecomp(value, "cp1252") || + !strcasecomp(value, "cp-1252") || + !strcasecomp(value, "ibm1252") || + !strcasecomp(value, "iso-8859-1-windows-3.0-latin-1")) { + /* + * Treat these as synonyms for windows-1252, which is more + * commonly used than the IANA registered name. - FM + */ + return UCGetLYhndl_byMIME("windows-1252"); + } + if (!strcasecomp(value, "iso-8859-2-windows-latin-2") || + !strcasecomp(value, "cp1250") || + !strcasecomp(value, "cp-1250") || + !strcasecomp(value, "ibm1250")) { + /* + * Treat these as synonyms for windows-1250. - FM + */ + return UCGetLYhndl_byMIME("windows-1250"); + } + if ((!strncasecomp(value, "ibm", 3) || + !strncasecomp(value, "cp-", 3)) && + isdigit((unsigned char)value[3]) && + isdigit((unsigned char)value[4]) && + isdigit((unsigned char)value[5])) { + /* + * For "ibmNNN<...>" or "cp-NNN", try "cpNNN<...>" + * if not yet found. - KW & FM + */ + char * cptmp = NULL; - StrAllocCopy(cptmp, (UC_MIMEcharset + 6)); - cptmp[0] = 'c'; - cptmp[1] = 'p'; - LYhndl = UCGetLYhndl_byMIME(cptmp); + StrAllocCopy(cptmp, (value + 1)); + cptmp[0] = 'c'; + cptmp[1] = 'p'; + if ((LYhndl = UCGetLYhndl_byMIME(cptmp)) >= 0) { FREE(cptmp); return LYhndl; } - if (!strcmp(UC_MIMEcharset, "koi-8")) { /* accentsoft bugosity */ - return UCGetLYhndl_byMIME("koi8-r"); - } + /* + * Try windows-NNN<...> if not yet found. - FM + */ + StrAllocCopy(cptmp, "windows-"); + StrAllocCat(cptmp, (value + 3)); + LYhndl = UCGetLYhndl_byMIME(cptmp); + FREE(cptmp); + return LYhndl; + } + if (!strncasecomp(value, "windows-", 8) && + isdigit((unsigned char)value[8]) && + isdigit((unsigned char)value[9]) && + isdigit((unsigned char)value[10])) { + /* + * For "windows-NNN<...>", try "cpNNN<...>" - FM + */ + char * cptmp = NULL; + + StrAllocCopy(cptmp, (value + 6)); + cptmp[0] = 'c'; + cptmp[1] = 'p'; + LYhndl = UCGetLYhndl_byMIME(cptmp); + FREE(cptmp); + return LYhndl; + } + if (!strcasecomp(value, "koi-8")) { /* accentsoft bugosity */ + return UCGetLYhndl_byMIME("koi8-r"); } /* no more synonyms if come here... */ CTRACE(tfp, "UCGetLYhndl_byMIME: unrecognized MIME name \"%s\"\n", value); return -1; /* returns -1 if no charset found by that MIME name */ -#undef UC_MIMEcharset } /* @@ -1873,7 +1865,7 @@ PRIVATE int UC_Register_with_LYCharSets ARGS4( if (LYhndl < 0) { /* not found */ found = 0; if (LYNumCharsets >= MAXCHARSETS) { - CTRACE(tfp, "UC_Register_with_LYCharSets: Too many. Ignoring %s/%s.", + CTRACE(tfp, "UC_Register_with_LYCharSets: Too many. Ignoring %s/%s.", UC_MIMEcharset, UC_LYNXcharset); return -1; } @@ -1958,7 +1950,7 @@ PUBLIC void UC_Charset_Setup ARGS9( s = found; } else { if (UCNumCharsets >= MAXCHARSETS) { - CTRACE(tfp, "UC_Charset_Setup: Too many. Ignoring %s/%s.", + CTRACE(tfp, "UC_Charset_Setup: Too many. Ignoring %s/%s.", UC_MIMEcharset, UC_LYNXcharset); return; } diff --git a/src/chrtrans/README.format b/src/chrtrans/README.format index 4b425a00..3d269c57 100644 --- a/src/chrtrans/README.format +++ b/src/chrtrans/README.format @@ -127,11 +127,11 @@ Motivation: - The format is independent of details of other parts of the Lynx code, unlike the "old" LYCharsets.c mechanism. The tables don't have to - be changed in synch when e.g. new entities are added to the entities.h. + be changed in synch when e.g., new entities are added to the entities.h. Note: the Default "7bit approximation" table can be used for case-insensitive search for non-ascii letters if no upper/lower case -information provided by other means, e.g. locale. It is assumed that +information provided by other means, e.g., locale. It is assumed that upper/lower case letters have their "7bit approximation" images in def7_uni.tbl matched case-insensitively. diff --git a/src/chrtrans/makefile.in b/src/chrtrans/makefile.in index 8173b31e..285e0566 100644 --- a/src/chrtrans/makefile.in +++ b/src/chrtrans/makefile.in @@ -4,7 +4,7 @@ # This may not yet work for the general case. # Only some dependencies included. # -SHELL = /bin/sh +SHELL = @CONFIG_SHELL@ x = @PROG_EXT@ @@ -33,6 +33,7 @@ CPP_OPTS = @DEFS@ @CPPFLAGS@ \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/chrtrans \ -I$(top_srcdir)/$(WWWINC) \ + -I$(top_srcdir)/ \ $(SITE_DEFS) CC_OPTS = $(CPP_OPTS) $(CFLAGS) diff --git a/src/makefile.in b/src/makefile.in index 87ef8437..2b7c5d46 100644 --- a/src/makefile.in +++ b/src/makefile.in @@ -1,6 +1,6 @@ # template-makefile for Lynx src directory -SHELL = /bin/sh +SHELL = @CONFIG_SHELL@ x = @PROG_EXT@ @@ -14,7 +14,7 @@ VPATH = $(srcdir) top_builddir = .. # see po/makefile -localedir = $(prefix)/@DATADIRNAME@/locale +localedir = @NLS_DATADIR@/locale # Symbols which the configure script can set in each makefile: CC = @CC@ diff --git a/test/sgml.html b/test/sgml.html index 57f55a03..f8cf09ee 100644 --- a/test/sgml.html +++ b/test/sgml.html @@ -46,7 +46,7 @@ You should see visible character if your display character set support it or some substitution string picked up from src/chrtrans/def7_uni.tbl. If you see &somename; - this name is not implemented yet, you may search for &. (Sorry, ISOgrk4 which hold a dot in its name -seems to be nonvisible for most browsers. Keep in mind that +seems to be nonvisible for most browsers. Keep in mind that this table is much wider than in HTML 4.0 draft). Leonid Pauzner. diff --git a/userdefs.h b/userdefs.h index 2245be19..5c3db127 100644 --- a/userdefs.h +++ b/userdefs.h @@ -666,7 +666,7 @@ * as the preferred language. If available, the document will be * transmitted in that language. This definition can be overridden via * lynx.cfg. Users also can change it via the 'o'ptions menu and save - * that preference in their RC file. This may be a comma-separated list + * that preference in their RC file. This may be a comma-separated list * of languages in decreasing preference. */ #define PREFERRED_LANGUAGE "en" @@ -681,7 +681,7 @@ * values are always assumed by default. * If a file in that character set is available, the server will send it. * If no Accept-Charset header is present, the default is that any - * character set is acceptable. If an Accept-Charset header is present, + * character set is acceptable. If an Accept-Charset header is present, * and if the server cannot send a response which is acceptable * according to the Accept-Charset header, then the server SHOULD send * an error response with the 406 (not acceptable) status code, though @@ -881,10 +881,11 @@ #define SHOW_CURSOR FALSE /****************************** -* VERBOSE_IMAGES controls whether or not Lynx replaces the [LINK], [INLINE] and -* [IMAGE] comments (for images without ALT) with filenames of these images. -* This is extremely useful because now we can determine immediately what images -* are just decorations (button.gif, line.gif) and what images are important. +* VERBOSE_IMAGES controls whether or not Lynx replaces the [LINK], [INLINE] +* and [IMAGE] comments (for images without ALT) with filenames of these +* images. This is extremely useful because now we can determine immediately +* what images are just decorations (button.gif, line.gif) and what images are +* important. * * The default defined here can be changed in lynx.cfg. */ @@ -980,17 +981,17 @@ /********** * UNIX: * ===== - * CGI script support. Defining LYNXCGI_LINKS allows you to use the + * CGI script support. Defining LYNXCGI_LINKS allows you to use the * * lynxcgi:path * * URL which allows lynx to access a cgi script directly without the need for - * a http daemon. Redirection or mime support is not supported but just about - * everything else is. If the path is not an executable file then the URL is - * rewritten as file://localhost and passed to the file loader. This means that - * if your http:html files are currently set up to use relative addressing, you - * should be able to fire up your main page with lynxcgi:path and everything - * should work as if you were talking to the http daemon. + * a http daemon. Redirection or mime support is not supported but just about + * everything else is. If the path is not an executable file then the URL is + * rewritten as file://localhost and passed to the file loader. This means + * that if your http:html files are currently set up to use relative + * addressing, you should be able to fire up your main page with lynxcgi:path + * and everything should work as if you were talking to the http daemon. * * Note that TRUSTED_LYNXCGI directives must be defined in your lynx.cfg file * if you wish to place restrictions on source documents and/or paths for @@ -1213,15 +1214,15 @@ #define LYNX_NAME "Lynx" /* The strange-looking comments on the next line tell PRCS to replace - * the version definition with the Project Version on checkout. Just + * the version definition with the Project Version on checkout. Just * ignore it. - kw */ /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */ -#define LYNX_VERSION "2.8.2dev.8" +#define LYNX_VERSION "2.8.2dev.9" #define LYNX_WWW_HOME "http://lynx.browser.org/" #define LYNX_WWW_DIST "http://www.slcc.edu/lynx/current/" #define LYNX_RELEASE FALSE /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */ -#define LYNX_DATE "Thu, 03 Dec 1998 11:28:20 -0700" +#define LYNX_DATE "Sat, 12 Dec 1998 21:10:36 -0700" #define LYNX_DATE_OFF 5 /* truncate the automatically-generated date */ #define LYNX_DATE_LEN 11 /* truncate the automatically-generated date */ #define LYNX_RELEASE_DATE "1998" @@ -1260,7 +1261,8 @@ ** Use the VMS port of gzip for uncompressing both .Z and .gz files. */ #define UNCOMPRESS_PATH "gzip -d" -#define GZIP_PATH "gzip" +#define GZIP_PATH "gzip" +#define BZIP2_PATH "bzip2" #else @@ -1270,7 +1272,7 @@ #define SYSTEM_MAIL_FLAGS "-t -oi" /* ** Following executables may be sought from your PATH at run-time. -** To get those programs look for GNU-port stuff elsewhere. Currently, +** To get those programs look for GNU-port stuff elsewhere. Currently, ** if compiled with -DUSE_ZLIB and without -DDIRED_SUPPORT (default), ** you need only "cp.exe" from the list below. ** @@ -1282,6 +1284,7 @@ #define UUDECODE_PATH "uudecode" #define ZCAT_PATH "zcat" #define GZIP_PATH "gzip" +#define BZIP2_PATH "bzip2" #define INSTALL_PATH "install" #define TAR_PATH "tar" #define TOUCH_PATH "touch" |