Files
squeezelite-esp32/components/display/core/gds_err.h

43 lines
3.5 KiB
C

#ifndef _GDS_ERR_H_
#define _GDS_ERR_H_
#include <esp_log.h>
#define GDS_DoAbort()
#if !defined NullCheck
#define NullCheck(ptr, retexpr) \
{ \
if(ptr == NULL) { \
ESP_LOGE(__FUNCTION__, "%s == NULL", #ptr); \
GDS_DoAbort(); \
retexpr; \
} \
}
#endif
#if !defined ESP_ERROR_CHECK_NONFATAL
#define ESP_ERROR_CHECK_NONFATAL(expr, retexpr) \
{ \
esp_err_t __err_rc = (expr); \
if(__err_rc != ESP_OK) { \
ESP_LOGE(__FUNCTION__, "%s != ESP_OK, result: %d", #expr, __err_rc); \
GDS_DoAbort(); \
retexpr; \
} \
}
#endif
#if !defined CheckBounds
#define CheckBounds(expr, retexpr) \
{ \
if(expr) { \
ESP_LOGE(__FUNCTION__, "Line %d: %s", __LINE__, #expr); \
GDS_DoAbort(); \
retexpr; \
} \
}
#endif
#endif