summaryrefslogtreecommitdiff
path: root/ports/esp8266/modnetwork.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-12-10 23:28:46 +1100
committerDamien George <damien@micropython.org>2021-12-14 14:27:13 +1100
commit5adb1fa40e95d938a713a3ed9a3b80615edf90fa (patch)
treea14591c81f295c7104af4e127d6336889b10ebea /ports/esp8266/modnetwork.c
parent6995cf03dda98f490ab95ff90bf395a5667067d6 (diff)
esp32,esp8266: Extract qstr from object when comparing keys in config().
Following on from a previous fix for the same problem made in 3a431fba50c96cc47d8273a6934e200993197b14. Fixes issue #8052. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'ports/esp8266/modnetwork.c')
-rw-r--r--ports/esp8266/modnetwork.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/ports/esp8266/modnetwork.c b/ports/esp8266/modnetwork.c
index f0cd83aee..6988e09bd 100644
--- a/ports/esp8266/modnetwork.c
+++ b/ports/esp8266/modnetwork.c
@@ -351,9 +351,8 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
for (mp_uint_t i = 0; i < kwargs->alloc; i++) {
if (mp_map_slot_is_filled(kwargs, i)) {
- #define QS(x) (uintptr_t)MP_OBJ_NEW_QSTR(x)
- switch ((uintptr_t)kwargs->table[i].key) {
- case QS(MP_QSTR_mac): {
+ switch (mp_obj_str_get_qstr(kwargs->table[i].key)) {
+ case MP_QSTR_mac: {
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(kwargs->table[i].value, &bufinfo, MP_BUFFER_READ);
if (bufinfo.len != 6) {
@@ -362,7 +361,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
wifi_set_macaddr(self->if_id, bufinfo.buf);
break;
}
- case QS(MP_QSTR_essid): {
+ case MP_QSTR_essid: {
req_if = SOFTAP_IF;
size_t len;
const char *s = mp_obj_str_get_data(kwargs->table[i].value, &len);
@@ -371,17 +370,17 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
cfg.ap.ssid_len = len;
break;
}
- case QS(MP_QSTR_hidden): {
+ case MP_QSTR_hidden: {
req_if = SOFTAP_IF;
cfg.ap.ssid_hidden = mp_obj_is_true(kwargs->table[i].value);
break;
}
- case QS(MP_QSTR_authmode): {
+ case MP_QSTR_authmode: {
req_if = SOFTAP_IF;
cfg.ap.authmode = mp_obj_get_int(kwargs->table[i].value);
break;
}
- case QS(MP_QSTR_password): {
+ case MP_QSTR_password: {
req_if = SOFTAP_IF;
size_t len;
const char *s = mp_obj_str_get_data(kwargs->table[i].value, &len);
@@ -390,12 +389,12 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
cfg.ap.password[len] = 0;
break;
}
- case QS(MP_QSTR_channel): {
+ case MP_QSTR_channel: {
req_if = SOFTAP_IF;
cfg.ap.channel = mp_obj_get_int(kwargs->table[i].value);
break;
}
- case QS(MP_QSTR_dhcp_hostname): {
+ case MP_QSTR_dhcp_hostname: {
req_if = STATION_IF;
if (self->if_id == STATION_IF) {
const char *s = mp_obj_str_get_str(kwargs->table[i].value);
@@ -406,7 +405,6 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
default:
goto unknown;
}
-#undef QS
}
}