summaryrefslogtreecommitdiffstats
path: root/instance.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-06-24 23:58:37 +0200
committerFelix Fietkau <nbd@openwrt.org>2012-06-24 23:58:37 +0200
commit4bff1b5ebcffc1488649199b88d3602184edf7f3 (patch)
tree0942dc6a6c0c4590ff33ef26af7e38e6d0f0d38a /instance.c
parent43dec9ddfc926aaa884ecf939f8344e960805528 (diff)
downloadunitd-4bff1b5ebcffc1488649199b88d3602184edf7f3.tar
unitd-4bff1b5ebcffc1488649199b88d3602184edf7f3.zip
fix env var handling, add support for filling blobmsg_list from arrays
Diffstat (limited to 'instance.c')
-rw-r--r--instance.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/instance.c b/instance.c
index cc839d7..c70fff6 100644
--- a/instance.c
+++ b/instance.c
@@ -30,7 +30,7 @@ instance_run(struct service_instance *in)
argc++;
blobmsg_list_for_each(&in->env, var)
- putenv(blobmsg_data(var->data));
+ setenv(blobmsg_name(var->data), blobmsg_data(var->data), 1);
argv = alloca(sizeof(char *) * argc);
argc = 0;
@@ -149,13 +149,13 @@ instance_config_parse(struct service_instance *in)
if ((cur = tb[INSTANCE_ATTR_ENV])) {
if (!blobmsg_check_attr_list(cur, BLOBMSG_TYPE_STRING))
return false;
- blobmsg_list_fill(&in->env, blobmsg_data(cur), blobmsg_data_len(cur));
+ blobmsg_list_fill(&in->env, blobmsg_data(cur), blobmsg_data_len(cur), false);
}
if ((cur = tb[INSTANCE_ATTR_DATA])) {
if (!blobmsg_check_attr_list(cur, BLOBMSG_TYPE_STRING))
return false;
- blobmsg_list_fill(&in->data, blobmsg_data(cur), blobmsg_data_len(cur));
+ blobmsg_list_fill(&in->data, blobmsg_data(cur), blobmsg_data_len(cur), false);
}
return true;