#define EHAN_IMPLEMENTATION #include "ehan.h" GenericReturn f() { return ehanValueFP(42.42f); } GenericReturn g() { return ehanValue("YAY"); } GenericReturn h() { return ehanError("Something went wrong!"); } int main(void) { GenericReturn r = f(); if (ehanCheck(r)) { ELog("FAILURE %s\n", resultError(r)); /* HANDLE ERROR */ goto exit; } ILog("SUCCESS: %.2f\n", resultFP(float, r)); r = g(); if (ehanCheck(r)) { ELog("FAILURE %s\n", resultError(r)); /* HANDLE ERROR */ goto exit; } WLog("SUCCESS: %s\n", resultGeneric(char *, r)); r = h(); if (ehanCheck(r)) { ELog("FAILURE %s\n", resultError(r)); /* HANDLE ERROR */ goto exit; } ILog("SUCCESS: %s\n", resultGeneric(char *, r)); return 0; exit: /* DO CLEANUP */ return 1; }