From af2081caaf9e92c6c2aa70cf28f4040ab38408f6 Mon Sep 17 00:00:00 2001 From: rick Date: Wed, 24 Feb 2021 02:01:44 +0100 Subject: [PATCH] Ajout affichage des variables --- src/boitoutil/oui-dire.c | 27 ++++++++++++++++++++++++--- src/boitoutil/oui-dire.h | 1 + 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/boitoutil/oui-dire.c b/src/boitoutil/oui-dire.c index a2f55eb..9f4a461 100644 --- a/src/boitoutil/oui-dire.c +++ b/src/boitoutil/oui-dire.c @@ -20,9 +20,30 @@ void echo(char *args) int i = 0; while (tmp != '\0') { - putchar(tmp); - i++; - tmp = *(args + i); + if (tmp == '$') + { + i++; + i += get_var((args+i), i); + } + else + { + putchar(tmp); + i++; + } + + tmp = *(args + i); } putchar('\n'); } + +int get_var(char *str, int i) +{ + char *tmp = calloc(strlen(str), sizeof(char)); + strcpy(tmp, str); + char f = ' '; + char *token = strtok(tmp, &f); + printf("%s", getenv(token)); + int ret = strlen(token); + free(tmp); + return ret; +} diff --git a/src/boitoutil/oui-dire.h b/src/boitoutil/oui-dire.h index 447dc67..75d47fb 100644 --- a/src/boitoutil/oui-dire.h +++ b/src/boitoutil/oui-dire.h @@ -9,5 +9,6 @@ void usage(); void echo(char *args); +int get_var(char *str, int i); #endif