/alps/pcitool

To get this branch, use:
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