aboutsummaryrefslogtreecommitdiff
path: root/lib/getenv.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2007-09-27 00:58:41 +0000
committerYang Tse <yangsita@gmail.com>2007-09-27 00:58:41 +0000
commit9c5cd6c4137e2c0f238b6f767fe40fdacb9b6ede (patch)
treeb8b0c922e42b20622dafef55d2add6d1e546be24 /lib/getenv.c
parent9b55056423e2e29f49ab8825133ceb5ac106a2b2 (diff)
Fix compiler warning: the address of 'env' will always evaluate as 'true'
Diffstat (limited to 'lib/getenv.c')
-rw-r--r--lib/getenv.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/getenv.c b/lib/getenv.c
index 4f955f893..475c3d3ca 100644
--- a/lib/getenv.c
+++ b/lib/getenv.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -48,18 +48,15 @@ char *GetEnv(const char *variable)
env[0] = '\0';
if (temp != NULL)
ExpandEnvironmentStrings(temp, env, sizeof(env));
+ return (env[0] != '\0')?strdup(env):NULL;
#else
-#ifdef VMS
- char *env = getenv(variable);
- if (env && strcmp("HOME",variable) == 0) {
- env = decc$translate_vms(env);
- }
-#else
- /* no length control */
char *env = getenv(variable);
+#ifdef VMS
+ if (env && strcmp("HOME",variable) == 0)
+ env = decc$translate_vms(env);
#endif
+ return env?strdup(env):NULL;
#endif
- return (env && env[0])?strdup(env):NULL;
#endif
}