diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2020-08-11 14:50:37 -0700 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2020-08-19 14:22:13 -0700 |
| commit | 7bdd243bf6f3cd84ddfd9cf6f35a2d6d8a6a415f (patch) | |
| tree | 5f5e4b98d6ffa479ecd1f032da01cc999afe3732 /shared-bindings/ipaddress/__init__.c | |
| parent | 3860991111511a9e4a60ea24f208b8de8f801ce7 (diff) | |
Ping works!
Diffstat (limited to 'shared-bindings/ipaddress/__init__.c')
| -rw-r--r-- | shared-bindings/ipaddress/__init__.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/shared-bindings/ipaddress/__init__.c b/shared-bindings/ipaddress/__init__.c index b88b3afbb..1c0ac9153 100644 --- a/shared-bindings/ipaddress/__init__.c +++ b/shared-bindings/ipaddress/__init__.c @@ -43,8 +43,8 @@ //| STATIC mp_obj_t ipaddress_ip_address(mp_obj_t ip_in) { - mp_int_t value; - if (mp_obj_get_int_maybe(ip_in, &value)) { + uint32_t value; + if (mp_obj_get_int_maybe(ip_in, (mp_int_t*) &value)) { // We're done. } else if (MP_OBJ_IS_STR(ip_in)) { GET_STR_DATA_LEN(ip_in, str_data, str_len); @@ -63,11 +63,12 @@ STATIC mp_obj_t ipaddress_ip_address(mp_obj_t ip_in) { } size_t last_period = 0; + value = 0; for (size_t i = 0; i < 4; i++) { mp_obj_t octet = mp_parse_num_integer((const char*) str_data + last_period, period_index[i] - last_period, 10, NULL); last_period = period_index[i] + 1; - value |= MP_OBJ_SMALL_INT_VALUE(octet) << (24 - i * 8); - + mp_int_t int_octet = MP_OBJ_SMALL_INT_VALUE(octet); + value |= int_octet << (i * 8); } } else { mp_raise_ValueError(translate("Only raw int supported for ip.")); |
