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).