From a98f7b9e36a9ef9a2fb6145afd0470ea21c32c85 Mon Sep 17 00:00:00 2001 From: Francois Tessier Date: Wed, 9 Aug 2017 14:20:08 +0000 Subject: [PATCH] Add custom printf --- tp_utils.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ tp_utils.hpp | 17 +++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 tp_utils.cpp create mode 100644 tp_utils.hpp diff --git a/tp_utils.cpp b/tp_utils.cpp new file mode 100644 index 0000000..127b970 --- /dev/null +++ b/tp_utils.cpp @@ -0,0 +1,46 @@ +#include "tp_utils.hpp" +#include + +void printMsg ( msg_t type, char* format, ... ) { + va_list args; + va_start(args, format); + + char message[1024]; + vsprintf ( message, format, args ); + + switch ( type ) + { + case ERROR: +#ifdef COLOR + fprintf ( stderr, RED "[ERR]" RESET " %s", message); +#else + fprintf ( stderr, "[ERR] %s", message); +#endif + break; + case WARNING: +#ifdef COLOR + fprintf ( stdout, YELLOW "[WARN]" RESET " %s", message); +#else + fprintf ( stdout, "[WARN] %s", message); +#endif + break; + case INFO: +#ifdef COLOR + fprintf ( stdout, GREEN "[INFO]" RESET " %s", message); +#else + fprintf ( stdout, "[INFO] %s", message); +#endif + break; + case TIMING: +#ifdef COLOR + fprintf ( stdout, BLUE "[TIME]" RESET " %s", message); +#else + fprintf ( stdout, "[TIME] %s", message); +#endif + break; + default: + break; + } + + va_end (args); +} diff --git a/tp_utils.hpp b/tp_utils.hpp new file mode 100644 index 0000000..41c96c6 --- /dev/null +++ b/tp_utils.hpp @@ -0,0 +1,17 @@ +#ifndef TP_UTILS_H +#define TP_UTILS_H + +#include +#include + +#define RED "\x1b[31m" +#define GREEN "\x1b[32m" +#define BLUE "\x1b[34m" +#define YELLOW "\x1b[33m" +#define RESET "\x1b[0m" + +typedef enum { ERROR, WARNING, INFO, TIMING } msg_t; + +void printMsg ( msg_t type, char* format, ... ); + +#endif /* TP_UTILS_H */ -- 2.26.2