diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-03-22 14:57:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-22 14:57:35 +0100 |
commit | fbe2722941f10bfb0883af216959445a5446cbd3 (patch) | |
tree | 2fc39ec8cd67b8913a7bf1d565fad6f6ca5ad923 | |
parent | 3eaca1db52be980f62aed281fedf319eff599fbd (diff) | |
parent | 8b5dc6079f1f9fcfb6535ba305c9352488bdd5ab (diff) |
Merge pull request #59 from jow-/stdlib-function-getter
lib: provide API function to obtain stdlib function implementations
-rw-r--r-- | include/ucode/lib.h | 1 | ||||
-rw-r--r-- | lib.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/ucode/lib.h b/include/ucode/lib.h index 095956a..a80844d 100644 --- a/include/ucode/lib.h +++ b/include/ucode/lib.h @@ -29,6 +29,7 @@ typedef struct { extern const uc_function_list_t uc_stdlib_functions[]; void uc_stdlib_load(uc_value_t *scope); +uc_cfn_ptr_t uc_stdlib_function(const char *name); bool uc_source_context_format(uc_stringbuf_t *buf, uc_source_t *src, size_t off, bool compact); bool uc_error_context_format(uc_stringbuf_t *buf, uc_source_t *src, uc_value_t *stacktrace, size_t off); @@ -3194,3 +3194,15 @@ uc_stdlib_load(uc_value_t *scope) { uc_function_list_register(scope, uc_stdlib_functions); } + +uc_cfn_ptr_t +uc_stdlib_function(const char *name) +{ + size_t i; + + for (i = 0; i < ARRAY_SIZE(uc_stdlib_functions); i++) + if (!strcmp(uc_stdlib_functions[i].name, name)) + return uc_stdlib_functions[i].func; + + return NULL; +} |