Seyshell
Loading...
Searching...
No Matches
Functions
env.h File Reference
#include "struct.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for env.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

char * get_env_value (char *key)
 Recherche et retourne la valeur d'une variable d'environnement d'après sa clé.
 
int set_env_value (char *key, char *value)
 Modifie la valeur d'une variable d'environnement existante.
 
int get_env_len (env *envs)
 Calcule le nombre de variables d'environnement actives dans le tableau.
 
envinit_envs ()
 Initialise le tableau des variables d'environnement par défaut.
 

Function Documentation

◆ get_env_len()

int get_env_len ( env envs)

Calcule le nombre de variables d'environnement actives dans le tableau.

Parcourt le tableau de structures jusqu'à rencontrer la sentinelle (clé égale à NULL).

Parameters
envsPointeur vers le tableau de variables d'environnement.
Returns
int Le nombre de variables stockées (hors sentinelle).

◆ get_env_value()

char * get_env_value ( char *  key)

Recherche et retourne la valeur d'une variable d'environnement d'après sa clé.

Parameters
keyLe nom de la variable recherchée (ex: "PWD").
Returns
char* Un pointeur vers la chaîne de caractères contenant la valeur, ou NULL si la clé n'a pas été trouvée.

◆ init_envs()

env * init_envs ( )

Initialise le tableau des variables d'environnement par défaut.

Alloue l'espace mémoire pour les variables de base ("PWD", "USER", "HOST") et ajoute une sentinelle NULL à la fin pour permettre un parcours sûr.

Returns
env* Un pointeur vers le tableau d'environnements alloué, ou NULL en cas d'échec du malloc.

◆ set_env_value()

int set_env_value ( char *  key,
char *  value 
)

Modifie la valeur d'une variable d'environnement existante.

Note
La nouvelle valeur est dupliquée dynamiquement en mémoire via strdup.
Warning
Cette fonction ne gère pas l'ajout d'une nouvelle clé si elle n'existe pas déjà.
Parameters
keyLe nom de la variable à modifier.
valueLa nouvelle chaîne de caractères à affecter.
Returns
int 1 si la modification a réussi, 0 si la clé n'existe pas dans le tableau.