17.4.7 Printing Messages

You can print different kinds of warning messages from your extension, as described here. Note that for these functions, you must pass in the extension ID received from gawk when the extension was loaded:105

void fatal(awk_ext_id_t id, const char *format, ...);

Print a message and then cause gawk to exit immediately.

void nonfatal(awk_ext_id_t id, const char *format, ...);

Print a nonfatal error message.

void warning(awk_ext_id_t id, const char *format, ...);

Print a warning message.

void lintwarn(awk_ext_id_t id, const char *format, ...);

Print a “lint warning.” Normally this is the same as printing a warning message, but if gawk was invoked with ‘--lint=fatal’, then lint warnings become fatal error messages.

All of these functions are otherwise like the C printf() family of functions, where the format parameter is a string with literal characters and formatting codes intermixed.



Because the API uses only ISO C 90 features, it cannot make use of the ISO C 99 variadic macro feature to hide that parameter. More’s the pity.