RETURN_IF_NON_ZERO
#define RETURN_IF_NON_ZERO(x) do { if (x) return x; } while (0)
#undef RETURN_IF_NON_ZERO