From b54924b680861edd00c86bdc60a31e0738795b91 Mon Sep 17 00:00:00 2001 From: Bjoern Esswein <bjoern.esswein@gmail.com> Date: Thu, 20 Feb 2020 20:11:36 +0100 Subject: [PATCH] added log.c sacanf.c and make dev --- Makefile | 8 +++++++- log.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ sscanf.c | 2 +- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 log.c diff --git a/Makefile b/Makefile index aaacac0..6496bf2 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,9 @@ SOURCES = $(shell ls *.c 2> /dev/null | sed /sem.c/d | sed /jbuffer.c/d) BINS = $(SOURCES:%.c=%) OUT = bin +# supported targets all clean dev +# (dev sets -DDEV used in log.c) + # $@ := target name # $^ := dependencie list @@ -13,6 +16,9 @@ OUT = bin all: $(OUT) $(BINS:%=$(OUT)/%) Zettel.html +dev: CFLAGS += -DDEV +dev: all + $(OUT): mkdir -p $(OUT) @@ -38,4 +44,4 @@ $(OUT)/sem.o: sem.h clean: rm -rf $(OUT) Zettel.html Readme.md -.PHONY: all clean +.PHONY: all clean dev diff --git a/log.c b/log.c new file mode 100644 index 0000000..b270b51 --- /dev/null +++ b/log.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DIE(msg) \ + fprintf(stderr, "ERROR: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); \ + exit(EXIT_FAILURE); + +#define DIE_M(msg) \ + fprintf(stderr, "ERROR: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); \ + exit(EXIT_FAILURE); + +#ifdef DEV + +#define WARN(msg) \ + fprintf(stderr, "WARN: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); + +#define WARN_M(msg) \ + fprintf(stderr, "WARN: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); + + +/** debug info + perror goes to stderr to seperate from program output */ +#define INFO(msg) \ + fprintf(stderr, "INFO: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); + +/** debug info goes to stderr to seperate from program output */ +#define INFO_M(msg) \ + fprintf(stderr, "INFO: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); +#else +#define WARN(msg) +#define WARN_M(msg) +#define INFO(msg) +#define INFO_M(msg) +#endif + +int main() { + INFO("inf"); + DIE_M("test"); +} \ No newline at end of file diff --git a/sscanf.c b/sscanf.c index 855058f..64e7847 100644 --- a/sscanf.c +++ b/sscanf.c @@ -13,4 +13,4 @@ int main() { if(res != 4) printf("err:%d\n", res); printf("Host:%s\nPath:%s\n%s:%d\n", host, path, var, version); -} \ No newline at end of file +} -- GitLab