env.c 406 B

1234567891011121314151617
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "env.h"
  4. static const char *pcilib_env_cache[PCILIB_MAX_ENV] = {0};
  5. const char *pcilib_getenv(pcilib_env_t env, const char *var) {
  6. if (!pcilib_env_cache[env]) {
  7. const char *var_env = getenv(var);
  8. pcilib_env_cache[env] = var_env?var_env:(void*)-1;
  9. return var_env;
  10. }
  11. return (pcilib_env_cache[env] == (void*)-1)?NULL:pcilib_env_cache[env];
  12. }