NAMEBEG YETI_Result Environment::get(const char * name, String& value) { char * env; value.set_length(0); #if defined(YETI_CONFIG_HAVE_GETENV) env = getenv(name); if (env) { value = env; return YETI_SUCCESS; } else { return YETI_ERROR_NO_SUCH_ITEM; } #elif defined(YETI_CONFIG_HAVE_DUPENV_S) if (dupenv_s(&env, NULL, name) != 0) { return YETI_FAILURE; } else if (env != NULL) { value = env; free(env); return YETI_SUCCESS; } else { return YETI_ERROR_NO_SUCH_ITEM; } #else return YETI_ERROR_NOT_SUPPORTED; #endif }
/*---------------------------------------------------------------------- | NPT_GetEnvironment +---------------------------------------------------------------------*/ NPT_Result NPT_GetEnvironment(const char* name, NPT_String& value) { char* env; /* default value */ value.SetLength(0); #if defined(NPT_CONFIG_HAVE_GETENV) env = getenv(name); if (env) { value = env; return NPT_SUCCESS; } else { return NPT_ERROR_NO_SUCH_ITEM; } #elif defined(NPT_CONFIG_HAVE_DUPENV_S) if (dupenv_s(&env, NULL, name) != 0) { return NPT_FAILURE; } else if (env != NULL) { value = env; free(env); return NPT_SUCCESS; } else { return NPT_ERROR_NO_SUCH_ITEM; } #else #error "no getenv or getenv_s available on this platform" #endif }
/*---------------------------------------------------------------------- | ATX_GetEnvironment +---------------------------------------------------------------------*/ ATX_Result ATX_GetEnvironment(const char* name, ATX_String* value) { char* env; /* default value */ ATX_String_SetLength(value, 0); #if defined(ATX_CONFIG_HAVE_GETENV) env = getenv(name); if (env) { ATX_String_Assign(value, env); return ATX_SUCCESS; } else { return ATX_ERROR_NO_SUCH_ITEM; } #elif defined(ATX_CONFIG_HAVE_DUPENV_S) if (dupenv_s(&env, NULL, name) != 0) { return ATX_FAILURE; } else if (env != NULL) { ATX_String_Assign(value, env); free(env); return ATX_SUCCESS; } else { return ATX_ERROR_NO_SUCH_ITEM; } #else #error "no getenv or getenv_s available on this platform" #endif }