\doxysection{src/env.h File Reference} \hypertarget{env_8h}{}\label{env_8h}\index{src/env.h@{src/env.h}} {\ttfamily \#include "{}struct.\+h"{}}\newline {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$string.\+h$>$}\newline Include dependency graph for env.\+h\+: % FIG 0 This graph shows which files directly or indirectly include this file\+: % FIG 1 \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{env_8h_a0ce3d2cd4284dee64477512b489ddb4f}{get\+\_\+env\+\_\+value}} (char \texorpdfstring{$\ast$}{*}key) \begin{DoxyCompactList}\small\item\em Recherche et retourne la valeur d\textquotesingle{}une variable d\textquotesingle{}environnement d\textquotesingle{}après sa clé. \end{DoxyCompactList}\item int \mbox{\hyperlink{env_8h_a2447e9b952249197b828841281389e8f}{set\+\_\+env\+\_\+value}} (char \texorpdfstring{$\ast$}{*}key, char \texorpdfstring{$\ast$}{*}value) \begin{DoxyCompactList}\small\item\em Modifie la valeur d\textquotesingle{}une variable d\textquotesingle{}environnement existante. \end{DoxyCompactList}\item int \mbox{\hyperlink{env_8h_a684d25b4cc5d9bf14dd67309de8568bf}{get\+\_\+env\+\_\+len}} (\mbox{\hyperlink{structenv}{env}} \texorpdfstring{$\ast$}{*}envs) \begin{DoxyCompactList}\small\item\em Calcule le nombre de variables d\textquotesingle{}environnement actives dans le tableau. \end{DoxyCompactList}\item \mbox{\hyperlink{structenv}{env}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{env_8h_a9f03a70f263b1c039d6a3975b02cfadd}{init\+\_\+envs}} () \begin{DoxyCompactList}\small\item\em Initialise le tableau des variables d\textquotesingle{}environnement par défaut. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Function Documentation} \Hypertarget{env_8h_a684d25b4cc5d9bf14dd67309de8568bf}\label{env_8h_a684d25b4cc5d9bf14dd67309de8568bf} \index{env.h@{env.h}!get\_env\_len@{get\_env\_len}} \index{get\_env\_len@{get\_env\_len}!env.h@{env.h}} \doxysubsubsection{\texorpdfstring{get\_env\_len()}{get\_env\_len()}} {\footnotesize\ttfamily int get\+\_\+env\+\_\+len (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structenv}{env}} \texorpdfstring{$\ast$}{*}}]{envs }\end{DoxyParamCaption})} Calcule le nombre de variables d\textquotesingle{}environnement actives dans le tableau. Parcourt le tableau de structures jusqu\textquotesingle{}à rencontrer la sentinelle (clé égale à NULL). \begin{DoxyParams}{Parameters} {\em envs} & Pointeur vers le tableau de variables d\textquotesingle{}environnement. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} int Le nombre de variables stockées (hors sentinelle). \end{DoxyReturn} \Hypertarget{env_8h_a0ce3d2cd4284dee64477512b489ddb4f}\label{env_8h_a0ce3d2cd4284dee64477512b489ddb4f} \index{env.h@{env.h}!get\_env\_value@{get\_env\_value}} \index{get\_env\_value@{get\_env\_value}!env.h@{env.h}} \doxysubsubsection{\texorpdfstring{get\_env\_value()}{get\_env\_value()}} {\footnotesize\ttfamily char \texorpdfstring{$\ast$}{*} get\+\_\+env\+\_\+value (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{key }\end{DoxyParamCaption})} Recherche et retourne la valeur d\textquotesingle{}une variable d\textquotesingle{}environnement d\textquotesingle{}après sa clé. \begin{DoxyParams}{Parameters} {\em key} & Le nom de la variable recherchée (ex\+: "{}\+PWD"{}). \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} char\texorpdfstring{$\ast$}{*} Un pointeur vers la chaîne de caractères contenant la valeur, ou NULL si la clé n\textquotesingle{}a pas été trouvée. \end{DoxyReturn} \Hypertarget{env_8h_a9f03a70f263b1c039d6a3975b02cfadd}\label{env_8h_a9f03a70f263b1c039d6a3975b02cfadd} \index{env.h@{env.h}!init\_envs@{init\_envs}} \index{init\_envs@{init\_envs}!env.h@{env.h}} \doxysubsubsection{\texorpdfstring{init\_envs()}{init\_envs()}} {\footnotesize\ttfamily \mbox{\hyperlink{structenv}{env}} \texorpdfstring{$\ast$}{*} init\+\_\+envs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Initialise le tableau des variables d\textquotesingle{}environnement par défaut. Alloue l\textquotesingle{}espace mémoire pour les variables de base ("{}\+PWD"{}, "{}\+USER"{}, "{}\+HOST"{}) et ajoute une sentinelle NULL à la fin pour permettre un parcours sûr. \begin{DoxyReturn}{Returns} env\texorpdfstring{$\ast$}{*} Un pointeur vers le tableau d\textquotesingle{}environnements alloué, ou NULL en cas d\textquotesingle{}échec du malloc. \end{DoxyReturn} \Hypertarget{env_8h_a2447e9b952249197b828841281389e8f}\label{env_8h_a2447e9b952249197b828841281389e8f} \index{env.h@{env.h}!set\_env\_value@{set\_env\_value}} \index{set\_env\_value@{set\_env\_value}!env.h@{env.h}} \doxysubsubsection{\texorpdfstring{set\_env\_value()}{set\_env\_value()}} {\footnotesize\ttfamily int set\+\_\+env\+\_\+value (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{key, }\item[{char \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})} Modifie la valeur d\textquotesingle{}une variable d\textquotesingle{}environnement existante. \begin{DoxyNote}{Note} La nouvelle valeur est dupliquée dynamiquement en mémoire via {\ttfamily strdup}. \end{DoxyNote} \begin{DoxyWarning}{Warning} Cette fonction ne gère pas l\textquotesingle{}ajout d\textquotesingle{}une nouvelle clé si elle n\textquotesingle{}existe pas déjà. \end{DoxyWarning} \begin{DoxyParams}{Parameters} {\em key} & Le nom de la variable à modifier. \\ \hline {\em value} & La nouvelle chaîne de caractères à affecter. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} int 1 si la modification a réussi, 0 si la clé n\textquotesingle{}existe pas dans le tableau. \end{DoxyReturn}