From 59b20e93217ac6f1696c5778d28a6efed56fc0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre=20=E2=9C=8F?= Date: Sat, 22 Oct 2016 01:08:56 +0200 Subject: [PATCH] Ajout de fonctions permettant la gestion de la sortie verbeuse --- include/common.h | 24 +++++++++++++++++++++++- src/common.c | 23 +++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/common.c diff --git a/include/common.h b/include/common.h index ffb8cde..b9990d2 100644 --- a/include/common.h +++ b/include/common.h @@ -1,4 +1,26 @@ -#define IS_VERBOSE TRUE +#ifndef __IN303_COMMON_H__ +#define __IN303_COMMON_H__ + #define TRUE 1 #define FALSE 0 #define NUM_CHARS 256 + +/** + * Écrire sur la sortie standard à la manière de printf, + * seulement si le mode verbeux est actif + */ +void printVerbose(const char *format, ...); + +/** + * Active ou désactive l'affichage des messages verbeux + * (mode verbeux). Si activé, `printVerbose` écrit sur + * la sortie standard. Sinon, `printVerbose` n'a pas d'effet + */ +void setVerbose(int); + +/** + * Renvoie l'état du mode verbeux + */ +int isVerbose(); + +#endif diff --git a/src/common.c b/src/common.c new file mode 100644 index 0000000..543c228 --- /dev/null +++ b/src/common.c @@ -0,0 +1,23 @@ +#include "../include/common.h" +#include +#include + +static int is_verbose = FALSE; + +void printVerbose(const char *format, ...) { + if (is_verbose) { + va_list args_list; + + va_start(args_list, format); + vprintf(format, args_list); + va_end(args_list); + } +} + +void setVerbose(int flag) { + is_verbose = flag; +} + +int isVerbose() { + return is_verbose; +}