Changes from API V1 (The GNU Awk User’s Guide)
17.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
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 (see section Registering An Extension Function).
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 (see section General-Purpose Data Types).
- There are new string types:
AWK_STRNUM(see section General-Purpose Data Types).
ezalloc()macro is new (see section Memory Allocation Functions and Convenience Macros).
awk_ext_func_tstructure changed. Instead of
num_expected_args, it now has
min_required(see section Registering An Extension Function).
get_record(), an input parser can now specify field widths (see section Customized Input Parsers).
- Extensions can now produce nonfatal error messages (see section Printing Messages).
- When flattening an array, you can now specify the index and value types (see section Array Functions).
get_file()API is new (see section Accessing and Manipulating Redirections).