diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 309 | ||||
-rw-r--r-- | doc/gawk.texi | 100 | ||||
-rw-r--r-- | doc/gawktexi.in | 100 |
4 files changed, 295 insertions, 218 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 34a0b68c..79a2326d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -5,6 +5,10 @@ <arkadiusz@drabczyk.org> for pointing out the lack of documentation. +2021-03-22 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Constructor Functions): Add doc on `make_bool'. + 2021-03-21 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Other Environment Variables): Document "fnv1a" diff --git a/doc/gawk.info b/doc/gawk.info index 76ecc3c5..2200e998 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -25516,7 +25516,8 @@ use them. ' AWK_STRNUM,' ' AWK_ARRAY,' ' AWK_SCALAR, /* opaque access to a variable */' -' AWK_VALUE_COOKIE /* for updating a previously created value */' +' AWK_VALUE_COOKIE, /* for updating a previously created value */' +' AWK_BOOL' '} awk_valtype_t;' This 'enum' indicates the type of a value. It is used in the following 'struct'. @@ -25529,6 +25530,7 @@ use them. ' awk_array_t a;' ' awk_scalar_t scl;' ' awk_value_cookie_t vc;' +' awk_bool_t b;' ' } u;' '} awk_value_t;' An "'awk' value." The 'val_type' member indicates what kind of @@ -25544,6 +25546,7 @@ use them. '#define array_cookie u.a' '#define scalar_cookie u.scl' '#define value_cookie u.vc' +'#define bool_value u.b' Using these macros makes accessing the fields of the 'awk_value_t' more readable. @@ -25854,6 +25857,11 @@ code would use them: a 'char *' value pointing to data previously obtained from 'gawk_malloc()', 'gawk_calloc()', or 'gawk_realloc()'. +'static inline awk_value_t *' +'make_bool(awk_bool_t boolval, awk_value_t *result);' + This function creates a boolean value in the 'awk_value_t' variable + pointed to by 'result'. + File: gawk.info, Node: API Ownership of MPFR and GMP Values, Next: Registration Functions, Prev: Constructor Functions, Up: Extension API Description @@ -26579,16 +26587,17 @@ summarized in *note Table 17.2: table-value-types-returned. Type of Actual Value -------------------------------------------------------------------------- - String Strnum Number Regex Array Undefined -------------------------------------------------------------------------------- - String String String String String false false - Strnum false Strnum Strnum false false false - Number Number Number Number false false false -Type Regex false false false Regex false false -Requested Array false false false false Array false - Scalar Scalar Scalar Scalar Scalar false false - Undefined String Strnum Number Regex Array Undefined - Value false false false false false false + String Strnum Number Regex Bool Array Undefined +---------------------------------------------------------------------------------------- + String String String String String String false false + Strnum false Strnum Strnum false false false false + Number Number Number Number false Number false false +Type Regex false false false Regex false false false +Requested Bool false false false false Bool false false + Array false false false false false Array false + Scalar Scalar Scalar Scalar Scalar Scalar false false + Undefined String Strnum Number Regex Bool Array Undefined + Value false false false false false false false cookie Table 17.2: API value types returned @@ -38571,145 +38580,145 @@ Node: Extension API Description1023562 Node: Extension API Functions Introduction1025275 Ref: table-api-std-headers1027111 Node: General Data Types1031360 -Ref: General Data Types-Footnote-11039990 -Node: Memory Allocation Functions1040289 -Ref: Memory Allocation Functions-Footnote-11044790 -Node: Constructor Functions1044889 -Node: API Ownership of MPFR and GMP Values1048355 -Node: Registration Functions1049668 -Node: Extension Functions1050368 -Node: Exit Callback Functions1055690 -Node: Extension Version String1056940 -Node: Input Parsers1057603 -Node: Output Wrappers1070324 -Node: Two-way processors1074836 -Node: Printing Messages1077101 -Ref: Printing Messages-Footnote-11078272 -Node: Updating ERRNO1078425 -Node: Requesting Values1079164 -Ref: table-value-types-returned1079901 -Node: Accessing Parameters1080837 -Node: Symbol Table Access1082074 -Node: Symbol table by name1082586 -Ref: Symbol table by name-Footnote-11085610 -Node: Symbol table by cookie1085738 -Ref: Symbol table by cookie-Footnote-11089923 -Node: Cached values1089987 -Ref: Cached values-Footnote-11093523 -Node: Array Manipulation1093676 -Ref: Array Manipulation-Footnote-11094767 -Node: Array Data Types1094804 -Ref: Array Data Types-Footnote-11097462 -Node: Array Functions1097554 -Node: Flattening Arrays1102052 -Node: Creating Arrays1109028 -Node: Redirection API1113795 -Node: Extension API Variables1116628 -Node: Extension Versioning1117339 -Ref: gawk-api-version1117768 -Node: Extension GMP/MPFR Versioning1119499 -Node: Extension API Informational Variables1121127 -Node: Extension API Boilerplate1122200 -Node: Changes from API V11126174 -Node: Finding Extensions1127746 -Node: Extension Example1128305 -Node: Internal File Description1129103 -Node: Internal File Ops1133183 -Ref: Internal File Ops-Footnote-11144533 -Node: Using Internal File Ops1144673 -Ref: Using Internal File Ops-Footnote-11147056 -Node: Extension Samples1147330 -Node: Extension Sample File Functions1148859 -Node: Extension Sample Fnmatch1156508 -Node: Extension Sample Fork1157995 -Node: Extension Sample Inplace1159213 -Node: Extension Sample Ord1162839 -Node: Extension Sample Readdir1163675 -Ref: table-readdir-file-types1164564 -Node: Extension Sample Revout1165631 -Node: Extension Sample Rev2way1166220 -Node: Extension Sample Read write array1166960 -Node: Extension Sample Readfile1168902 -Node: Extension Sample Time1169997 -Node: Extension Sample API Tests1171749 -Node: gawkextlib1172241 -Node: Extension summary1175159 -Node: Extension Exercises1178861 -Node: Language History1180103 -Node: V7/SVR3.11181759 -Node: SVR41183911 -Node: POSIX1185345 -Node: BTL1186726 -Node: POSIX/GNU1187455 -Node: Feature History1193233 -Node: Common Extensions1209552 -Node: Ranges and Locales1210835 -Ref: Ranges and Locales-Footnote-11215451 -Ref: Ranges and Locales-Footnote-21215478 -Ref: Ranges and Locales-Footnote-31215713 -Node: Contributors1215936 -Node: History summary1221933 -Node: Installation1223313 -Node: Gawk Distribution1224257 -Node: Getting1224741 -Node: Extracting1225704 -Node: Distribution contents1227342 -Node: Unix Installation1233822 -Node: Quick Installation1234504 -Node: Shell Startup Files1236918 -Node: Additional Configuration Options1238007 -Node: Configuration Philosophy1240322 -Node: Non-Unix Installation1242691 -Node: PC Installation1243151 -Node: PC Binary Installation1243989 -Node: PC Compiling1244424 -Node: PC Using1245541 -Node: Cygwin1249094 -Node: MSYS1250318 -Node: VMS Installation1250920 -Node: VMS Compilation1251711 -Ref: VMS Compilation-Footnote-11252940 -Node: VMS Dynamic Extensions1252998 -Node: VMS Installation Details1254683 -Node: VMS Running1256936 -Node: VMS GNV1261215 -Node: VMS Old Gawk1261950 -Node: Bugs1262421 -Node: Bug address1263084 -Node: Usenet1266066 -Node: Maintainers1267070 -Node: Other Versions1268255 -Node: Installation summary1276120 -Node: Notes1277329 -Node: Compatibility Mode1278123 -Node: Additions1278905 -Node: Accessing The Source1279830 -Node: Adding Code1281267 -Node: New Ports1287486 -Node: Derived Files1291861 -Ref: Derived Files-Footnote-11297521 -Ref: Derived Files-Footnote-21297556 -Ref: Derived Files-Footnote-31298154 -Node: Future Extensions1298268 -Node: Implementation Limitations1298926 -Node: Extension Design1300136 -Node: Old Extension Problems1301280 -Ref: Old Extension Problems-Footnote-11302798 -Node: Extension New Mechanism Goals1302855 -Ref: Extension New Mechanism Goals-Footnote-11306219 -Node: Extension Other Design Decisions1306408 -Node: Extension Future Growth1308521 -Node: Notes summary1309127 -Node: Basic Concepts1310285 -Node: Basic High Level1310966 -Ref: figure-general-flow1311248 -Ref: figure-process-flow1311933 -Ref: Basic High Level-Footnote-11315234 -Node: Basic Data Typing1315419 -Node: Glossary1318747 -Node: Copying1350632 -Node: GNU Free Documentation License1388175 -Node: Index1413295 +Ref: General Data Types-Footnote-11040066 +Node: Memory Allocation Functions1040365 +Ref: Memory Allocation Functions-Footnote-11044866 +Node: Constructor Functions1044965 +Node: API Ownership of MPFR and GMP Values1048618 +Node: Registration Functions1049931 +Node: Extension Functions1050631 +Node: Exit Callback Functions1055953 +Node: Extension Version String1057203 +Node: Input Parsers1057866 +Node: Output Wrappers1070587 +Node: Two-way processors1075099 +Node: Printing Messages1077364 +Ref: Printing Messages-Footnote-11078535 +Node: Updating ERRNO1078688 +Node: Requesting Values1079427 +Ref: table-value-types-returned1080164 +Node: Accessing Parameters1081272 +Node: Symbol Table Access1082509 +Node: Symbol table by name1083021 +Ref: Symbol table by name-Footnote-11086045 +Node: Symbol table by cookie1086173 +Ref: Symbol table by cookie-Footnote-11090358 +Node: Cached values1090422 +Ref: Cached values-Footnote-11093958 +Node: Array Manipulation1094111 +Ref: Array Manipulation-Footnote-11095202 +Node: Array Data Types1095239 +Ref: Array Data Types-Footnote-11097897 +Node: Array Functions1097989 +Node: Flattening Arrays1102487 +Node: Creating Arrays1109463 +Node: Redirection API1114230 +Node: Extension API Variables1117063 +Node: Extension Versioning1117774 +Ref: gawk-api-version1118203 +Node: Extension GMP/MPFR Versioning1119934 +Node: Extension API Informational Variables1121562 +Node: Extension API Boilerplate1122635 +Node: Changes from API V11126609 +Node: Finding Extensions1128181 +Node: Extension Example1128740 +Node: Internal File Description1129538 +Node: Internal File Ops1133618 +Ref: Internal File Ops-Footnote-11144968 +Node: Using Internal File Ops1145108 +Ref: Using Internal File Ops-Footnote-11147491 +Node: Extension Samples1147765 +Node: Extension Sample File Functions1149294 +Node: Extension Sample Fnmatch1156943 +Node: Extension Sample Fork1158430 +Node: Extension Sample Inplace1159648 +Node: Extension Sample Ord1163274 +Node: Extension Sample Readdir1164110 +Ref: table-readdir-file-types1164999 +Node: Extension Sample Revout1166066 +Node: Extension Sample Rev2way1166655 +Node: Extension Sample Read write array1167395 +Node: Extension Sample Readfile1169337 +Node: Extension Sample Time1170432 +Node: Extension Sample API Tests1172184 +Node: gawkextlib1172676 +Node: Extension summary1175594 +Node: Extension Exercises1179296 +Node: Language History1180538 +Node: V7/SVR3.11182194 +Node: SVR41184346 +Node: POSIX1185780 +Node: BTL1187161 +Node: POSIX/GNU1187890 +Node: Feature History1193668 +Node: Common Extensions1209987 +Node: Ranges and Locales1211270 +Ref: Ranges and Locales-Footnote-11215886 +Ref: Ranges and Locales-Footnote-21215913 +Ref: Ranges and Locales-Footnote-31216148 +Node: Contributors1216371 +Node: History summary1222368 +Node: Installation1223748 +Node: Gawk Distribution1224692 +Node: Getting1225176 +Node: Extracting1226139 +Node: Distribution contents1227777 +Node: Unix Installation1234257 +Node: Quick Installation1234939 +Node: Shell Startup Files1237353 +Node: Additional Configuration Options1238442 +Node: Configuration Philosophy1240757 +Node: Non-Unix Installation1243126 +Node: PC Installation1243586 +Node: PC Binary Installation1244424 +Node: PC Compiling1244859 +Node: PC Using1245976 +Node: Cygwin1249529 +Node: MSYS1250753 +Node: VMS Installation1251355 +Node: VMS Compilation1252146 +Ref: VMS Compilation-Footnote-11253375 +Node: VMS Dynamic Extensions1253433 +Node: VMS Installation Details1255118 +Node: VMS Running1257371 +Node: VMS GNV1261650 +Node: VMS Old Gawk1262385 +Node: Bugs1262856 +Node: Bug address1263519 +Node: Usenet1266501 +Node: Maintainers1267505 +Node: Other Versions1268690 +Node: Installation summary1276555 +Node: Notes1277764 +Node: Compatibility Mode1278558 +Node: Additions1279340 +Node: Accessing The Source1280265 +Node: Adding Code1281702 +Node: New Ports1287921 +Node: Derived Files1292296 +Ref: Derived Files-Footnote-11297956 +Ref: Derived Files-Footnote-21297991 +Ref: Derived Files-Footnote-31298589 +Node: Future Extensions1298703 +Node: Implementation Limitations1299361 +Node: Extension Design1300571 +Node: Old Extension Problems1301715 +Ref: Old Extension Problems-Footnote-11303233 +Node: Extension New Mechanism Goals1303290 +Ref: Extension New Mechanism Goals-Footnote-11306654 +Node: Extension Other Design Decisions1306843 +Node: Extension Future Growth1308956 +Node: Notes summary1309562 +Node: Basic Concepts1310720 +Node: Basic High Level1311401 +Ref: figure-general-flow1311683 +Ref: figure-process-flow1312368 +Ref: Basic High Level-Footnote-11315669 +Node: Basic Data Typing1315854 +Node: Glossary1319182 +Node: Copying1351067 +Node: GNU Free Documentation License1388610 +Node: Index1413730 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 591246c0..fabf79b2 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -35582,7 +35582,8 @@ multibyte encoding. @itemx @ @ @ @ AWK_STRNUM, @itemx @ @ @ @ AWK_ARRAY, @itemx @ @ @ @ AWK_SCALAR,@ @ @ @ @ @ @ @ @ /* opaque access to a variable */ -@itemx @ @ @ @ AWK_VALUE_COOKIE@ @ @ @ /* for updating a previously created value */ +@itemx @ @ @ @ AWK_VALUE_COOKIE,@ @ @ /* for updating a previously created value */ +@itemx @ @ @ @ AWK_BOOL @itemx @} awk_valtype_t; This @code{enum} indicates the type of a value. It is used in the following @code{struct}. @@ -35595,6 +35596,7 @@ It is used in the following @code{struct}. @itemx @ @ @ @ @ @ @ @ awk_array_t@ @ @ @ @ @ @ @ a; @itemx @ @ @ @ @ @ @ @ awk_scalar_t@ @ @ @ @ @ @ scl; @itemx @ @ @ @ @ @ @ @ awk_value_cookie_t@ vc; +@itemx @ @ @ @ @ @ @ @ awk_bool_t@ @ @ @ @ @ @ @ @ b; @itemx @ @ @ @ @} u; @itemx @} awk_value_t; An ``@command{awk} value.'' @@ -35610,6 +35612,7 @@ The @code{val_type} member indicates what kind of value the @itemx #define array_cookie@ @ @ u.a @itemx #define scalar_cookie@ @ u.scl @itemx #define value_cookie@ @ @ u.vc +@itemx #define bool_value@ @ @ @ @ u.b Using these macros makes accessing the fields of the @code{awk_value_t} more readable. @@ -35937,6 +35940,11 @@ the regular expression of length @code{len}. It expects @code{string} to be a @samp{char *} value pointing to data previously obtained from @code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}. +@item static inline awk_value_t * +@itemx make_bool(awk_bool_t boolval, awk_value_t *result); +This function creates a boolean value in the @code{awk_value_t} variable +pointed to by @code{result}. + @end table @node API Ownership of MPFR and GMP Values @@ -36737,7 +36745,8 @@ value type, as appropriate. This behavior is summarized in <colspec colname="c6"/> <colspec colname="c7"/> <colspec colname="c8"/> - <spanspec spanname="hspan" namest="c3" nameend="c8" align="center"/> + <colspec colname="c9"/> + <spanspec spanname="hspan" namest="c3" nameend="c9" align="center"/> <thead> <row><entry></entry><entry spanname="hspan"><para>Type of Actual Value</para></entry></row> <row> @@ -36747,6 +36756,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Strnum</para></entry> <entry><para>Number</para></entry> <entry><para>Regex</para></entry> + <entry><para>Bool</para></entry> <entry><para>Array</para></entry> <entry><para>Undefined</para></entry> </row> @@ -36759,6 +36769,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>String</para></entry> <entry><para>String</para></entry> <entry><para>String</para></entry> + <entry><para>String</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -36771,6 +36782,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> </row> <row> <entry></entry> @@ -36779,6 +36791,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Number</para></entry> <entry><para>Number</para></entry> <entry><para>false</para></entry> + <entry><para>Number</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -36787,6 +36800,7 @@ value type, as appropriate. This behavior is summarized in <entry><para><emphasis role="bold">Regex</emphasis></para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> <entry><para>Regex</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> @@ -36794,11 +36808,23 @@ value type, as appropriate. This behavior is summarized in </row> <row> <entry><para><emphasis role="bold">Requested</emphasis></para></entry> + <entry><para><emphasis role="bold">Bool</emphasis></para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>Bool</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + </row> + <row> + <entry><para></para></entry> <entry><para><emphasis role="bold">Array</emphasis></para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> <entry><para>Array</para></entry> <entry><para>false</para></entry> </row> @@ -36809,6 +36835,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Scalar</para></entry> <entry><para>Scalar</para></entry> <entry><para>Scalar</para></entry> + <entry><para>Scalar</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -36819,6 +36846,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Strnum</para></entry> <entry><para>Number</para></entry> <entry><para>Regex</para></entry> + <entry><para>Bool</para></entry> <entry><para>Array</para></entry> <entry><para>Undefined</para></entry> </row> @@ -36831,6 +36859,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> </row> </tbody> </tgroup> @@ -36847,43 +36876,46 @@ value type, as appropriate. This behavior is summarized in \vglue-1.1\baselineskip @end tex @c @multitable @columnfractions .166 .166 .198 .15 .15 .166 -@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Array} {Undefined} -@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined -@item @tab @b{String} @tab String @tab String @tab String @tab String @tab false @tab false -@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false -@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab false @tab false -@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false -@item @b{Requested} @tab @b{Array} @tab false @tab false @tab false @tab false @tab Array @tab false -@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false -@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined -@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false +@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Number} {Array} {Undefined} +@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined +@item @tab @b{String} @tab String @tab String @tab String @tab String @tab String @tab false @tab false +@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false @tab false +@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab Number @tab false @tab false +@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false @tab false +@item @b{Requested} @tab @b{Bool} @tab false @tab false @tab false @tab false @tab Bool @tab false @tab false +@item @tab @b{Array} @tab false @tab false @tab false @tab false @tab false @tab Array @tab false +@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false +@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined +@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false @tab false @end multitable @end ifnotdocbook @end ifnotplaintext @ifplaintext @verbatim - +-------------------------------------------------------+ - | Type of Actual Value: | - +--------+--------+--------+--------+-------+-----------+ - | String | Strnum | Number | Regex | Array | Undefined | -+-----------+-----------+--------+--------+--------+--------+-------+-----------+ -| | String | String | String | String | String | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Strnum | false | Strnum | Strnum | false | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Number | Number | Number | Number | false | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Regex | false | false | false | Regex | false | false | -| Type +-----------+--------+--------+--------+--------+-------+-----------+ -| Requested | Array | false | false | false | false | Array | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Scalar | Scalar | Scalar | Scalar | Scalar | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Undefined | String | Strnum | Number | Regex | Array | Undefined | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Value | false | false | false | false | false | false | -| | Cookie | | | | | | | -+-----------+-----------+--------+--------+--------+--------+-------+-----------+ + +----------------------------------------------------------------+ + | Type of Actual Value: | + +--------+--------+--------+--------+--------+-------+-----------+ + | String | Strnum | Number | Regex | Bool | Array | Undefined | ++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | String | String | String | String | String | String | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Strnum | false | Strnum | Strnum | false | false | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Number | Number | Number | Number | false | Number | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Regex | false | false | false | Regex | false | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| Type | Bool | false | false | false | false | Bool | false | false | +| Requested +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Array | false | false | false | false | false | Array | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Scalar | Scalar | Scalar | Scalar | Scalar | Scalar | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Undefined | String | Strnum | Number | Regex | Bool | Array | Undefined | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Value | false | false | false | false | false | false | false | +| | Cookie | | | | | | | | ++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+ @end verbatim @end ifplaintext @end float diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 38e9dc0e..efe30c10 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -34425,7 +34425,8 @@ multibyte encoding. @itemx @ @ @ @ AWK_STRNUM, @itemx @ @ @ @ AWK_ARRAY, @itemx @ @ @ @ AWK_SCALAR,@ @ @ @ @ @ @ @ @ /* opaque access to a variable */ -@itemx @ @ @ @ AWK_VALUE_COOKIE@ @ @ @ /* for updating a previously created value */ +@itemx @ @ @ @ AWK_VALUE_COOKIE,@ @ @ /* for updating a previously created value */ +@itemx @ @ @ @ AWK_BOOL @itemx @} awk_valtype_t; This @code{enum} indicates the type of a value. It is used in the following @code{struct}. @@ -34438,6 +34439,7 @@ It is used in the following @code{struct}. @itemx @ @ @ @ @ @ @ @ awk_array_t@ @ @ @ @ @ @ @ a; @itemx @ @ @ @ @ @ @ @ awk_scalar_t@ @ @ @ @ @ @ scl; @itemx @ @ @ @ @ @ @ @ awk_value_cookie_t@ vc; +@itemx @ @ @ @ @ @ @ @ awk_bool_t@ @ @ @ @ @ @ @ @ b; @itemx @ @ @ @ @} u; @itemx @} awk_value_t; An ``@command{awk} value.'' @@ -34453,6 +34455,7 @@ The @code{val_type} member indicates what kind of value the @itemx #define array_cookie@ @ @ u.a @itemx #define scalar_cookie@ @ u.scl @itemx #define value_cookie@ @ @ u.vc +@itemx #define bool_value@ @ @ @ @ u.b Using these macros makes accessing the fields of the @code{awk_value_t} more readable. @@ -34780,6 +34783,11 @@ the regular expression of length @code{len}. It expects @code{string} to be a @samp{char *} value pointing to data previously obtained from @code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}. +@item static inline awk_value_t * +@itemx make_bool(awk_bool_t boolval, awk_value_t *result); +This function creates a boolean value in the @code{awk_value_t} variable +pointed to by @code{result}. + @end table @node API Ownership of MPFR and GMP Values @@ -35580,7 +35588,8 @@ value type, as appropriate. This behavior is summarized in <colspec colname="c6"/> <colspec colname="c7"/> <colspec colname="c8"/> - <spanspec spanname="hspan" namest="c3" nameend="c8" align="center"/> + <colspec colname="c9"/> + <spanspec spanname="hspan" namest="c3" nameend="c9" align="center"/> <thead> <row><entry></entry><entry spanname="hspan"><para>Type of Actual Value</para></entry></row> <row> @@ -35590,6 +35599,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Strnum</para></entry> <entry><para>Number</para></entry> <entry><para>Regex</para></entry> + <entry><para>Bool</para></entry> <entry><para>Array</para></entry> <entry><para>Undefined</para></entry> </row> @@ -35602,6 +35612,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>String</para></entry> <entry><para>String</para></entry> <entry><para>String</para></entry> + <entry><para>String</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -35614,6 +35625,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> </row> <row> <entry></entry> @@ -35622,6 +35634,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Number</para></entry> <entry><para>Number</para></entry> <entry><para>false</para></entry> + <entry><para>Number</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -35630,6 +35643,7 @@ value type, as appropriate. This behavior is summarized in <entry><para><emphasis role="bold">Regex</emphasis></para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> <entry><para>Regex</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> @@ -35637,11 +35651,23 @@ value type, as appropriate. This behavior is summarized in </row> <row> <entry><para><emphasis role="bold">Requested</emphasis></para></entry> + <entry><para><emphasis role="bold">Bool</emphasis></para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + <entry><para>Bool</para></entry> + <entry><para>false</para></entry> + <entry><para>false</para></entry> + </row> + <row> + <entry><para></para></entry> <entry><para><emphasis role="bold">Array</emphasis></para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> <entry><para>Array</para></entry> <entry><para>false</para></entry> </row> @@ -35652,6 +35678,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Scalar</para></entry> <entry><para>Scalar</para></entry> <entry><para>Scalar</para></entry> + <entry><para>Scalar</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> </row> @@ -35662,6 +35689,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>Strnum</para></entry> <entry><para>Number</para></entry> <entry><para>Regex</para></entry> + <entry><para>Bool</para></entry> <entry><para>Array</para></entry> <entry><para>Undefined</para></entry> </row> @@ -35674,6 +35702,7 @@ value type, as appropriate. This behavior is summarized in <entry><para>false</para></entry> <entry><para>false</para></entry> <entry><para>false</para></entry> + <entry><para>false</para></entry> </row> </tbody> </tgroup> @@ -35690,43 +35719,46 @@ value type, as appropriate. This behavior is summarized in \vglue-1.1\baselineskip @end tex @c @multitable @columnfractions .166 .166 .198 .15 .15 .166 -@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Array} {Undefined} -@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined -@item @tab @b{String} @tab String @tab String @tab String @tab String @tab false @tab false -@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false -@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab false @tab false -@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false -@item @b{Requested} @tab @b{Array} @tab false @tab false @tab false @tab false @tab Array @tab false -@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false -@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined -@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false +@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Number} {Array} {Undefined} +@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined +@item @tab @b{String} @tab String @tab String @tab String @tab String @tab String @tab false @tab false +@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false @tab false +@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab Number @tab false @tab false +@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false @tab false +@item @b{Requested} @tab @b{Bool} @tab false @tab false @tab false @tab false @tab Bool @tab false @tab false +@item @tab @b{Array} @tab false @tab false @tab false @tab false @tab false @tab Array @tab false +@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false +@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined +@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false @tab false @end multitable @end ifnotdocbook @end ifnotplaintext @ifplaintext @verbatim - +-------------------------------------------------------+ - | Type of Actual Value: | - +--------+--------+--------+--------+-------+-----------+ - | String | Strnum | Number | Regex | Array | Undefined | -+-----------+-----------+--------+--------+--------+--------+-------+-----------+ -| | String | String | String | String | String | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Strnum | false | Strnum | Strnum | false | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Number | Number | Number | Number | false | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Regex | false | false | false | Regex | false | false | -| Type +-----------+--------+--------+--------+--------+-------+-----------+ -| Requested | Array | false | false | false | false | Array | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Scalar | Scalar | Scalar | Scalar | Scalar | false | false | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Undefined | String | Strnum | Number | Regex | Array | Undefined | -| +-----------+--------+--------+--------+--------+-------+-----------+ -| | Value | false | false | false | false | false | false | -| | Cookie | | | | | | | -+-----------+-----------+--------+--------+--------+--------+-------+-----------+ + +----------------------------------------------------------------+ + | Type of Actual Value: | + +--------+--------+--------+--------+--------+-------+-----------+ + | String | Strnum | Number | Regex | Bool | Array | Undefined | ++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | String | String | String | String | String | String | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Strnum | false | Strnum | Strnum | false | false | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Number | Number | Number | Number | false | Number | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Regex | false | false | false | Regex | false | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| Type | Bool | false | false | false | false | Bool | false | false | +| Requested +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Array | false | false | false | false | false | Array | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Scalar | Scalar | Scalar | Scalar | Scalar | Scalar | false | false | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Undefined | String | Strnum | Number | Regex | Bool | Array | Undefined | +| +-----------+--------+--------+--------+--------+--------+-------+-----------+ +| | Value | false | false | false | false | false | false | false | +| | Cookie | | | | | | | | ++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+ @end verbatim @end ifplaintext @end float |