aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
}