bzr branch
http://suren.me/webbzr/alps/pcitool
271
by Suren A. Chilingaryan
Prevent excessive calling of getenv by debugging code for better performance |
1 |
#include <stdio.h> |
2 |
#include <stdlib.h> |
|
3 |
#include "env.h" |
|
4 |
||
5 |
||
6 |
static const char *pcilib_env_cache[PCILIB_MAX_ENV] = {0}; |
|
7 |
||
8 |
const char *pcilib_getenv(pcilib_env_t env, const char *var) { |
|
9 |
if (!pcilib_env_cache[env]) { |
|
10 |
const char *var_env = getenv(var); |
|
11 |
pcilib_env_cache[env] = var_env?var_env:(void*)-1; |
|
12 |
return var_env; |
|
13 |
}
|
|
14 |
||
15 |
return (pcilib_env_cache[env] == (void*)-1)?NULL:pcilib_env_cache[env]; |
|
16 |
}
|
|
17 |