VMS patch set (extensive) - first try
[email protected] (Steven M. Schweda)
| Newsgroups | gmane.comp.web.wget.patches |
|---|---|
| Message-ID | <[email protected]> |
This is a first try at a set of VMS-related patches, based upon a CVS
kit from 11 April. All the relevant files should be available at or
near:
http://antinode.org/ftp/wget/patch1/
ftp://antinode.org/wget/patch1/
Typically, "XXX.c" (modified), "XXX.c_orig" (original), and
"XXX.c_patch" (result of "diff -c").
The files are served from a non-case-preserving file system, so, for
example, "Makefile.in" will be seen as "makefile.in" or "MAKEFILE.IN",
depending, and so on. (Also many less-capable FTP clients do not cope
well with a VMS FTP server.)
A brief summary of the changes follows (also available from the
server as "patch_notes.txt"). Many of the code changes are conditional
and affect only VMS systems, but some (particularly the extensive
changes related to dealing with a VMS FTP server) are universal.
I assume that there will be some problems, questions, complaints, and
so on. Please feel free to describe, ask, complain, and so on.
------------------------------------------------------------------------
New, VMS-specific Files:
vms/ New directory for VMS-specific files.
vms/collect_deps.com Helper script for
"vms/descrip_mkdeps.mms"
vms/config.h_vms Source for VMS-specific "src/config.h".
vms/descrip.mms Main MMS/MMK description ("make") file.
vms/descrip_config.mms Secondary MMS/MMK description file for
"src/config.h".
vms/descrip_deps.mms Secondary MMS/MMK description file for
source dependencies. (Generated using
"vms/descrip_mkdeps.mms", but not all
users will be able to do it, so it must
be supplied in the kit.)
vms/descrip_mkdeps.mms MMS/MMK description file for source
dependency generation.
vms/descrip_src.mms Secondary MMS/MMK description file for
all C files.
vms/vms-wget.com Script to run MMS/MMK to build Wget.
vms/wget.hlp Simple Wget HELP source file.
vms/wget.opt Primary link options file.
vms/wget_multinet.opt Secondary link options file for
MultiNet users not using TCPIP
emulation.
vms/wget_ssl.opt Secondary link options file for OpenSSl.
vms/wget_ssl_hp.opt Secondary link options file for HP SSL.
------------------------------------------------------------------------
New and Changed General Files:
src/connect.c VMS-related header files.
src/convert.c Changed hard-coded ".orig" file name suffix
("-K" = "--backup-converted" option) to macro
ORIG_SFX. (See "src/wget.h".)
src/cookies.c Fixed %CC-I-QUESTCOMPARE1 with a type cast.
src/ftp-ls.c Moved some extern variable declarations to
"main.h", and added a #include for it.
Fixed %CC-W-OUTTYPELEN from attempt to fprintf()
an int (u->port) using a "%hu" conversion
specifier. It now uses "%d".
Changed to open the ".listing" file in text
mode, not binary.
Changed VMS FTP DIR-parsing code to tolerate
more variability (leading blank lines), and to
remove ODS5 extended file name escape characers
("^"). Also added conditional code (disabled by
default) to retain VMS file version numbers.
Added support for the environment variable
"WGET_TIMEZONE_DIFFERENTIAL" for file time
adjustment (as in Wget 1.5.3h for VMS).
Added some code conditionality to allow easier
re-use in Wput.
src/ftp.c Changed to simplify destination file names for a
VMS ODS2 file system.
Changed default file attributes for binary FTP
destination files on VMS (from Stream_LF to
fixed-512).
Changed file opens to allow non-binary
destination files on VMS for ASCII transfers.
Changed file open details on VMS for faster I/O.
Changed to eliminate a spurious -debug message
("Unrecognized permissions for <directory>").
Changed to eliminate spurious complaints when
recursive downloads hit an empty directory.
Changed to fix various problems dealing with a
VMS FTP server.
Changed to fix various problems with FTP and
time-stamping ("-N").
Changed some misleading diagnostic messages.
src/gen_sslfunc.c Changed ssl_connect() to ssl_connect_wget() to
avoid conflict with SSL_connect() on VMS (where
the linker is not case-sensitive by default).
src/gen_sslfunc.h Changed ssl_connect() to ssl_connect_wget().
(See "src/gen_sslfunc.c".)
src/host.c VMS-related header files.
Added conditionality to avoid using macro NS_xxx
names in an enum.
src/host.h VMS-related header files.
src/http.c VMS-related header files.
Moved some extern variable declarations to
"main.h", and added a #include for it.
Changed extern version_string to macro
VERSION_STRING. (See "src/version.h").
Changed ssl_connect() to ssl_connect_wget().
(See "src/gen_sslfunc.c".)
Fixed multiple %CC-I-QUESTCOMPARE1 with type
casts.
Added code for VMS to try using the logical name
"SYS$TIMEZONE_DIFFERENTIAL" for UTC-to-local
time conversions if "gmtime()" fails.
Added code for VMS to use
SYS$TIMEZONE_DAYLIGHT_SAVING in some local-UTC
time conversions.
Changed to use an OS-specific file name suffix,
"_orig" (ORIG_SFX) for VMS, rather than a
hard-coded ".orig". (See "src/wget.h".)
src/init.c Moved some extern variable declarations to
"main.h", and added a #include for it.
Changed to use "SYS$LOGIN:.wgetrc" as the name
of the initialization file on VMS.
Changed to open ".wgetrc" in text mode, not
binary.
Added "ftpstmlf" command ("--ftp-stmlf" option)
for VMS.
src/main.c Added "--ftp-stmlf" option ("ftpstmlf" command)
for VMS.
Changed extern version_string to macro
VERSION_STRING (in new version.h).
Changed the program identification debug message
("built on OS_TYPE" instead of "on OS_TYPE").
Changed file open details on VMS for faster I/O.
Changed (on VMS) to set ODS5 flag if the
download destination is on an ODS5 file system.
src/main.h New. Collected some formerly loose extern
declarations.
src/Makefile_in Converted from using "src/version.c" to
"src/version.h".
src/netrc.c Changed to use "SYS$LOGIN:.netrc" as the name of
the user name and password file on VMS.
src/options.h Added options structure member, ftp_stmlf, for
the "--ftp-stmlf" option ("ftpstmlf" command)
for VMS.
src/recur.c Moved some extern variable declarations to
"main.h", and added a #include for it.
src/retr.c Moved some extern variable declarations to
"main.h", and added a #include for it.
Added code to accomodate ASCII FTP transfers.
(See "src/ftp.c".)
src/retr.h Added a new flag bit, rb_ftp_ascii, for ASCII
FTP transfers. (See "src/retr.c".)
src/url.c Added code for VMS to simplify file names for
ODS2 file system destinations.
src/utils.c Added VMS-specific code to work around the lack
of "fork()".
Fixed multiple %CC-I-QUESTCOMPARE1 with type
casts.
Changed for VMS to assist ODS2 name reversion.
Changed to use a macro, UNIQ_SEP, instead of a
hard-coded ".", as the separator character when
adding a decimal "nnn" suffix to a file name to
make it unique. Not defining UNIQ_SEP, as on
VMS, now disables adding the suffix. (See
"src/wget.h".)
Changed unique_name() for VMS to do nothing, as
file versioning does a better job with no
effort.
Changed file opens in fopen_excl() to make the
default file attributes for binary FTP
destination files on VMS (from Stream_LF to
fixed-512). (See also "src/ftp.c".)
Changed file open details on VMS for faster I/O.
src/utils.h Added extern char_prop[] look-up table (for
"src/utils.c").
src/version.c Removed. Replaced by "src/version.h".
src/version.h Replacement for "src/version.c".
src/version.h_template New. Template for "src/version.h". (See
"util/dist-wget".)
src/wget.h Added a definition of an OS-specific file name
suffix, ORIG_SFX ("_orig", for VMS), to be used
instead of a hard-coded ".orig". (See
"src/convert.c", "src/http.c".)
Added a definition of an OS-specific separator
character, UNIQ_SEP, for the decimal "nnn"
version number appended to a file name to make
it unique. (See "src/utils.c".)
util/dist-wget Changed to process "src/version.h" instead of
"src/version.c".
------------------------------------------------------------------------
Steven M. Schweda (+1) 651-699-9818
382 South Warwick Street sms@antinode-org
Saint Paul MN 55105-2547