summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorruki <[email protected]>2017-09-30 11:37:32 +0800
committerruki <[email protected]>2017-09-30 11:37:32 +0800
commit05a3d6aa2a2b94981077e495beefd75b16363f44 (patch)
treeb907f5d94ea0952d290c92c44553f72304a3edab /core/src
parentb77dcc4cea91854766a718b5d03d49a25de6a180 (diff)
fix setenv empty value bug
Diffstat (limited to 'core/src')
-rw-r--r--core/src/tbox/src/tbox/platform/libc/environment.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/src/tbox/src/tbox/platform/libc/environment.c b/core/src/tbox/src/tbox/platform/libc/environment.c
index 63e64140c..ae0f622bd 100644
--- a/core/src/tbox/src/tbox/platform/libc/environment.c
+++ b/core/src/tbox/src/tbox/platform/libc/environment.c
@@ -108,7 +108,10 @@ tb_bool_t tb_environment_save(tb_environment_ref_t environment, tb_char_t const*
tb_string_strip(&values, tb_string_size(&values) - 1);
// save variable
- tb_bool_t ok = !setenv(name, tb_string_cstr(&values), 1);
+ tb_bool_t ok;
+ tb_char_t const* value_cstr = tb_string_cstr(&values);
+ if (value_cstr) ok = !setenv(name, value_cstr, 1);
+ else ok = !unsetenv(name);
// exit values string
tb_string_exit(&values);