From af2081caaf9e92c6c2aa70cf28f4040ab38408f6 Mon Sep 17 00:00:00 2001
From: rick <rick@gnous.eu>
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