diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 276 |
1 files changed, 141 insertions, 135 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 29eee6b4..8aa84227 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -23699,7 +23699,7 @@ Extension functions are described by the following record: typedef struct awk_ext_func { const char *name; awk_value_t *(*function)(int num_actual_args, awk_value_t *result); - size_t num_expected_args; + size_t max_expected_args; } awk_ext_func_t; The fields are: @@ -23726,11 +23726,17 @@ Extension functions are described by the following record: The function must return the value of 'result'. This is for the convenience of the calling code inside 'gawk'. -'size_t num_expected_args;' - This is the number of arguments the function expects to receive. - Each extension function may decide what to do if the number of - arguments isn't what it expected. As with real 'awk' functions, it - is likely OK to ignore extra arguments. +'size_t max_expected_args;' + This is the maximum number of arguments the function expects to + receive. Each extension function may decide what to do if the + number of arguments isn't what it expected. As with real 'awk' + functions, it is likely OK to ignore extra arguments. This value + does not affect actual program execution. + + Extension functions should compare this value to the number of + actual arguments passed and possibly issue a lint warning if there + is an undesirable mismatch. Of course, if '--lint=fatal' is used, + this would cause the program to exit. Once you have a record representing your extension function, you register it with 'gawk' using this API function: @@ -35691,134 +35697,134 @@ Ref: Memory Allocation Functions-Footnote-1960024 Node: Constructor Functions960123 Node: Registration Functions961868 Node: Extension Functions962553 -Node: Exit Callback Functions964852 -Node: Extension Version String966102 -Node: Input Parsers966765 -Node: Output Wrappers976650 -Node: Two-way processors981162 -Node: Printing Messages983426 -Ref: Printing Messages-Footnote-1984597 -Node: Updating ERRNO984750 -Node: Requesting Values985489 -Ref: table-value-types-returned986226 -Node: Accessing Parameters987109 -Node: Symbol Table Access988344 -Node: Symbol table by name988856 -Node: Symbol table by cookie990877 -Ref: Symbol table by cookie-Footnote-1995026 -Node: Cached values995090 -Ref: Cached values-Footnote-1998591 -Node: Array Manipulation998682 -Ref: Array Manipulation-Footnote-1999773 -Node: Array Data Types999810 -Ref: Array Data Types-Footnote-11002468 -Node: Array Functions1002560 -Node: Flattening Arrays1006418 -Node: Creating Arrays1013326 -Node: Redirection API1018095 -Node: Extension API Variables1020926 -Node: Extension Versioning1021559 -Ref: gawk-api-version1021996 -Node: Extension API Informational Variables1023752 -Node: Extension API Boilerplate1024816 -Node: Finding Extensions1028630 -Node: Extension Example1029189 -Node: Internal File Description1029987 -Node: Internal File Ops1034067 -Ref: Internal File Ops-Footnote-11045829 -Node: Using Internal File Ops1045969 -Ref: Using Internal File Ops-Footnote-11048352 -Node: Extension Samples1048626 -Node: Extension Sample File Functions1050155 -Node: Extension Sample Fnmatch1057804 -Node: Extension Sample Fork1059291 -Node: Extension Sample Inplace1060509 -Node: Extension Sample Ord1063719 -Node: Extension Sample Readdir1064555 -Ref: table-readdir-file-types1065444 -Node: Extension Sample Revout1066249 -Node: Extension Sample Rev2way1066838 -Node: Extension Sample Read write array1067578 -Node: Extension Sample Readfile1069520 -Node: Extension Sample Time1070615 -Node: Extension Sample API Tests1071963 -Node: gawkextlib1072455 -Node: Extension summary1074902 -Node: Extension Exercises1078604 -Node: Language History1080101 -Node: V7/SVR3.11081757 -Node: SVR41083909 -Node: POSIX1085343 -Node: BTL1086722 -Node: POSIX/GNU1087451 -Node: Feature History1093313 -Node: Common Extensions1107683 -Node: Ranges and Locales1108966 -Ref: Ranges and Locales-Footnote-11113582 -Ref: Ranges and Locales-Footnote-21113609 -Ref: Ranges and Locales-Footnote-31113844 -Node: Contributors1114065 -Node: History summary1119634 -Node: Installation1121014 -Node: Gawk Distribution1121958 -Node: Getting1122442 -Node: Extracting1123403 -Node: Distribution contents1125041 -Node: Unix Installation1131135 -Node: Quick Installation1131817 -Node: Shell Startup Files1134231 -Node: Additional Configuration Options1135309 -Node: Configuration Philosophy1137114 -Node: Non-Unix Installation1139483 -Node: PC Installation1139941 -Node: PC Binary Installation1141261 -Node: PC Compiling1143113 -Ref: PC Compiling-Footnote-11146137 -Node: PC Testing1146246 -Node: PC Using1147426 -Node: Cygwin1151540 -Node: MSYS1152310 -Node: VMS Installation1152811 -Node: VMS Compilation1153602 -Ref: VMS Compilation-Footnote-11154831 -Node: VMS Dynamic Extensions1154889 -Node: VMS Installation Details1156574 -Node: VMS Running1158827 -Node: VMS GNV1163106 -Node: VMS Old Gawk1163841 -Node: Bugs1164312 -Node: Other Versions1168509 -Node: Installation summary1175093 -Node: Notes1176151 -Node: Compatibility Mode1177016 -Node: Additions1177798 -Node: Accessing The Source1178723 -Node: Adding Code1180158 -Node: New Ports1186377 -Node: Derived Files1190865 -Ref: Derived Files-Footnote-11196350 -Ref: Derived Files-Footnote-21196385 -Ref: Derived Files-Footnote-31196983 -Node: Future Extensions1197097 -Node: Implementation Limitations1197755 -Node: Extension Design1198938 -Node: Old Extension Problems1200092 -Ref: Old Extension Problems-Footnote-11201610 -Node: Extension New Mechanism Goals1201667 -Ref: Extension New Mechanism Goals-Footnote-11205031 -Node: Extension Other Design Decisions1205220 -Node: Extension Future Growth1207333 -Node: Old Extension Mechanism1208169 -Node: Notes summary1209932 -Node: Basic Concepts1211114 -Node: Basic High Level1211795 -Ref: figure-general-flow1212077 -Ref: figure-process-flow1212762 -Ref: Basic High Level-Footnote-11216063 -Node: Basic Data Typing1216248 -Node: Glossary1219576 -Node: Copying1251522 -Node: GNU Free Documentation License1289061 -Node: Index1314179 +Node: Exit Callback Functions965176 +Node: Extension Version String966426 +Node: Input Parsers967089 +Node: Output Wrappers976974 +Node: Two-way processors981486 +Node: Printing Messages983750 +Ref: Printing Messages-Footnote-1984921 +Node: Updating ERRNO985074 +Node: Requesting Values985813 +Ref: table-value-types-returned986550 +Node: Accessing Parameters987433 +Node: Symbol Table Access988668 +Node: Symbol table by name989180 +Node: Symbol table by cookie991201 +Ref: Symbol table by cookie-Footnote-1995350 +Node: Cached values995414 +Ref: Cached values-Footnote-1998915 +Node: Array Manipulation999006 +Ref: Array Manipulation-Footnote-11000097 +Node: Array Data Types1000134 +Ref: Array Data Types-Footnote-11002792 +Node: Array Functions1002884 +Node: Flattening Arrays1006742 +Node: Creating Arrays1013650 +Node: Redirection API1018419 +Node: Extension API Variables1021250 +Node: Extension Versioning1021883 +Ref: gawk-api-version1022320 +Node: Extension API Informational Variables1024076 +Node: Extension API Boilerplate1025140 +Node: Finding Extensions1028954 +Node: Extension Example1029513 +Node: Internal File Description1030311 +Node: Internal File Ops1034391 +Ref: Internal File Ops-Footnote-11046153 +Node: Using Internal File Ops1046293 +Ref: Using Internal File Ops-Footnote-11048676 +Node: Extension Samples1048950 +Node: Extension Sample File Functions1050479 +Node: Extension Sample Fnmatch1058128 +Node: Extension Sample Fork1059615 +Node: Extension Sample Inplace1060833 +Node: Extension Sample Ord1064043 +Node: Extension Sample Readdir1064879 +Ref: table-readdir-file-types1065768 +Node: Extension Sample Revout1066573 +Node: Extension Sample Rev2way1067162 +Node: Extension Sample Read write array1067902 +Node: Extension Sample Readfile1069844 +Node: Extension Sample Time1070939 +Node: Extension Sample API Tests1072287 +Node: gawkextlib1072779 +Node: Extension summary1075226 +Node: Extension Exercises1078928 +Node: Language History1080425 +Node: V7/SVR3.11082081 +Node: SVR41084233 +Node: POSIX1085667 +Node: BTL1087046 +Node: POSIX/GNU1087775 +Node: Feature History1093637 +Node: Common Extensions1108007 +Node: Ranges and Locales1109290 +Ref: Ranges and Locales-Footnote-11113906 +Ref: Ranges and Locales-Footnote-21113933 +Ref: Ranges and Locales-Footnote-31114168 +Node: Contributors1114389 +Node: History summary1119958 +Node: Installation1121338 +Node: Gawk Distribution1122282 +Node: Getting1122766 +Node: Extracting1123727 +Node: Distribution contents1125365 +Node: Unix Installation1131459 +Node: Quick Installation1132141 +Node: Shell Startup Files1134555 +Node: Additional Configuration Options1135633 +Node: Configuration Philosophy1137438 +Node: Non-Unix Installation1139807 +Node: PC Installation1140265 +Node: PC Binary Installation1141585 +Node: PC Compiling1143437 +Ref: PC Compiling-Footnote-11146461 +Node: PC Testing1146570 +Node: PC Using1147750 +Node: Cygwin1151864 +Node: MSYS1152634 +Node: VMS Installation1153135 +Node: VMS Compilation1153926 +Ref: VMS Compilation-Footnote-11155155 +Node: VMS Dynamic Extensions1155213 +Node: VMS Installation Details1156898 +Node: VMS Running1159151 +Node: VMS GNV1163430 +Node: VMS Old Gawk1164165 +Node: Bugs1164636 +Node: Other Versions1168833 +Node: Installation summary1175417 +Node: Notes1176475 +Node: Compatibility Mode1177340 +Node: Additions1178122 +Node: Accessing The Source1179047 +Node: Adding Code1180482 +Node: New Ports1186701 +Node: Derived Files1191189 +Ref: Derived Files-Footnote-11196674 +Ref: Derived Files-Footnote-21196709 +Ref: Derived Files-Footnote-31197307 +Node: Future Extensions1197421 +Node: Implementation Limitations1198079 +Node: Extension Design1199262 +Node: Old Extension Problems1200416 +Ref: Old Extension Problems-Footnote-11201934 +Node: Extension New Mechanism Goals1201991 +Ref: Extension New Mechanism Goals-Footnote-11205355 +Node: Extension Other Design Decisions1205544 +Node: Extension Future Growth1207657 +Node: Old Extension Mechanism1208493 +Node: Notes summary1210256 +Node: Basic Concepts1211438 +Node: Basic High Level1212119 +Ref: figure-general-flow1212401 +Ref: figure-process-flow1213086 +Ref: Basic High Level-Footnote-11216387 +Node: Basic Data Typing1216572 +Node: Glossary1219900 +Node: Copying1251846 +Node: GNU Free Documentation License1289385 +Node: Index1314503 End Tag Table |