From d9872c8e94e848b79ba9ed91110c174e0848b48b Mon Sep 17 00:00:00 2001 From: Alexey Zholtikov Date: Mon, 19 Oct 2026 12:38:40 +0300 Subject: [PATCH] perf: updated error checks --- zh_encoder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/zh_encoder.c b/zh_encoder.c index 48d653c..5c1b9b8 100644 --- a/zh_encoder.c +++ b/zh_encoder.c @@ -235,7 +235,9 @@ esp_err_t zh_encoder_init(const zh_encoder_init_config_t *config, zh_encoder_han ZH_ERROR_CHECK(zh_vector_init(&_vector, sizeof(uint8_t)) == ESP_OK, ESP_FAIL, heap_caps_free(*handle); *handle = NULL, "Encoder initialization failed. Failed to create vector."); } ZH_ERROR_CHECK(zh_vector_push_back(&_vector, &config->encoder_number) == ESP_OK, ESP_FAIL, heap_caps_free(*handle); *handle = NULL, "Encoder initialization failed. Failed to add vector data."); - ZH_ERROR_CHECK(_zh_encoder_resources_init(config) == ESP_OK, ESP_FAIL, zh_vector_delete_back(&_vector); heap_caps_free(*handle); *handle = NULL, "Encoder initialization failed. Resources initialization failed."); + ZH_ERROR_CHECK(_zh_encoder_resources_init(config) == ESP_OK, ESP_FAIL, + {ZH_ERROR_CHECK_CONT(zh_vector_delete_back(&_vector) == ESP_OK, NULL, "Failed delete vector data.")}; + heap_caps_free(*handle); *handle = NULL, "Encoder initialization failed. Resources initialization failed."); ZH_ERROR_CHECK(_zh_encoder_task_init(config) == ESP_OK, ESP_FAIL, _zh_encoder_rollback_task_and_resources(); {ZH_ERROR_CHECK_CONT(zh_vector_delete_back(&_vector) == ESP_OK, NULL, "Failed delete vector data.")}; heap_caps_free(*handle); *handle = NULL, "Encoder initialization failed. Processing task initialization failed.");