aboutsummaryrefslogtreecommitdiffstats
path: root/gawkapi.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2012-06-20 21:41:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2012-06-20 21:41:15 +0300
commitd66f3c9922e36bb2e760e0ac36364c1a5aa11442 (patch)
tree94ef48f1d6a66afdddf4a18f172a0ccf857a96a2 /gawkapi.h
parentcd380faebed56979c993ec46daa8c9d927c2d1dd (diff)
downloadegawk-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.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/gawkapi.h b/gawkapi.h
index 7973d7a8..3325c454 100644
--- a/gawkapi.h
+++ b/gawkapi.h
@@ -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