Demande confirmation fonctionnement strcat
Bonjour,
J'utilise le code suivant :
Code:
1 2 3 4
|
char *path=getcwd(NULL,0);
strcat(path,":");
strcat(path,getenv("PATH")); |
Ce code me permet tout simplement d'ajouter le dossier en cours au début de la variable d'environnement path. Cela fonctionne très bien.
Cependant la doc de strcat précise que la chaine de destination doit être suffisamment grande pour contenir l'ajout. Dans mon cas, ma chaine a été allouée par getcwd. Je présume que mon code fonctionne car l'allocation dépasse les besoins. Mais si je ne gère pas, je dois m'attendre à un beau bug.
Je pensais donc avant l'utilisation de strcat utiliser realloc en donnant la taille necessaire. (strlen sur path + strlen de getenv("PATH"))
Merci de vos retours.