-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
- * In order to be useful for every potential user, curl and libcurl are
- * dual-licensed under the MPL and the MIT/X-derivate licenses.
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the MPL or the MIT/X-derivate
- * licenses. You may pick one of these licenses.
+ * furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
- * $Id$
- *****************************************************************************/
+ ***************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+#include "curl_setup.h"
-#ifdef WIN32
-#include <windows.h>
-#endif
+#include <curl/curl.h>
+#include "curl_memory.h"
-#ifdef MALLOCDEBUG
#include "memdebug.h"
-#endif
static
-char *GetEnv(char *variable)
+char *GetEnv(const char *variable)
{
+#if defined(_WIN32_WCE) || defined(CURL_WINDOWS_APP)
+ (void)variable;
+ return NULL;
+#else
#ifdef WIN32
- /* This shit requires windows.h (HUGE) to be included */
char env[MAX_PATH]; /* MAX_PATH is from windef.h */
char *temp = getenv(variable);
env[0] = '\0';
- ExpandEnvironmentStrings(temp, env, sizeof(env));
+ if(temp != NULL)
+ ExpandEnvironmentStringsA(temp, env, sizeof(env));
+ return (env[0] != '\0')?strdup(env):NULL;
#else
- /* no length control */
char *env = getenv(variable);
+ return (env && env[0])?strdup(env):NULL;
+#endif
#endif
- return env?strdup(env):NULL;
}
-char *curl_getenv(char *v)
+char *curl_getenv(const char *v)
{
return GetEnv(v);
}