bug-gzip
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gzip 1.5 v. VMS


From: Steven M. Schweda
Subject: Gzip 1.5 v. VMS
Date: Wed, 11 Jul 2012 16:03:10 -0500 (CDT)

> 2011-08-10  Jim Meyering  <address@hidden>
> 
>         maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
>         and all files therein.  This was proposed months prior, and no
>         one objected.

   Whispering in a football stadium may not be the best way to get a
message out to baseball fans.  If you're interested in an attempt at VMS
support for gzip 1.5, then you might be interested in some material
here:

      http://antinode.info/dec/sw/gzip.html

In particular, some patches for source files:

      http://antinode.info/ftp/gzip/gzip-1_5a_vms/gzip-1_5.du

For a complete source kit which includes a fresh "vms/" directory:

      http://antinode.info/ftp/gzip/gzip-1_5a_vms/gzip-1_5a_src.zip

   Recent evidence suggests that the VMS-specific files can't be trusted
from one gzip version to the next, so it may not make much sense to
include them in the gzip kit unless someone plans to get them updated as
the main kit changes.

   Also, I suspect that it's pointless to mention it, but dragging what
looks to a casual observer to be a big pile of GNUlib into a program
like this does not increase its portability to a system like VMS.  Some
of the earlier source changes suggested above may now be pointless, as
they were intended to accommodate old VMS compilers, while some of the
other, newer code may have no real chance of getting built by those old
compilers.

   Items like these in "lib/config.hin" look helpful:

/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT

/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO

but there are places in the code which fail to honor these HAVE_xxx
macros.  I've added work-arounds to "vms/config.h_vms".

   Remaining compiler diagnostics look like these:

CC /decc /prefix =  (all, except = (getopt, gettimeofday, optarg, opterr, optind
, optopt))  /include = ([], [.vms], [.lib])    /object = [.ALPHAL]GZIP.OBJ /defi
ne = (VMS, HAVE_CONFIG_H , _LARGEFILE ) []GZIP.C

  return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec;
.........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "a.tv_sec" is bei
ng compared with a relational operator to a constant whose value is not greater
than zero.  This might not be what you intended.
at line number 65 in file ALP$DKC0:[UTILITY.SOURCE.GZIP.gzip-1_5a_vms.lib]timesp
ec.h;1

   Around here, by default (<decc$types.h>):
typedef unsigned long int __time_t;

CC /decc /prefix =  (all, except = (getopt, gettimeofday, optarg, opterr, optind
, optopt))  /include = ([], [.vms], [.lib])    /object = [.ALPHAL]CLOSEIN.OBJ /d
efine = (VMS, HAVE_CONFIG_H , _LARGEFILE ) [.LIB]CLOSEIN.C

#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
.....^
%CC-I-EXPANDEDDEFINED, Macro expansion includes the token "defined", which will
be treated as an operator.  This might not be portable.
at line number 190 in file ALP$DKC0:[UTILITY.SOURCE.GZIP.gzip-1_5a_vms.lib]gette
xt.h;1

   If you have any questions or suggestions (or complaints), please let
me know.  (I'm not subscribed to address@hidden)

------------------------------------------------------------------------

   Steven M. Schweda               address@hidden
   382 South Warwick Street        (+1) 651-699-9818
   Saint Paul  MN  55105-2547



reply via email to

[Prev in Thread] Current Thread [Next in Thread]