summaryrefslogtreecommitdiff
path: root/nslcd/hackers_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/hackers_parse.c')
-rw-r--r--nslcd/hackers_parse.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/nslcd/hackers_parse.c b/nslcd/hackers_parse.c
index bdcb6a5..7d63995 100644
--- a/nslcd/hackers_parse.c
+++ b/nslcd/hackers_parse.c
@@ -21,6 +21,9 @@
#include <stdio.h>
#include <yaml.h>
+#include <error.h>
+#include <errno.h>
+
/* These three are just for name2gid, which is surprisingly
* complicated. */
#include <errno.h>
@@ -33,7 +36,14 @@
#define DEFAULT_PASSWORD "!"
-#define ASSERT(expr) if (!(expr)) goto error
+#define ASSERT(expr) \
+ do { \
+ errno = 0; \
+ if (!(expr)) { \
+ error(0, errno, "ASSERT(%s) failed", #expr); \
+ goto error; \
+ } \
+ } while(0)
/* Get a string value from a YAML scalar node */
#define STR_VALUE(node) \