#include "env.h" env *init_envs() { env *envs = malloc(sizeof(env) * 3); if (envs == NULL) return NULL; envs[0].key = "PWD"; envs[0].value = "/"; envs[1].key = "USER"; envs[1].value = "iatic"; envs[2].key = "HOST"; envs[2].value = "tartempion"; return envs; } env *get_instance() { static env *instance = NULL; if (instance == NULL) { instance = init_envs(); } return instance; } int get_env_len(env *envs) { int i = 0; while (envs[i].key != NULL) { i++; } return i; } char *get_env_value(char *key) { env *envs = get_instance(); for (int i = 0; i < get_env_len(envs); i++) { if (strcmp(envs[i].key, key) == 0) { return envs[i].value; } } return NULL; } int set_env_value(char *key, char *value) { env *envs = get_instance(); for (int i = 0; i < get_env_len(envs); i++) { if (strcmp(envs[i].key, key) == 0) { envs[i].value = strdup(value); return 1; } } return 0; }