FxLibcTest/include/ft/util.h

38 lines
817 B
C

//---
// fxlibtest.util: Random utilities
//---
#ifndef _FT_UTIL_H_
#define _FT_UTIL_H_
#include <errno.h>
#include <string.h>
#ifdef FX9860G
#define _(fx,cg) (fx)
extern font_t font_mini;
extern bopti_image_t img_fbar_main;
#endif
#ifdef FXCG50
#define _(fx, cg) (cg)
#endif
/* Macro to make a call, get the return value, and log it immediately. This
does *not* work well under context, keep calls simple. */
#define DO(var, expr, t, fmt) { \
var = expr; \
ft_log(t, #expr " = " fmt "\n", var); \
}
/* Macro to print errno when non-zero */
#define SHOW_ERRNO(t) \
if(errno != 0) ft_log(t, "errno %d: %s\n", errno, strerror(errno))
/* Combination */
#define DO_E(var, expr, t, fmt) { \
var = expr; \
ft_log(t, #expr " = " fmt "\n", var); \
SHOW_ERRNO(t); \
}
#endif /* _FT_UTIL_H_ */