gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, new-vms, updated. gawk-4.1.0-145-g9beee9


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, new-vms, updated. gawk-4.1.0-145-g9beee97
Date: Mon, 23 Dec 2013 19:54:43 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, new-vms has been updated
       via  9beee977ccb0703656504c070ab85e54537f8f95 (commit)
      from  d3e8016ffd4de45fb8ea5a76a1aa2048f3facaa9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=9beee977ccb0703656504c070ab85e54537f8f95

commit 9beee977ccb0703656504c070ab85e54537f8f95
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Dec 23 21:53:37 2013 +0200

    More doc updates, fix initialization on VAX/VMS.

diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index a9e95b7..ed2a86b 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,12 +1,12 @@
-2013-12-20        John E. Malmberg     <address@hidden>
+2013-12-23         John E. Malmberg    <address@hidden>
 
        * README.VMS: Document decoding Gawk VMS exit codes.
 
-2013-12-16        John E. Malmberg     <address@hidden>
+2013-12-16         John E. Malmberg    <address@hidden>
 
        * README.VMS: Further updates.
 
-2013-12-05        John E. Malmberg     <address@hidden>
+2013-12-05         John E. Malmberg    <address@hidden>
 
        * README.VMS: updated with current build information.
 
diff --git a/README_d/README.VMS b/README_d/README.VMS
index 3689ad8..d689aa3 100644
--- a/README_d/README.VMS
+++ b/README_d/README.VMS
@@ -157,3 +157,14 @@ Older versions of Gawk incorrectly mostly passed through 
the Gawk
 status values instead of encoding them.  DCL scripts that were checking
 the severity values will probably not need changing.  DCL scripts that
 were checking the exact exit status will need an update.
+
+VAX/VMS floating point uses unbiased rounding.  This is generaly incompatible
+with the expected behavior.  The ofmta test in the test directory will
+fail on VAX.
+
+Gawk needs the SYS$TIMEZONE_RULE or TZ logical name to be defined or it
+will output times in GMT.
+
+The vmstest.com script needs SYS$TIMEZONE_NAME to be defined to match
+the SYS$TIMEZONE_RULE.  Older versions of VMS do not define these logical
+names.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 82150f3..8c58e5d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,9 +1,13 @@
+2013-12-23         John E. Malmberg      <address@hidden>
+
+       * gawktexi.in: Document the VMS exit status encoding.
+
 2013-12-21         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in (Additional Configuration Options): Document
        the --disable-extensions option.
 
-2013-12-16        John E. Malmberg     <address@hidden>
+2013-12-16         John E. Malmberg      <address@hidden>
 
        * gawktexi.in: Updates to VMS sections.
 
diff --git a/doc/gawk.info b/doc/gawk.info
index 2589f0b..4b1352f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -26255,7 +26255,7 @@ B.3.2.1 Compiling `gawk' on VMS
 
 To compile `gawk' under VMS, there is a `DCL' command procedure that
 issues all the necessary `CC' and `LINK' commands. There is also a
-`Makefile' for use with the `MMS' or `MMK' utility.  From the source
+`Makefile' for use with the `MMS' and `MMK' utilities.  From the source
 directory, use either:
 
      $ @[.vms]vmsbuild.com
@@ -26268,8 +26268,8 @@ or:
 
      $ MMK/DESCRIPTION=[.vms]descrip.mms gawk
 
-   `MMK' is an open source freeware near clone of `MMS' and can better
-handle `ODS-5' volumes with upper- and lower-case filenames.  `MMK' is
+   `MMK' is an open source, free, near-clone of `MMS' and can better
+handle `ODS-5' volumes with upper- and lowercase filenames.  `MMK' is
 available from `https://github.com/endlesssoftware/mmk'.
 
    With `ODS-5' volumes and extended parsing enabled, the case of the
@@ -26301,10 +26301,11 @@ B.3.2.2 Compiling `gawk' Dynamic Extensions on VMS
 ..................................................
 
 Dynamic extensions need to be compiled with the same compiler options
-for floating point, pointer size, and symbol name handling as `gawk'.
-Alpha and Itanium should use IEEE floating point.  The pointer size is
-32 bits, and the symbol name handling is to be exact case with CRC
-shortening for symbols longer than 32 bits.
+for floating point, pointer size, and symbol name handling as were used
+to compile `gawk' itself.  Alpha and Itanium should use IEEE floating
+point.  The pointer size is 32 bits, and the symbol name handling
+should be exact case with CRC shortening for symbols longer than 32
+bits.
 
    For Alpha and Itanium:
 
@@ -26404,6 +26405,35 @@ If any other dash-type options (or multiple parameters 
such as data
 files to process) are present, there is no ambiguity and `--' can be
 omitted.
 
+   The `exit' value is a Unix-style value and is encoded to a VMS exit
+status value when the program exits.
+
+   The VMS severity bits will be set based on the `exit' value.  A
+failure is indicated by 1 and VMS sets the `ERROR' status.  A fatal
+error is indicated by 2 and VMS will set the `FATAL' status.  All other
+values will have the `SUCCESS' status.  The exit value is encoded to
+comply with VMS coding standards and will have the `C_FACILITY_NO' of
+`0x350000' with the constant `0xA000' added to the number shifted over
+by 3 bits to make room for the severity codes.
+
+   To extract the actual `gawk' exit code from the VMS status use:
+
+     unix_status = (vms_status .and. &x7f8) / 8
+
+A C program that uses `exec()' to call `gawk' will get the original
+Unix-style exit value.
+
+   Older versions of `gawk' treated a Unix exit code 0 as 1, a failure
+as 2, a fatal error as 4, and passed all the other numbers through.
+This violated the VMS exit status coding requirements.
+
+   VAX/VMS floating point uses unbiased rounding. *Note Round
+Function::.
+
+   VMS reports time values in GMT unless one of the `SYS$TIMEZONE_RULE'
+or `TZ' logical names is set.  Older versions of VMS, such as VAX/VMS
+7.3 do not set these logical names.
+
    The default search path, when looking for `awk' program files
 specified by the `-f' option, is `"SYS$DISK:[],AWK_LIBRARY:"'.  The
 logical name `AWKPATH' can be used to override this default.  The format
@@ -26420,7 +26450,7 @@ B.3.2.5 The VMS GNV Project
 The VMS GNV package provides a build environment similar to POSIX with
 ports of a collection of open source tools.  The `gawk' found in the GNV
 base kit is an older port.  Currently the GNV project is being
-reorganized to be individual PCSI packages for each component.  See
+reorganized to supply individual PCSI packages for each component.  See
 `https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'.
 
    The normal build procedure for `gawk' produces a program that is
@@ -30577,6 +30607,7 @@ Index
 * exclamation point (!), !~ operator:    Regexp Usage.        (line  19)
 * exit statement:                        Exit Statement.      (line   6)
 * exit status, of gawk:                  Exit Status.         (line   6)
+* exit status, of VMS:                   VMS Running.         (line  29)
 * exp() function:                        Numeric Functions.   (line  18)
 * expand utility:                        Very Simple.         (line  69)
 * Expat XML parser library:              gawkextlib.          (line  33)
@@ -30726,6 +30757,7 @@ Index
                                                               (line   6)
 * floating-point, numbers <1>:           Unexpected Results.  (line   6)
 * floating-point, numbers:               General Arithmetic.  (line   6)
+* floating-point, VAX/VMS:               VMS Running.         (line  51)
 * fnmatch extension function:            Extension Sample Fnmatch.
                                                               (line   6)
 * FNR variable <1>:                      Auto-set.            (line 103)
@@ -31805,13 +31837,13 @@ Index
 * Schorr, Andrew:                        Acknowledgments.     (line  60)
 * Schreiber, Bert:                       Acknowledgments.     (line  38)
 * Schreiber, Rita:                       Acknowledgments.     (line  38)
-* search paths <1>:                      VMS Running.         (line  29)
+* search paths <1>:                      VMS Running.         (line  58)
 * search paths <2>:                      PC Using.            (line  11)
 * search paths <3>:                      Igawk Program.       (line 368)
 * search paths <4>:                      AWKLIBPATH Variable. (line   6)
 * search paths:                          AWKPATH Variable.    (line   6)
 * search paths, for shared libraries:    AWKLIBPATH Variable. (line   6)
-* search paths, for source files <1>:    VMS Running.         (line  29)
+* search paths, for source files <1>:    VMS Running.         (line  58)
 * search paths, for source files <2>:    PC Using.            (line  11)
 * search paths, for source files <3>:    Igawk Program.       (line 368)
 * search paths, for source files:        AWKPATH Variable.    (line   6)
@@ -32748,41 +32780,41 @@ Node: VMS Installation1054207
 Node: VMS Compilation1054971
 Ref: VMS Compilation-Footnote-11056586
 Node: VMS Dynamic Extensions1056644
-Node: VMS Installation Details1057665
-Node: VMS Running1059499
-Node: VMS GNV1061101
-Node: VMS Old Gawk1061806
-Node: Bugs1062276
-Node: Other Versions1066132
-Node: Notes1072216
-Node: Compatibility Mode1073016
-Node: Additions1073799
-Node: Accessing The Source1074726
-Node: Adding Code1076166
-Node: New Ports1082211
-Node: Derived Files1086346
-Ref: Derived Files-Footnote-11091667
-Ref: Derived Files-Footnote-21091701
-Ref: Derived Files-Footnote-31092301
-Node: Future Extensions1092399
-Node: Implementation Limitations1092976
-Node: Extension Design1094228
-Node: Old Extension Problems1095382
-Ref: Old Extension Problems-Footnote-11096890
-Node: Extension New Mechanism Goals1096947
-Ref: Extension New Mechanism Goals-Footnote-11100312
-Node: Extension Other Design Decisions1100498
-Node: Extension Future Growth1102604
-Node: Old Extension Mechanism1103440
-Node: Basic Concepts1105180
-Node: Basic High Level1105861
-Ref: figure-general-flow1106132
-Ref: figure-process-flow1106731
-Ref: Basic High Level-Footnote-11109960
-Node: Basic Data Typing1110145
-Node: Glossary1113500
-Node: Copying1138962
-Node: GNU Free Documentation License1176519
-Node: Index1201656
+Node: VMS Installation Details1057695
+Node: VMS Running1059529
+Node: VMS GNV1062363
+Node: VMS Old Gawk1063072
+Node: Bugs1063542
+Node: Other Versions1067398
+Node: Notes1073482
+Node: Compatibility Mode1074282
+Node: Additions1075065
+Node: Accessing The Source1075992
+Node: Adding Code1077432
+Node: New Ports1083477
+Node: Derived Files1087612
+Ref: Derived Files-Footnote-11092933
+Ref: Derived Files-Footnote-21092967
+Ref: Derived Files-Footnote-31093567
+Node: Future Extensions1093665
+Node: Implementation Limitations1094242
+Node: Extension Design1095494
+Node: Old Extension Problems1096648
+Ref: Old Extension Problems-Footnote-11098156
+Node: Extension New Mechanism Goals1098213
+Ref: Extension New Mechanism Goals-Footnote-11101578
+Node: Extension Other Design Decisions1101764
+Node: Extension Future Growth1103870
+Node: Old Extension Mechanism1104706
+Node: Basic Concepts1106446
+Node: Basic High Level1107127
+Ref: figure-general-flow1107398
+Ref: figure-process-flow1107997
+Ref: Basic High Level-Footnote-11111226
+Node: Basic Data Typing1111411
+Node: Glossary1114766
+Node: Copying1140228
+Node: GNU Free Documentation License1177785
+Node: Index1202922
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index b56fbba..43e518c 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -34863,7 +34863,7 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 
 To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
 that issues all the necessary @code{CC} and @code{LINK} commands. There is
-also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
+also a @file{Makefile} for use with the @code{MMS} and @code{MMK} utilities.
 From the source directory, use either:
 
 @example
@@ -34884,8 +34884,8 @@ or:
 $ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
 @end example
 
address@hidden is an open source freeware near clone of @code{MMS} and
-can better handle @code{ODS-5} volumes with upper- and lower-case filenames.
address@hidden is an open source, free, near-clone of @code{MMS} and
+can better handle @code{ODS-5} volumes with upper- and lowercase filenames.
 @code{MMK} is available from @uref{https://github.com/endlesssoftware/mmk}.
 
 With @code{ODS-5} volumes and extended parsing enabled, the case of the target
@@ -34911,9 +34911,10 @@ a PCSI kit for compatible with the GNV product.
 @appendixsubsubsec Compiling @command{gawk} Dynamic Extensions on VMS
 
 Dynamic extensions need to be compiled with the same compiler options for
-floating point, pointer size, and symbol name handling as @command{gawk}.
+floating point, pointer size, and symbol name handling as were used
+to compile @command{gawk} itself.
 Alpha and Itanium should use IEEE floating point.  The pointer size is 32 bits,
-and the symbol name handling is to be exact case with CRC shortening for
+and the symbol name handling should be exact case with CRC shortening for
 symbols longer than 32 bits.
 
 For Alpha and Itanium:
@@ -35027,6 +35028,39 @@ flag is required to force Unix-style parsing rather 
than @code{DCL} parsing.  If
 other dash-type options (or multiple parameters such as data files to
 process) are present, there is no ambiguity and @option{--} can be omitted.
 
address@hidden exit status, of VMS
+The @code{exit} value is a Unix-style value and is encoded to a VMS exit
+status value when the program exits.
+
+The VMS severity bits will be set based on the @code{exit} value.
+A failure is indicated by 1 and VMS sets the @code{ERROR} status.
+A fatal error is indicated by 2 and VMS will set the @code{FATAL} status.
+All other values will have the @code{SUCCESS} status.  The exit value is
+encoded to comply with VMS coding standards and will have the
address@hidden of @code{0x350000} with the constant @code{0xA000}
+added to the number shifted over by 3 bits to make room for the severity codes.
+
+To extract the actual @command{gawk} exit code from the VMS status use:
+
address@hidden
+unix_status = (vms_status .and. &x7f8) / 8
address@hidden example
+
address@hidden
+A C program that uses @code{exec()} to call @command{gawk} will get the 
original
+Unix-style exit value.
+
+Older versions of @command{gawk} treated a Unix exit code 0 as 1, a failure
+as 2, a fatal error as 4, and passed all the other numbers through.
+This violated the VMS exit status coding requirements.
+
address@hidden floating-point, VAX/VMS
+VAX/VMS floating point uses unbiased rounding. @xref{Round Function}.
+
+VMS reports time values in GMT unless one of the @code{SYS$TIMEZONE_RULE}
+or @code{TZ} logical names is set.  Older versions of VMS, such as VAX/VMS
+7.3 do not set these logical names.
+
 @c @cindex directory search
 @c @cindex path, search
 @cindex search paths
@@ -35044,7 +35078,7 @@ translation and not a multitranslation @code{RMS} 
searchlist.
 The VMS GNV package provides a build environment similar to POSIX with ports
 of a collection of open source tools.  The @command{gawk} found in the GNV
 base kit is an older port.  Currently the GNV project is being reorganized
-to be individual PCSI packages for each component.
+to supply individual PCSI packages for each component.
 See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
 
 The normal build procedure for @command{gawk} produces a program that
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 51b9087..fc46564 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -34012,7 +34012,7 @@ The older designation ``VMS'' is used throughout to 
refer to OpenVMS.
 
 To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
 that issues all the necessary @code{CC} and @code{LINK} commands. There is
-also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
+also a @file{Makefile} for use with the @code{MMS} and @code{MMK} utilities.
 From the source directory, use either:
 
 @example
@@ -34033,8 +34033,8 @@ or:
 $ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
 @end example
 
address@hidden is an open source freeware near clone of @code{MMS} and
-can better handle @code{ODS-5} volumes with upper- and lower-case filenames.
address@hidden is an open source, free, near-clone of @code{MMS} and
+can better handle @code{ODS-5} volumes with upper- and lowercase filenames.
 @code{MMK} is available from @uref{https://github.com/endlesssoftware/mmk}.
 
 With @code{ODS-5} volumes and extended parsing enabled, the case of the target
@@ -34060,9 +34060,10 @@ a PCSI kit for compatible with the GNV product.
 @appendixsubsubsec Compiling @command{gawk} Dynamic Extensions on VMS
 
 Dynamic extensions need to be compiled with the same compiler options for
-floating point, pointer size, and symbol name handling as @command{gawk}.
+floating point, pointer size, and symbol name handling as were used
+to compile @command{gawk} itself.
 Alpha and Itanium should use IEEE floating point.  The pointer size is 32 bits,
-and the symbol name handling is to be exact case with CRC shortening for
+and the symbol name handling should be exact case with CRC shortening for
 symbols longer than 32 bits.
 
 For Alpha and Itanium:
@@ -34176,6 +34177,39 @@ flag is required to force Unix-style parsing rather 
than @code{DCL} parsing.  If
 other dash-type options (or multiple parameters such as data files to
 process) are present, there is no ambiguity and @option{--} can be omitted.
 
address@hidden exit status, of VMS
+The @code{exit} value is a Unix-style value and is encoded to a VMS exit
+status value when the program exits.
+
+The VMS severity bits will be set based on the @code{exit} value.
+A failure is indicated by 1 and VMS sets the @code{ERROR} status.
+A fatal error is indicated by 2 and VMS will set the @code{FATAL} status.
+All other values will have the @code{SUCCESS} status.  The exit value is
+encoded to comply with VMS coding standards and will have the
address@hidden of @code{0x350000} with the constant @code{0xA000}
+added to the number shifted over by 3 bits to make room for the severity codes.
+
+To extract the actual @command{gawk} exit code from the VMS status use:
+
address@hidden
+unix_status = (vms_status .and. &x7f8) / 8
address@hidden example
+
address@hidden
+A C program that uses @code{exec()} to call @command{gawk} will get the 
original
+Unix-style exit value.
+
+Older versions of @command{gawk} treated a Unix exit code 0 as 1, a failure
+as 2, a fatal error as 4, and passed all the other numbers through.
+This violated the VMS exit status coding requirements.
+
address@hidden floating-point, VAX/VMS
+VAX/VMS floating point uses unbiased rounding. @xref{Round Function}.
+
+VMS reports time values in GMT unless one of the @code{SYS$TIMEZONE_RULE}
+or @code{TZ} logical names is set.  Older versions of VMS, such as VAX/VMS
+7.3 do not set these logical names.
+
 @c @cindex directory search
 @c @cindex path, search
 @cindex search paths
@@ -34193,7 +34227,7 @@ translation and not a multitranslation @code{RMS} 
searchlist.
 The VMS GNV package provides a build environment similar to POSIX with ports
 of a collection of open source tools.  The @command{gawk} found in the GNV
 base kit is an older port.  Currently the GNV project is being reorganized
-to be individual PCSI packages for each component.
+to supply individual PCSI packages for each component.
 See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
 
 The normal build procedure for @command{gawk} produces a program that
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 6cc5afb..504967f 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,4 +1,11 @@
-2013-12-20         John E. Malmberg    <address@hidden>
+2013-12-23         John E. Malmberg      <address@hidden>
+
+       * gawkmisc.vms: Fix program name calculation on VAX.
+       * vms_cli.c: Fix case of public symbol.
+       * vms.hlp: Fix typo, add cautions on rounding and timezones.
+       * vmstest.com: Dcl symbol tz causing conflict with test.
+
+2013-12-20         John E. Malmberg      <address@hidden>
 
        * descrip.mms: Set CC exact symbol names, cleanup repository.
        * generate_config_vms_h_gawk.com: Use correct VMS exit codes.
@@ -8,14 +15,14 @@
          vms_misc.c, vms_popen.c: Correct case of function names.
        * vms.hlp: Updated with new information about exit codes.
 
-2013-12-10         John E. Malmberg    <address@hidden>
+2013-12-10         John E. Malmberg      <address@hidden>
 
        * gawkmisc.vms: Add lots of includes.
        (sys_trnlnm): New function.
        (gawk_name): Improved.
        (os_arg_fixup): Fix up time zone.
 
-2013-12-08        John E. Malmberg     <address@hidden>
+2013-12-08         John E. Malmberg      <address@hidden>
 
        * descrip.mms: Add IEEE float for non-vax.
          Add vms_crtl_init.c.
@@ -30,7 +37,7 @@
        * vms_misc.c (vms_open): VMS CRTL for 8.3 Alpha is setting
          errno to ENOENT instead of EISDIR for ".".
 
-2013-12-05        John E. Malmberg     <address@hidden>
+2013-12-05         John E. Malmberg      <address@hidden>
 
        * New config_h.com to generate config.h
        * New gawk_ident.com generates ident line for link option file.
diff --git a/vms/gawk.hlp b/vms/gawk.hlp
index 177ef91..a14ad72 100644
--- a/vms/gawk.hlp
+++ b/vms/gawk.hlp
@@ -1183,6 +1183,10 @@
                  the default is systime(); if u is present and non-zero
                  then t is treated as a UTC value, otherwise it is
                  considered to be local time
+
+5 time_logical_names
+ Gawk needs the SYS$TIMEZONE_RULE or TZ logical names defined or it will
+ output the time in the GMT timezone.
 5 time_formats
  Formatting directives similar to the 'printf' & 'sprintf' functions
  (each is introduced in the format string by preceding it with a
@@ -1559,7 +1563,7 @@
  operating system.  GAWK expects a UN*X-style value instead of a
  VMS status value, so 0 indicates success.  A failure is indicated
  by 1 and VMS will set the ERROR status.  A fatal error is indicated
- by 2 and VMS seet the FATAL status.  All other values will will have
+ by 2 and VMS will set the FATAL status.  All other values will will have
  the SUCCESS status.  The exit value is encoded to comply with VMS
  coding standards and will have the C_FACILITY_NO of 0x350000 with
  the constant 0xA000 added to the number shifted over by 3 bits to
@@ -1573,7 +1577,11 @@
 
  Older versions of Gawk treated Unix exit code 0 as 1, A failure as
  2, and a fatal error as 4, and passed all the other numbers through.
- This violate the VMS exit status coding requirements.
+ This violated the VMS exit status coding requirements.
+
+4 rounding
+ VAX/VMS floating point uses unbiased rounding.  This is different than
+ what portable gawk programs expect.
 
 3 changes
  Changes between version 4.0.0 and earlier versions
diff --git a/vms/gawkmisc.vms b/vms/gawkmisc.vms
index 046c516..749c603 100644
--- a/vms/gawkmisc.vms
+++ b/vms/gawkmisc.vms
@@ -82,7 +82,7 @@ char quote = '\'';
 char *defpath = DEFPATH;
 char *deflibpath = DEFLIBPATH;
 char envsep  = ',';
-#define VMS_NAME_LEN 1
+#define VMS_NAME_LEN 255
 static char vms_name[VMS_NAME_LEN+1];
 
 /* Take all the fun out of simply looking up a logical name */
@@ -149,6 +149,7 @@ const char *filespec;
         * be fixed.
         */
 
+       result = 0;
        if (filespec[0] == '/') {
                char * nextslash;
                int length;
@@ -333,6 +334,7 @@ const char *filespec;
 
                        strncpy(vms_name, name, name_len);
                        vms_name[name_len] = 0;
+                       result = 1;
 
                        /* We only keep the extension if it is not ".exe" */
                        keep_ext = 0;
@@ -427,13 +429,6 @@ const char *filespec;
                                        }
                                }
                        }
-
-               } else {
-                       /* There is no way that the code should ever get here
-                        * As we already verified that the '/' was present
-                        */
-                       fprintf(stderr,
-                               "Sanity failure somewhere we lost a '/'\n");
                }
        } else {
                /* No changes needed */
diff --git a/vms/vms_cli.c b/vms/vms_cli.c
index 0cfe96f..aa09344 100644
--- a/vms/vms_cli.c
+++ b/vms/vms_cli.c
@@ -34,7 +34,7 @@ extern U_Long CLI$GET_VALUE(const Dsc *, Dsc *, short *);
 extern U_Long CLI$DCL_PARSE(const Dsc *, const void *, ...);
 extern U_Long SYS$CLI(void *, ...);
 extern U_Long SYS$FILESCAN(const Dsc *, void *, long *);
-extern void  *lib$establish(U_Long (*handler)(void *, void *));
+extern void  *LIB$ESTABLISH(U_Long (*handler)(void *, void *));
 extern U_Long LIB$SIG_TO_RET(void *, void *);  /* condition handler */
 
 /* Cli_Present() - call CLI$PRESENT to determine whether a parameter or     */
@@ -43,7 +43,7 @@ U_Long
 Cli_Present( const char *item )
 {
     Dsc item_dsc;
-    (void)lib$establish(LIB$SIG_TO_RET);
+    (void)LIB$ESTABLISH(LIB$SIG_TO_RET);
 
     item_dsc.len = strlen(item_dsc.adr = (char *)item);
     return CLI$PRESENT(&item_dsc);
@@ -57,7 +57,7 @@ Cli_Get_Value( const char *item, char *result, int size )
     Dsc item_dsc, res_dsc;
     U_Long sts;
     short len = 0;
-    (void)lib$establish(LIB$SIG_TO_RET);
+    (void)LIB$ESTABLISH(LIB$SIG_TO_RET);
 
     item_dsc.len = strlen(item_dsc.adr = (char *)item);
     res_dsc.len = size,  res_dsc.adr = result;
@@ -79,7 +79,7 @@ Cli_Parse_Command( const void *cmd_tables, const char 
*cmd_verb )
     U_Long sts;
     int    ltmp;
     char   longbuf[8200];
-    (void)lib$establish(LIB$SIG_TO_RET);
+    (void)LIB$ESTABLISH(LIB$SIG_TO_RET);
 
     memset(&cmd, 0, sizeof cmd);
     cmd.rqtype = CLI$K_GETCMD;         /* command line minus the verb */
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 1b5b7ed..75a6b46 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -594,6 +594,8 @@ $
 $strftime:     echo "strftime"
 $      ! this test could fail on slow machines or on a second boundary,
 $      ! so if it does, double check the actual results
+$      ! This test needs SYS$TIMEZONE_NAME and SYS$TIMEZONE_RULE
+$      ! to be properly defined.
 $!!    date | gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk
 $      now = f$time()
 $      wkd = f$extract(0,3,f$cvtime(now,,"WEEKDAY"))
@@ -601,11 +603,12 @@ $ mon = f$cvtime(now,"ABSOLUTE","MONTH")
 $      mon = f$extract(0,1,mon) + f$edit(f$extract(1,2,mon),"LOWERCASE")
 $      day = f$cvtime(now,,"DAY")
 $      tim = f$extract(0,8,f$cvtime(now,,"TIME"))
-$      tz = f$trnlnm("SYS$TIMEZONE_NAME")
+$!     Can not use tz as it shows up in the C environment.
+$      timezone = f$trnlnm("SYS$TIMEZONE_NAME")
 $      yr  = f$cvtime(now,,"YEAR")
 $      if f$trnlnm("FTMP").nes."" then  close/noLog ftmp
 $      open/Write ftmp strftime.in
-$      write ftmp wkd," ",mon," ",day," ",tim," ",tz," ",yr
+$      write ftmp wkd," ",mon," ",day," ",tim," ",timezone," ",yr
 $      close ftmp
 $      gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk strftime.in
 $      set noOn

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

Summary of changes:
 README_d/ChangeLog  |    6 +-
 README_d/README.VMS |   11 +++++
 doc/ChangeLog       |    6 ++-
 doc/gawk.info       |  124 ++++++++++++++++++++++++++++++++-------------------
 doc/gawk.texi       |   46 ++++++++++++++++---
 doc/gawktexi.in     |   46 ++++++++++++++++---
 vms/ChangeLog       |   15 +++++--
 vms/gawk.hlp        |   12 ++++-
 vms/gawkmisc.vms    |   11 +---
 vms/vms_cli.c       |    8 ++--
 vms/vmstest.com     |    7 ++-
 11 files changed, 210 insertions(+), 82 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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