summaryrefslogtreecommitdiffhomepage
path: root/main.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2021-05-25 14:37:41 +0200
committerJo-Philipp Wich <jo@mein.io>2021-05-25 21:02:40 +0200
commitc4f4b38a84ac2f762f9a3acfb2f22d6b0d971899 (patch)
tree6838cb55b8322343af52e96b024c9073109bad9c /main.c
parentc706eb101934ec05a1aa0fa75ab79f8b1ba405e8 (diff)
main: simplify REQUIRE_SEARCH_PATH initialization
Do not require parsing in C, pre-split string in cmake and pass it as command separated string array down to CPP, so that it can be interpolated directly into a char *path[] array. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'main.c')
-rw-r--r--main.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/main.c b/main.c
index 3fd1f25..10db64a 100644
--- a/main.c
+++ b/main.c
@@ -57,26 +57,20 @@ print_usage(const char *app)
static void
globals_init(uc_vm *vm, uc_value_t *scope, int argc, char **argv)
{
- uc_value_t *arr = ucv_array_new(vm);
- const char *p, *last;
- int i;
+ const char *path[] = { LIB_SEARCH_PATH };
+ uc_value_t *arr;
+ size_t i;
- for (p = last = LIB_SEARCH_PATH;; p++) {
- if (*p == ':' || *p == '\0') {
- ucv_array_push(arr, ucv_string_new_length(last, p - last));
-
- if (!*p)
- break;
+ arr = ucv_array_new(vm);
- last = p + 1;
- }
- }
+ for (i = 0; i < sizeof(path) / sizeof(path[0]); i++)
+ ucv_array_push(arr, ucv_string_new(path[i]));
ucv_object_add(scope, "REQUIRE_SEARCH_PATH", arr);
arr = ucv_array_new(vm);
- for (i = 0; i < argc; i++)
+ for (i = 0; i < (size_t)argc; i++)
ucv_array_push(arr, ucv_string_new(argv[i]));
ucv_object_add(scope, "ARGV", arr);