diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2012-06-20 21:41:15 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2012-06-20 21:41:15 +0300 |
commit | d66f3c9922e36bb2e760e0ac36364c1a5aa11442 (patch) | |
tree | 94ef48f1d6a66afdddf4a18f172a0ccf857a96a2 /gawkapi.h | |
parent | cd380faebed56979c993ec46daa8c9d927c2d1dd (diff) | |
download | egawk-d66f3c9922e36bb2e760e0ac36364c1a5aa11442.tar.gz egawk-d66f3c9922e36bb2e760e0ac36364c1a5aa11442.tar.bz2 egawk-d66f3c9922e36bb2e760e0ac36364c1a5aa11442.zip |
API: Add set_parameter function and test.
Diffstat (limited to 'gawkapi.h')
-rw-r--r-- | gawkapi.h | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -242,9 +242,14 @@ typedef struct gawk_api { awk_value_t *result); /* - * FIXME: Missing update_argument to convert an undefined - * argument into an array or scalar. + * Convert a paramter that was undefined into an array + * (provide call-by-reference for arrays). Returns false + * if count is too big, or if the argument's type is + * not undefined. */ + awk_bool_t (*set_argument)(awk_ext_id_t id, + size_t count, + awk_array_t array); /* Functions to print messages */ void (*api_fatal)(awk_ext_id_t id, const char *format, ...); @@ -373,6 +378,8 @@ typedef struct gawk_api { #define get_argument(count, wanted, result) \ (api->get_argument(ext_id, count, wanted, result)) +#define set_argument(count, new_array) \ + (api->set_argument(ext_id, count, new_array)) #define fatal api->api_fatal #define warning api->api_warning |