diff options
Diffstat (limited to 'src/utils.c')
-rw-r--r-- | src/utils.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..e2282fe --- /dev/null +++ b/src/utils.c @@ -0,0 +1,41 @@ +#include "utils.h" + +#include <stdlib.h> // exit() +#include <stdio.h> // FILE * +#include <string.h> // strerror_r() +#include <errno.h> + +static FILE *fdLog=NULL; + +void openLog(char path[]) { + if(path==NULL) { + fdLog=stderr; + } else { + //TODO : à implementer + fprintf(stderr,"openLog : not yet implemented\n"); + exit(128); + } +} + +void closeLog() { + if(fdLog!=NULL && fdLog!=stderr) { + fclose(fdLog); + } +} + +//TODO : ajouter une notion de niveau de masquage de messages +void logs(int level, char msg[]) { + fprintf(fdLog,"%i - %s\n", level, msg); +} + +void logs2(int level, char context[], char msg[]) { + fprintf(fdLog,"%i - %s : %s\n", level, context, msg); +} + +void logp(int level, char msg[]) { + char errbuf[128]; //TODO : Pas cool la taille fixe ici + + strerror_r(errno, errbuf, 128); + fprintf(fdLog,"%i - %s : %s\n", level, msg, errbuf); +} + |