char* getenv(const char* name) { initStdHandles(); // get environment variables from ChildData if (_environ == NULL) return NULL; // char** env = _environ; // while (*env != NULL) for (int i=0; i<num_env_vars; i++) { char** env = &_environ[i]; char* equals = strchr(*env, '='); if (equals != NULL) { if (_strnicmp(name, *env, equals-*env) == 0) { return equals+1; } } } return NULL; }
char* getenv(const char* name) { #if _WIN32_WCE < 0x500 || !defined(COREDLL_CORESIOA) initStdHandles(); // get environment variables from ChildData #endif if (_environ == NULL) return NULL; // char** env = _environ; // while (*env != NULL) for (int i=0; i<num_env_vars; i++) { char** env = &_environ[i]; char* equals = strchr(*env, '='); if (equals != NULL) { if (_strnicmp(name, *env, equals-*env) == 0) { return equals+1; } } } return NULL; }
int WINAPI WinMain( HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPWSTR lpCmdLine, int /*nShowCmd*/) { int result; int argc; char** argv; // convert program name and lpCmdLine into argc/argv, and handle I/O redirection argc = processCmdLine(lpCmdLine, &argv); #if _WIN32_WCE < 0x500 || !defined(COREDLL_CORESIOA) initStdHandles(); // get environment variables from ChildData #endif //result = main(argc, (char**)argv); return result; }
static inline bool initStdHandlesInline() { if (initialisedStdHandles) return true; return initStdHandles(); }