File: gawk.info, Node: Changes from API V1, Prev: Extension API Boilerplate, Up: Extension API Description 17.4.16 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 (*note 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 (*note General Data Types::). * There are new string types: 'AWK_REGEX' and 'AWK_STRNUM' (*note General Data Types::). * The 'ezalloc()' macro is new (*note Memory Allocation Functions::). * The 'awk_ext_func_t' structure changed. Instead of 'num_expected_args', it now has 'max_expected' and 'min_required' (*note Extension Functions::). * For 'get_record()', an input parser can now specify field widths (*note Input Parsers::). * Extensions can now produce nonfatal error messages (*note Printing Messages::). * When flattening an array, you can now specify the index and value types (*note Array Functions::). * The 'get_file()' API is new (*note Redirection API::).