memset((void*)(&post), 0, sizeof(post));
if (event_data != NULL && event_data_size != 0) {
-#if CONFIG_ESP_EVENT_POST_FROM_ISR
- if(event_data_size > sizeof(post.data.val)) {
-#endif
- // Make persistent copy of event data on heap.
- void* event_data_copy = calloc(1, event_data_size);
+ // Make persistent copy of event data on heap.
+ void* event_data_copy = calloc(1, event_data_size);
- if (event_data_copy == NULL) {
- return ESP_ERR_NO_MEM;
- }
+ if (event_data_copy == NULL) {
+ return ESP_ERR_NO_MEM;
+ }
- memcpy(event_data_copy, event_data, event_data_size);
+ memcpy(event_data_copy, event_data, event_data_size);
#if CONFIG_ESP_EVENT_POST_FROM_ISR
- post.data.ptr = event_data_copy;
- post.data_allocated = true;
- } else {
- memcpy(&post.data.val, event_data, event_data_size);
- post.data_allocated = false;
- }
+ post.data.ptr = event_data_copy;
+ post.data_allocated = true;
post.data_set = true;
#else
post.data = event_data_copy;