Skip to content

Commit 804b208

Browse files
author
Jamie C. Driver
committed
qemu: avoid using deprecated esp_netif_next() function
1 parent 079df56 commit 804b208

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

main/qemu/qemu_tcp.c

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,16 @@ static void qemu_tcp_writer(void* ignore)
138138
}
139139
}
140140

141-
static bool is_our_netif(const char* prefix, esp_netif_t* netif)
141+
static bool is_our_netif(esp_netif_t* netif, void* ctx)
142142
{
143-
return strncmp(prefix, esp_netif_get_desc(netif), strlen(prefix) - 1) == 0;
143+
const char* prefix = (const char*)ctx;
144+
return strncmp(prefix, esp_netif_get_desc(netif), strlen(prefix)) == 0;
144145
}
145146

146147
static void on_got_ip(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data)
147148
{
148149
ip_event_got_ip_t* event = (ip_event_got_ip_t*)event_data;
149-
if (!is_our_netif(TAG, event->esp_netif)) {
150+
if (!is_our_netif(event->esp_netif, (void*)TAG)) {
150151
JADE_LOGE("Got IPv4 from another interface \"%s\": ignored", esp_netif_get_desc(event->esp_netif));
151152
return;
152153
}
@@ -156,22 +157,18 @@ static void on_got_ip(void* arg, esp_event_base_t event_base, int32_t event_id,
156157

157158
static esp_netif_t* get_example_netif_from_desc(const char* desc)
158159
{
159-
esp_netif_t* netif = NULL;
160160
char* expected_desc;
161161
asprintf(&expected_desc, "%s: %s", TAG, desc);
162-
while ((netif = esp_netif_next(netif)) != NULL) {
163-
if (strcmp(esp_netif_get_desc(netif), expected_desc) == 0) {
164-
free(expected_desc);
165-
return netif;
166-
}
167-
}
162+
esp_netif_t* const netif = esp_netif_find_if(is_our_netif, expected_desc);
168163
free(expected_desc);
169164
return netif;
170165
}
171166

172167
static void eth_stop(void)
173168
{
174-
esp_netif_t* eth_netif = get_example_netif_from_desc("eth");
169+
esp_netif_inherent_config_t esp_netif_config = ESP_NETIF_INHERENT_DEFAULT_ETH();
170+
esp_netif_t* eth_netif = get_example_netif_from_desc(esp_netif_config.if_desc);
171+
175172
ESP_ERROR_CHECK(esp_event_handler_instance_unregister(IP_EVENT, IP_EVENT_ETH_GOT_IP, ctx_got_ip));
176173
ESP_ERROR_CHECK(esp_eth_stop(s_eth_handle));
177174
ESP_ERROR_CHECK(esp_eth_del_netif_glue(s_eth_glue));
@@ -193,7 +190,6 @@ static void eth_start(void)
193190
esp_netif_config_t netif_config = { .base = &esp_netif_config, .stack = ESP_NETIF_NETSTACK_DEFAULT_ETH };
194191
esp_netif_t* netif = esp_netif_new(&netif_config);
195192
assert(netif);
196-
free(desc);
197193

198194
ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, IP_EVENT_ETH_GOT_IP, on_got_ip, NULL, &ctx_got_ip));
199195

@@ -213,16 +209,14 @@ static void eth_start(void)
213209
esp_eth_start(s_eth_handle);
214210
ESP_ERROR_CHECK(esp_register_shutdown_handler(&eth_stop));
215211
JADE_LOGI("Waiting for IP(s)");
216-
esp_netif_t* netif_ip = NULL;
217212
esp_netif_ip_info_t ip;
218-
for (int i = 0; i < esp_netif_get_nr_of_ifs(); ++i) {
219-
netif_ip = esp_netif_next(netif_ip);
220-
if (is_our_netif(TAG, netif_ip)) {
221-
JADE_LOGI("Connected to %s", esp_netif_get_desc(netif_ip));
222-
ESP_ERROR_CHECK(esp_netif_get_ip_info(netif_ip, &ip));
223-
JADE_LOGI("- IPv4 address: " IPSTR, IP2STR(&ip.ip));
224-
}
213+
esp_netif_t* netif_ip = esp_netif_find_if(is_our_netif, desc);
214+
if (netif_ip) {
215+
JADE_LOGI("Connected to %s", esp_netif_get_desc(netif_ip));
216+
ESP_ERROR_CHECK(esp_netif_get_ip_info(netif_ip, &ip));
217+
JADE_LOGI("- IPv4 address: " IPSTR, IP2STR(&ip.ip));
225218
}
219+
free(desc);
226220
}
227221

228222
bool qemu_tcp_init(TaskHandle_t* qemu_tcp_handle)

0 commit comments

Comments
 (0)