From ef54e18811183505c131fd9ce4c9e759e762bdb6 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Wed, 20 Apr 2011 18:46:21 -0700 Subject: [PATCH] fix ERR, DIE, OOM macros --- lake.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lake.h b/lake.h index e0bef3a..ba1b5f1 100644 --- a/lake.h +++ b/lake.h @@ -149,9 +149,14 @@ char *repr(LakeVal *val); #include -#define ERR(...) printf("error: "); printf(__VA_ARGS__); putchar('\n') -#define DIE(...) ERR(__VA_ARGS__); exit(1) -#define OOM() DIE("out of memory") +#define ERR(...) do { \ + fprintf(stderr, "error: "); \ + fprintf(stderr, __VA_ARGS__); \ + fprintf(stderr, "\n"); \ + } while (0) + +#define DIE(...) do { ERR(__VA_ARGS__); exit(1); } while(0) +#define OOM() DIE("%s:%d out of memory", __FILE__, __LINE__) #include "sym.h" #include "bool.h"