4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / err_state.h H
#ifndef ERR_STATE_H
#define ERR_STATE_H

#define SUCC (0)
#define ERR (-1)
#define ERR_PTR (NULL)
#define ERR_UNFIN(i) ((i > 0) ? i : ERR)

#define IS_ERR(i) (i == -1)
#define IS_ERR_PTR(i) (i == NULL)

#define IF_ERR(i)       \
        if (IS_ERR(i))  \

#define IF_ERR_PTR(i)       \
        if (IS_ERR_PTR(i))  \

#define IF_ERR_BREAK(i) \
        IF_ERR(i) {     \
            break;      \
        }

#define IF_ERR_PTR_BREAK(i) \
        IF_ERR_PTR(i) {     \
            break;          \
        }

#define IF_ERR_RET(i)   \
        IF_ERR(i) {     \
            return ERR; \
        }

#define IF_ERR_PTR_RET(i)   \
        IF_ERR_PTR(i) {     \
            return ERR; \
        }

static inline int XCHNG_FD(int i, int j) {
    int x = j; j = i; return x;
}

/* When this is the return type it means that
 * the return value encodes only success/failure.
 * Contrary to encoding data or reference to data. */
typedef int err_t;

#endif // ERR_STATE_H