#ifndef _GDS_ERR_H_ #define _GDS_ERR_H_ #include #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