ehan.h/example.c

57 lines
891 B
C

#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;
}