#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