gawk: Changes from API V1
16.4.15 Changes From Version 1 of the API
-----------------------------------------
The current API is _not_ binary compatible with version 1 of the API.
You will have to recompile your extensions in order to use them with the
current version of 'gawk'.
Fortunately, at the possible expense of some compile-time warnings,
the API remains source-code-compatible with the previous API. The major
differences are the additional members in the 'awk_ext_func_t'
structure, and the addition of the third argument to the C
implementation function (
Extension Functions).
Here is a list of individual features that changed from version 1 to
version 2 of the API:
* Numeric values can now have MPFR/MPZ variants (
General Data
Types).
* There are new string types: 'AWK_REGEX' and 'AWK_STRNUM' (
General Data Types).
* The 'ezalloc()' macro is new (
Memory Allocation Functions).
* The 'awk_ext_func_t' structure changed. Instead of
'num_expected_args', it now has 'max_expected' and 'min_required'
(
Extension Functions).
* For 'get_record()', an input parser can now specify field widths
(
Input Parsers).
* Extensions can now produce nonfatal error messages (
Printing
Messages).
* When flattening an array, you can now specify the index and value
types (
Array Functions).
* The 'get_file()' API is new (
Redirection API).