fix an off-by-one error that prevented the open() check from succeeding, if stdin...
[project/uci.git] / err.h
diff --git a/err.h b/err.h
index 82eba81..686cde3 100644 (file)
--- a/err.h
+++ b/err.h
@@ -41,7 +41,9 @@
  * and UCI_TRAP_RESTORE.
  */
 #define UCI_HANDLE_ERR(ctx) do {       \
+       DPRINTF("ENTER: %s\n", __func__); \
        int __val = 0;                  \
+       ctx->errno = 0;                 \
        if (!ctx)                       \
                return UCI_ERR_INVAL;   \
        if (!ctx->internal)             \
        memcpy(ctx->trap, __old_trap, sizeof(ctx->trap)); \
 } while(0)
 
+/**
+ * UCI_INTERNAL: Do an internal call of a public API function
+ * 
+ * Sets Exception handling to passthrough mode.
+ * Allows API functions to change behavior compared to public use
+ */
 #define UCI_INTERNAL(func, ctx, ...) do { \
        ctx->internal = true;           \
        func(ctx, __VA_ARGS__);         \