aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds2.c
diff options
context:
space:
mode:
authorScott Prager <splinterofchaos@gmail.com>2015-05-03 09:25:53 -0400
committerScott Prager <splinterofchaos@gmail.com>2015-05-29 13:12:12 -0400
commit412d246be71bd99cb4edde4e6f984b0b0d91bcd9 (patch)
tree01307051583b9cf2faf56778a9bd88e00d2a2122 /src/nvim/ex_cmds2.c
parentfa0f1222212704c93ab828b876bda5e9e1cb507e (diff)
downloadrneovim-412d246be71bd99cb4edde4e6f984b0b0d91bcd9.tar.gz
rneovim-412d246be71bd99cb4edde4e6f984b0b0d91bcd9.tar.bz2
rneovim-412d246be71bd99cb4edde4e6f984b0b0d91bcd9.zip
getenv: return NULL if empty #2574
Making an environment variable empty can be a way of unsetting it for platforms that don't support unsetenv(). In most cases, we treat empty variables as having been unset. For all others, use os_env_exists().
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r--src/nvim/ex_cmds2.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index 3fe4acc471..5c1f487d5e 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -3025,10 +3025,11 @@ char *get_mess_lang(void)
# endif
# else
p = os_getenv("LC_ALL");
- if (p == NULL || *p == NUL) {
+ if (p == NULL) {
p = os_getenv("LC_MESSAGES");
- if (p == NULL || *p == NUL)
+ if (p == NULL) {
p = os_getenv("LANG");
+ }
}
# endif
return p;
@@ -3044,15 +3045,17 @@ static char_u *get_mess_env(void)
char_u *p;
p = (char_u *)os_getenv("LC_ALL");
- if (p == NULL || *p == NUL) {
+ if (p == NULL) {
p = (char_u *)os_getenv("LC_MESSAGES");
- if (p == NULL || *p == NUL) {
+ if (p == NULL) {
p = (char_u *)os_getenv("LANG");
- if (p != NULL && ascii_isdigit(*p))
+ if (p != NULL && ascii_isdigit(*p)) {
p = NULL; /* ignore something like "1043" */
+ }
# ifdef HAVE_GET_LOCALE_VAL
- if (p == NULL || *p == NUL)
+ if (p == NULL) {
p = (char_u *)get_locale_val(LC_CTYPE);
+ }
# endif
}
}