diff options
Diffstat (limited to 'source.c')
-rw-r--r-- | source.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -196,3 +196,28 @@ uc_source_runpath_set(uc_source_t *source, const char *runpath) source->runpath = xstrdup(runpath); } + +bool +uc_source_export_add(uc_source_t *source, uc_value_t *name) +{ + ssize_t idx = uc_source_export_lookup(source, name); + + if (idx > -1) + return false; + + uc_vector_push(&source->exports, ucv_get(name)); + + return true; +} + +ssize_t +uc_source_export_lookup(uc_source_t *source, uc_value_t *name) +{ + size_t i; + + for (i = 0; i < source->exports.count; i++) + if (ucv_is_equal(source->exports.entries[i], name)) + return i; + + return -1; +} |