summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/modesp.c
diff options
context:
space:
mode:
Diffstat (limited to 'esp8266/modesp.c')
-rw-r--r--esp8266/modesp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/esp8266/modesp.c b/esp8266/modesp.c
index 00cdb764fb..171a617057 100644
--- a/esp8266/modesp.c
+++ b/esp8266/modesp.c
@@ -151,13 +151,13 @@ STATIC void esp_socket_recv_callback(void *arg, char *pdata, unsigned short len)
call_function_2_protected(s->cb_recv, s, mp_obj_new_bytes((byte *)pdata, len));
} else {
if (s->recvbuf == NULL) {
- s->recvbuf = gc_alloc(len, false);
+ s->recvbuf = m_new(uint8_t, len);
s->recvbuf_len = len;
if (s->recvbuf != NULL) {
memcpy(s->recvbuf, pdata, len);
}
} else {
- s->recvbuf = gc_realloc(s->recvbuf, s->recvbuf_len + len, true);
+ s->recvbuf = m_renew(uint8_t, s->recvbuf, s->recvbuf_len, s->recvbuf_len + len);
if (s->recvbuf != NULL) {
memcpy(&s->recvbuf[s->recvbuf_len], pdata, len);
s->recvbuf_len += len;
@@ -323,14 +323,14 @@ STATIC mp_obj_t esp_socket_recv(mp_obj_t self_in, mp_obj_t len_in) {
mp_uint_t mxl = mp_obj_get_int(len_in);
if (mxl >= s->recvbuf_len) {
mp_obj_t trt = mp_obj_new_bytes(s->recvbuf, s->recvbuf_len);
- gc_free(s->recvbuf);
+ m_del(uint8_t, s->recvbuf, s->recvbuf_len);
s->recvbuf = NULL;
return trt;
} else {
mp_obj_t trt = mp_obj_new_bytes(s->recvbuf, mxl);
memmove(s->recvbuf, &s->recvbuf[mxl], s->recvbuf_len - mxl);
+ s->recvbuf = m_renew(uint8_t, s->recvbuf, s->recvbuf_len, s->recvbuf_len - mxl);
s->recvbuf_len -= mxl;
- s->recvbuf = gc_realloc(s->recvbuf, s->recvbuf_len, true);
return trt;
}
}