aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--builtin.c9
-rw-r--r--configh.in3
-rwxr-xr-xconfigure23
-rw-r--r--configure.ac5
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info168
-rw-r--r--doc/gawk.texi2
-rw-r--r--doc/gawktexi.in2
-rw-r--r--interpret.h8
-rw-r--r--io.c10
-rw-r--r--mbsupport.h8
-rw-r--r--pc/ChangeLog11
-rw-r--r--pc/Makefile.tst23
-rw-r--r--pc/config.h6
-rw-r--r--support/ChangeLog4
-rw-r--r--support/localeinfo.c4
-rw-r--r--test/ChangeLog4
-rw-r--r--test/nonfatal1.ok2
19 files changed, 201 insertions, 116 deletions
diff --git a/ChangeLog b/ChangeLog
index 0303657a..8f8e67c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2017-08-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * interpret.h (r_interpret): Add some casts to avoid warning
+ messages in printf statements.
+
+ Unrelated:
+
+ * configure.ac: Add check for gai_strerror.
+ * io.c (socketopen): Use gai_strerror to add more information
+ if getaddrinfo fails.
+
+2017-08-25 Pat Rankin <r.pat.rankin@gmail.com>
+
+ * builtin.c (TYPE_MINIMUM): Use type uintmax_t for the calculation,
+ deferring the cast to the target type until the final result.
+
+2017-08-27 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * mbsupport.h [__DJGPP_]: Provide multi-byte specific declarations
+ and definitions for DJGPP.
+
2017-08-23 Arnold D. Robbins <arnold@skeeve.com>
* README.git: Minor edits to make build steps clearer.
diff --git a/builtin.c b/builtin.c
index bf838a8a..cd270e84 100644
--- a/builtin.c
+++ b/builtin.c
@@ -42,10 +42,13 @@
/* The extra casts work around common compiler bugs. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
- It is necessary at least when t == time_t. */
+/* Note: these assume that negative integers are represented internally
+ via 2's complement, which is not mandated by C. They also ignore the
+ fact that signed integer arithmetic overflow can trigger exceptions,
+ unlike unsigned which is guaranteed not to do so. */
#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
- ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
+ ? ~ (uintmax_t) 0 << (sizeof (t) * CHAR_BIT - 1) \
+ : 0))
#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
#ifndef INTMAX_MIN
diff --git a/configh.in b/configh.in
index 4d5ce95e..e6000054 100644
--- a/configh.in
+++ b/configh.in
@@ -51,6 +51,9 @@
/* Define to 1 if you have the `fwrite_unlocked' function. */
#undef HAVE_FWRITE_UNLOCKED
+/* Define to 1 if you have the `gai_strerror' function. */
+#undef HAVE_GAI_STRERROR
+
/* have getaddrinfo */
#undef HAVE_GETADDRINFO
diff --git a/configure b/configure
index 7659863d..c4907ae7 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU Awk 4.1.63.
+# Generated by GNU Autoconf 2.69 for GNU Awk 4.1.64.
#
# Report bugs to <bug-gawk@gnu.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Awk'
PACKAGE_TARNAME='gawk'
-PACKAGE_VERSION='4.1.63'
-PACKAGE_STRING='GNU Awk 4.1.63'
+PACKAGE_VERSION='4.1.64'
+PACKAGE_STRING='GNU Awk 4.1.64'
PACKAGE_BUGREPORT='bug-gawk@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/gawk/'
@@ -1331,7 +1331,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Awk 4.1.63 to adapt to many kinds of systems.
+\`configure' configures GNU Awk 4.1.64 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1401,7 +1401,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Awk 4.1.63:";;
+ short | recursive ) echo "Configuration of GNU Awk 4.1.64:";;
esac
cat <<\_ACEOF
@@ -1526,7 +1526,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Awk configure 4.1.63
+GNU Awk configure 4.1.64
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2235,7 +2235,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Awk $as_me 4.1.63, which was
+It was created by GNU Awk $as_me 4.1.64, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3118,7 +3118,7 @@ fi
# Define the identity of the package.
PACKAGE='gawk'
- VERSION='4.1.63'
+ VERSION='4.1.64'
cat >>confdefs.h <<_ACEOF
@@ -9940,7 +9940,8 @@ $as_echo "$LIBSIGSEGV" >&6; }
esac
# Need the check for mkstemp and tmpfile for missing_d/snprintf.c.
-for ac_func in __etoa_l atexit btowc fmod getgrent getgroups grantpt \
+for ac_func in __etoa_l atexit btowc fmod gai_strerror \
+ getgrent getgroups grantpt \
fwrite_unlocked \
isascii iswctype iswlower iswupper mbrlen \
memcmp memcpy memcpy_ulong memmove memset \
@@ -11562,7 +11563,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Awk $as_me 4.1.63, which was
+This file was extended by GNU Awk $as_me 4.1.64, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11630,7 +11631,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU Awk config.status 4.1.63
+GNU Awk config.status 4.1.64
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 1a1fdac8..1f28ad32 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ dnl
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([GNU Awk],[4.1.63],[bug-gawk@gnu.org],[gawk])
+AC_INIT([GNU Awk],[4.1.64],[bug-gawk@gnu.org],[gawk])
# This is a hack. Different versions of install on different systems
# are just too different. Chuck it and use install-sh.
@@ -290,7 +290,8 @@ osf1) : ;;
esac
# Need the check for mkstemp and tmpfile for missing_d/snprintf.c.
-AC_CHECK_FUNCS(__etoa_l atexit btowc fmod getgrent getgroups grantpt \
+AC_CHECK_FUNCS(__etoa_l atexit btowc fmod gai_strerror \
+ getgrent getgroups grantpt \
fwrite_unlocked \
isascii iswctype iswlower iswupper mbrlen \
memcmp memcpy memcpy_ulong memmove memset \
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 220067c3..ac171b25 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2017-08-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Contributors): Update entry for Steven Davies.
+
2017-08-24 Arnold D. Robbins <arnold@skeeve.com>
* texinfo.tex: Updated. Fixes table of contents issue
diff --git a/doc/gawk.info b/doc/gawk.info
index 3e8e42a7..c66e1461 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -28372,7 +28372,9 @@ Info file, in approximate chronological order:
* Stephen Davies provided the initial port to Tandem systems and its
documentation. (However, this is no longer supported.) He was
also instrumental in the initial work to integrate the byte-code
- internals into the 'gawk' code base.
+ internals into the 'gawk' code base. Additionally, he did most of
+ the work enabling the pretty-printer to preserve and output
+ comments.
* Matthew Woehlke provided improvements for Tandem's POSIX-compliant
systems.
@@ -33310,7 +33312,7 @@ Index
(line 70)
* beginfile() user-defined function: Filetrans Function. (line 62)
* Bentley, Jon: Glossary. (line 206)
-* Benzinger, Michael: Contributors. (line 98)
+* Benzinger, Michael: Contributors. (line 100)
* Berry, Karl: Acknowledgments. (line 33)
* Berry, Karl <1>: Acknowledgments. (line 75)
* Berry, Karl <2>: Ranges and Locales. (line 74)
@@ -33391,12 +33393,12 @@ Index
* Brian Kernighan's awk, source code: Other Versions. (line 13)
* Brini, Davide: Signature Program. (line 6)
* Brink, Jeroen: DOS Quoting. (line 10)
-* Broder, Alan J.: Contributors. (line 89)
-* Brown, Martin: Contributors. (line 83)
+* Broder, Alan J.: Contributors. (line 91)
+* Brown, Martin: Contributors. (line 85)
* BSD-based operating systems: Glossary. (line 748)
* bt debugger command (alias for backtrace): Execution Stack. (line 13)
* Buening, Andreas: Acknowledgments. (line 60)
-* Buening, Andreas <1>: Contributors. (line 93)
+* Buening, Andreas <1>: Contributors. (line 95)
* Buening, Andreas <2>: Maintainers. (line 14)
* buffering, input/output: I/O Functions. (line 166)
* buffering, input/output <1>: Two-way I/O. (line 53)
@@ -33472,7 +33474,7 @@ Index
* collating elements: Bracket Expressions. (line 86)
* collating symbols: Bracket Expressions. (line 93)
* Colombo, Antonio: Acknowledgments. (line 60)
-* Colombo, Antonio <1>: Contributors. (line 141)
+* Colombo, Antonio <1>: Contributors. (line 143)
* columns, aligning: Print Examples. (line 69)
* columns, cutting: Cut Program. (line 6)
* comma (,), in range patterns: Ranges. (line 6)
@@ -33586,7 +33588,7 @@ Index
* csh utility, POSIXLY_CORRECT environment variable: Options. (line 372)
* csh utility, |& operator, comparison with: Two-way I/O. (line 27)
* ctime() user-defined function: Function Example. (line 74)
-* Curreli, Marco: Contributors. (line 145)
+* Curreli, Marco: Contributors. (line 147)
* currency symbols, localization: Explaining gettext. (line 104)
* current system time: Time Functions. (line 68)
* custom.h file: Configuration Philosophy.
@@ -34451,7 +34453,7 @@ Index
* GNU/Linux: Manual History. (line 28)
* GNU/Linux <1>: I18N Example. (line 57)
* GNU/Linux <2>: Glossary. (line 748)
-* Gordon, Assaf: Contributors. (line 106)
+* Gordon, Assaf: Contributors. (line 108)
* GPL (General Public License): Manual History. (line 11)
* GPL (General Public License) <1>: Glossary. (line 396)
* GPL (General Public License), printing: Options. (line 89)
@@ -34467,16 +34469,16 @@ Index
* gsub() function, arguments of: String Functions. (line 465)
* gsub() function, escape processing: Gory Details. (line 6)
* Guerrero, Juan Manuel: Acknowledgments. (line 60)
-* Guerrero, Juan Manuel <1>: Contributors. (line 148)
+* Guerrero, Juan Manuel <1>: Contributors. (line 150)
* Guerrero, Juan Manuel <2>: Maintainers. (line 14)
* h debugger command (alias for help): Miscellaneous Debugger Commands.
(line 69)
* Hankerson, Darrel: Acknowledgments. (line 60)
* Hankerson, Darrel <1>: Contributors. (line 61)
-* Haque, John: Contributors. (line 109)
+* Haque, John: Contributors. (line 111)
* Hartholz, Elaine: Acknowledgments. (line 38)
* Hartholz, Marshall: Acknowledgments. (line 38)
-* Hasegawa, Isamu: Contributors. (line 95)
+* Hasegawa, Isamu: Contributors. (line 97)
* help debugger command: Miscellaneous Debugger Commands.
(line 69)
* hexadecimal numbers: Nondecimal-numbers. (line 6)
@@ -34741,7 +34743,7 @@ Index
* mailing list, GNITS: Acknowledgments. (line 52)
* Malmberg, John: Acknowledgments. (line 60)
* Malmberg, John <1>: Maintainers. (line 14)
-* Malmberg, John E.: Contributors. (line 138)
+* Malmberg, John E.: Contributors. (line 140)
* mark parity: Ordinal Functions. (line 45)
* marked string extraction (internationalization): String Extraction.
(line 6)
@@ -34762,7 +34764,7 @@ Index
* mawk utility <4>: Other Versions. (line 48)
* maximum precision supported by MPFR library: Auto-set. (line 255)
* McIlroy, Doug: Glossary. (line 257)
-* McPhee, Patrick: Contributors. (line 101)
+* McPhee, Patrick: Contributors. (line 103)
* message object files: Explaining gettext. (line 42)
* message object files, converting from portable object files: I18N Example.
(line 66)
@@ -34951,7 +34953,7 @@ Index
* output, standard: Special FD. (line 6)
* p debugger command (alias for print): Viewing And Changing Data.
(line 35)
-* Papadopoulos, Panos: Contributors. (line 129)
+* Papadopoulos, Panos: Contributors. (line 131)
* parent process ID of gawk process: Auto-set. (line 230)
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 81)
@@ -34977,7 +34979,7 @@ Index
* percent sign (%), %= operator <1>: Precedence. (line 94)
* period (.), regexp operator: Regexp Operators. (line 44)
* Perl: Future Extensions. (line 6)
-* Peters, Arno: Contributors. (line 86)
+* Peters, Arno: Contributors. (line 88)
* Peterson, Hal: Contributors. (line 40)
* pipe, closing: Close Files And Pipes.
(line 6)
@@ -35306,7 +35308,7 @@ Index
* Robbins, Arnold <2>: Passwd Functions. (line 90)
* Robbins, Arnold <3>: Alarm Program. (line 6)
* Robbins, Arnold <4>: General Data Types. (line 6)
-* Robbins, Arnold <5>: Contributors. (line 150)
+* Robbins, Arnold <5>: Contributors. (line 152)
* Robbins, Arnold <6>: Maintainers. (line 14)
* Robbins, Arnold <7>: Future Extensions. (line 6)
* Robbins, Bill: Getline/Pipe. (line 40)
@@ -35347,7 +35349,7 @@ Index
* scanning multidimensional arrays: Multiscanning. (line 11)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schorr, Andrew <1>: Auto-set. (line 347)
-* Schorr, Andrew <2>: Contributors. (line 134)
+* Schorr, Andrew <2>: Contributors. (line 136)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
* search and replace in strings: String Functions. (line 89)
@@ -35802,7 +35804,7 @@ Index
* walk_array() user-defined function: Walking Arrays. (line 14)
* Wall, Larry: Array Intro. (line 6)
* Wall, Larry <1>: Future Extensions. (line 6)
-* Wallin, Anders: Contributors. (line 104)
+* Wallin, Anders: Contributors. (line 106)
* warnings, issuing: Options. (line 198)
* watch debugger command: Viewing And Changing Data.
(line 66)
@@ -35821,7 +35823,7 @@ Index
* whitespace, functions, calling: Calling Built-in. (line 10)
* whitespace, newlines as: Options. (line 277)
* Williams, Kent: Contributors. (line 35)
-* Woehlke, Matthew: Contributors. (line 80)
+* Woehlke, Matthew: Contributors. (line 82)
* Woods, John: Contributors. (line 28)
* word boundaries, matching: GNU Regexp Operators.
(line 41)
@@ -35838,7 +35840,7 @@ Index
* xgettext utility: String Extraction. (line 13)
* xor: Bitwise Functions. (line 57)
* XOR bitwise operation: Bitwise Functions. (line 6)
-* Yawitz, Efraim: Contributors. (line 132)
+* Yawitz, Efraim: Contributors. (line 134)
* Zaretskii, Eli: Acknowledgments. (line 60)
* Zaretskii, Eli <1>: Contributors. (line 56)
* Zaretskii, Eli <2>: Maintainers. (line 14)
@@ -36362,68 +36364,68 @@ Ref: Ranges and Locales-Footnote-11142851
Ref: Ranges and Locales-Footnote-21142878
Ref: Ranges and Locales-Footnote-31143113
Node: Contributors1143334
-Node: History summary1149169
-Node: Installation1150549
-Node: Gawk Distribution1151493
-Node: Getting1151977
-Node: Extracting1152938
-Node: Distribution contents1154576
-Node: Unix Installation1161056
-Node: Quick Installation1161738
-Node: Shell Startup Files1164152
-Node: Additional Configuration Options1165241
-Node: Configuration Philosophy1167230
-Node: Non-Unix Installation1169599
-Node: PC Installation1170059
-Node: PC Binary Installation1170897
-Node: PC Compiling1171332
-Node: PC Using1172449
-Node: Cygwin1175494
-Node: MSYS1176264
-Node: VMS Installation1176765
-Node: VMS Compilation1177556
-Ref: VMS Compilation-Footnote-11178785
-Node: VMS Dynamic Extensions1178843
-Node: VMS Installation Details1180528
-Node: VMS Running1182781
-Node: VMS GNV1187060
-Node: VMS Old Gawk1187795
-Node: Bugs1188266
-Node: Bug address1188929
-Node: Usenet1191326
-Node: Maintainers1192103
-Node: Other Versions1193364
-Node: Installation summary1199948
-Node: Notes1200983
-Node: Compatibility Mode1201848
-Node: Additions1202630
-Node: Accessing The Source1203555
-Node: Adding Code1204990
-Node: New Ports1211208
-Node: Derived Files1215696
-Ref: Derived Files-Footnote-11221181
-Ref: Derived Files-Footnote-21221216
-Ref: Derived Files-Footnote-31221814
-Node: Future Extensions1221928
-Node: Implementation Limitations1222586
-Node: Extension Design1223769
-Node: Old Extension Problems1224923
-Ref: Old Extension Problems-Footnote-11226441
-Node: Extension New Mechanism Goals1226498
-Ref: Extension New Mechanism Goals-Footnote-11229862
-Node: Extension Other Design Decisions1230051
-Node: Extension Future Growth1232164
-Node: Old Extension Mechanism1233000
-Node: Notes summary1234763
-Node: Basic Concepts1235945
-Node: Basic High Level1236626
-Ref: figure-general-flow1236908
-Ref: figure-process-flow1237593
-Ref: Basic High Level-Footnote-11240894
-Node: Basic Data Typing1241079
-Node: Glossary1244407
-Node: Copying1276354
-Node: GNU Free Documentation License1313893
-Node: Index1339011
+Node: History summary1149279
+Node: Installation1150659
+Node: Gawk Distribution1151603
+Node: Getting1152087
+Node: Extracting1153048
+Node: Distribution contents1154686
+Node: Unix Installation1161166
+Node: Quick Installation1161848
+Node: Shell Startup Files1164262
+Node: Additional Configuration Options1165351
+Node: Configuration Philosophy1167340
+Node: Non-Unix Installation1169709
+Node: PC Installation1170169
+Node: PC Binary Installation1171007
+Node: PC Compiling1171442
+Node: PC Using1172559
+Node: Cygwin1175604
+Node: MSYS1176374
+Node: VMS Installation1176875
+Node: VMS Compilation1177666
+Ref: VMS Compilation-Footnote-11178895
+Node: VMS Dynamic Extensions1178953
+Node: VMS Installation Details1180638
+Node: VMS Running1182891
+Node: VMS GNV1187170
+Node: VMS Old Gawk1187905
+Node: Bugs1188376
+Node: Bug address1189039
+Node: Usenet1191436
+Node: Maintainers1192213
+Node: Other Versions1193474
+Node: Installation summary1200058
+Node: Notes1201093
+Node: Compatibility Mode1201958
+Node: Additions1202740
+Node: Accessing The Source1203665
+Node: Adding Code1205100
+Node: New Ports1211318
+Node: Derived Files1215806
+Ref: Derived Files-Footnote-11221291
+Ref: Derived Files-Footnote-21221326
+Ref: Derived Files-Footnote-31221924
+Node: Future Extensions1222038
+Node: Implementation Limitations1222696
+Node: Extension Design1223879
+Node: Old Extension Problems1225033
+Ref: Old Extension Problems-Footnote-11226551
+Node: Extension New Mechanism Goals1226608
+Ref: Extension New Mechanism Goals-Footnote-11229972
+Node: Extension Other Design Decisions1230161
+Node: Extension Future Growth1232274
+Node: Old Extension Mechanism1233110
+Node: Notes summary1234873
+Node: Basic Concepts1236055
+Node: Basic High Level1236736
+Ref: figure-general-flow1237018
+Ref: figure-process-flow1237703
+Ref: Basic High Level-Footnote-11241004
+Node: Basic Data Typing1241189
+Node: Glossary1244517
+Node: Copying1276464
+Node: GNU Free Documentation License1314003
+Node: Index1339121

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 7ed1a79a..1d7b9b70 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -38591,6 +38591,8 @@ provided the initial port to Tandem systems and its documentation.
(However, this is no longer supported.)
He was also instrumental in the initial work to integrate the
byte-code internals into the @command{gawk} code base.
+Additionally, he did most of the work enabling the pretty-printer
+to preserve and output comments.
@item
@cindex Woehlke, Matthew
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 7cd6aa25..c9b8aedf 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -37605,6 +37605,8 @@ provided the initial port to Tandem systems and its documentation.
(However, this is no longer supported.)
He was also instrumental in the initial work to integrate the
byte-code internals into the @command{gawk} code base.
+Additionally, he did most of the work enabling the pretty-printer
+to preserve and output comments.
@item
@cindex Woehlke, Matthew
diff --git a/interpret.h b/interpret.h
index 6c5b432e..166a11e1 100644
--- a/interpret.h
+++ b/interpret.h
@@ -973,11 +973,15 @@ arrayfor:
if (arg_count < min_req)
fatal(_("%s: called with %lu arguments, expecting at least %lu"),
- pc[1].func_name, arg_count, min_req);
+ pc[1].func_name,
+ (unsigned long) arg_count,
+ (unsigned long) min_req);
if (do_lint && ! f->suppress_lint && arg_count > max_expect)
lintwarn(_("%s: called with %lu arguments, expecting no more than %lu"),
- pc[1].func_name, arg_count, max_expect);
+ pc[1].func_name,
+ (unsigned long) arg_count,
+ (unsigned long) max_expect);
PUSH_CODE(pc);
r = awk_value_to_node(pc->extfunc(arg_count, & result, f));
diff --git a/io.c b/io.c
index 02278551..6330fcda 100644
--- a/io.c
+++ b/io.c
@@ -1586,7 +1586,12 @@ socketopen(int family, int type, const char *localpname,
lerror = getaddrinfo(NULL, localpname, & lhints, & lres);
if (lerror) {
if (strcmp(localpname, "0") != 0) {
+#ifdef HAVE_GAI_STRERROR
+ warning(_("local port %s invalid in `/inet': %s"), localpname,
+ gai_strerror(lerror));
+#else
warning(_("local port %s invalid in `/inet'"), localpname);
+#endif
*hard_error = true;
return INVALID_HANDLE;
}
@@ -1607,7 +1612,12 @@ socketopen(int family, int type, const char *localpname,
if (rerror) {
if (lres0 != NULL)
freeaddrinfo(lres0);
+#ifdef HAVE_GAI_STRERROR
+ warning(_("remote host and port information (%s, %s) invalid: %s"), remotehostname, remotepname,
+ gai_strerror(rerror));
+#else
warning(_("remote host and port information (%s, %s) invalid"), remotehostname, remotepname);
+#endif
*hard_error = true;
return INVALID_HANDLE;
}
diff --git a/mbsupport.h b/mbsupport.h
index e7b40423..51cec3c7 100644
--- a/mbsupport.h
+++ b/mbsupport.h
@@ -44,7 +44,13 @@
#define wcslen strlen
#define wctob(wc) (EOF)
-#define mbstate_t int
+#if (__DJGPP__ > 2 || __DJGPP_MINOR__ >= 3)
+# include <ctype.h>
+# include <wchar.h>
+# include <wctype.h>
+#else
+# define mbstate_t int
+#endif
extern wctype_t wctype(const char *name);
extern int iswctype(wint_t wc, wctype_t desc);
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 455bd321..9ed997ba 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,14 @@
+2017-08-27 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * pc/Makefile.tst (mbstr1, mbstr2, errno, getlndir, clos1way2)
+ (clos1way3, clos1way4, clos1way5, clos1way6): Update the expected
+ failure messages for DJGPP.
+
+2017-08-26 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.tst (SLASH, PATH_SEPARATOR, LS): Change the default
+ values to be less specific to my private setup.
+
2017-08-23 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (testext): Fix spelling of testexttmp.txt.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 0bb073d0..069431b8 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -69,8 +69,7 @@ AWKPROG = ../gawk.exe
# index numbers, because this is what the readdir test expects.
# Otherwise, the readdir test will fail. (The MSYS ls.exe doesn't
# report full index values.)
-#LS = ls.exe
-LS = /d/usr/bin/ls.exe
+LS = ls.exe
# Define PGAWK
PGAWK = ../gawk.exe -p
@@ -119,13 +118,13 @@ MKDIR = mkdir
DATE = gdate
# MS-DOS and OS/2 use ; as a PATH delimiter
-PATH_SEPARATOR = :
+PATH_SEPARATOR = ;
# Argument to -F to produce -F/, should be // for MinGW, / otherwise,
# because MSYS Bash converts a single slash to the equivalent Windows
# directory.
-#SLASH = /
-SLASH = //
+SLASH = /
+#SLASH = //
# Non-default GREP_OPTIONS might fail the badargs test
export GREP_OPTIONS=
@@ -487,7 +486,7 @@ devfd::
errno:
@echo $@
- @echo Expect errno to fail with MinGW due to error message differences
+ @echo Expect errno to fail with DJGPP and MinGW due to error message differences
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -886,14 +885,14 @@ gsubtst6::
mbstr1::
@echo $@
- @echo Expect mbstr1 to fail with MinGW.
+ @echo Expect mbstr1 to fail with DJGPP and MinGW.
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mbstr2::
@echo $@
- @echo Expect mbstr2 to fail with MinGW.
+ @echo Expect mbstr2 to fail with DJGPP and MinGW.
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2493,27 +2492,31 @@ backw:
clos1way2:
@echo $@
+ @echo Expect clos1way2 to fail with DJGPP.
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way3:
@echo $@
+ @echo Expect clos1way3 to fail with DJGPP.
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way4:
@echo $@
+ @echo Expect clos1way4 to fail with DJGPP.
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way5:
@echo $@
+ @echo Expect clos1way5 to fail with DJGPP.
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way6:
@echo $@
- @echo Expect clos1way6 to fail with MinGW
+ @echo Expect clos1way6 to fail with DJGPP and MinGW
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2644,7 +2647,7 @@ gensub3:
getlndir:
@echo $@
- @echo Expect getlndir to fail with DJGPP.
+ @echo Expect getlndir to fail with DJGPP due to error message differences.
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
diff --git a/pc/config.h b/pc/config.h
index e0f2cba8..21497f02 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -457,7 +457,7 @@
#define PACKAGE_NAME "GNU Awk"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 4.1.62"
+#define PACKAGE_STRING "GNU Awk 4.1.63"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gawk"
@@ -466,7 +466,7 @@
#define PACKAGE_URL "http://www.gnu.org/software/gawk/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.1.62"
+#define PACKAGE_VERSION "4.1.63"
/* Define to 1 if *printf supports %F format */
#ifdef __DJGPP__
@@ -523,7 +523,7 @@
/* Version number of package */
-#define VERSION "4.1.62"
+#define VERSION "4.1.63"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
diff --git a/support/ChangeLog b/support/ChangeLog
index bc535ea8..5a9f5e93 100644
--- a/support/ChangeLog
+++ b/support/ChangeLog
@@ -1,3 +1,7 @@
+2017-08-27 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * localeinfo.c [__DJGPP__]: Include mbsupport.h.
+
2017-06-25 Andrew J. Schorr <aschorr@telemetry-investments.com>
* dfa.c (dfaalloc): Replace xmalloc+memset with xzalloc.
diff --git a/support/localeinfo.c b/support/localeinfo.c
index ece679e3..4d77ec27 100644
--- a/support/localeinfo.c
+++ b/support/localeinfo.c
@@ -31,6 +31,10 @@
#include <string.h>
#include <wctype.h>
+#if defined(__DJGPP__)
+#include "mbsupport.h"
+#endif
+
/* The sbclen implementation relies on this. */
verify (MB_LEN_MAX <= SCHAR_MAX);
diff --git a/test/ChangeLog b/test/ChangeLog
index 756386af..391828ae 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,7 @@
+2017-08-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * nonfatal1.ok: Update after code change.
+
2017-08-23 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (testext): Fix spelling of testexttmp.txt.
diff --git a/test/nonfatal1.ok b/test/nonfatal1.ok
index 51583f2c..4c9ab576 100644
--- a/test/nonfatal1.ok
+++ b/test/nonfatal1.ok
@@ -1,2 +1,2 @@
-gawk: nonfatal1.awk:4: warning: remote host and port information (local:host, 25) invalid
+gawk: nonfatal1.awk:4: warning: remote host and port information (local:host, 25) invalid: Name or service not known
1