summaryrefslogtreecommitdiffstatshomepage
path: root/extmod
diff options
context:
space:
mode:
Diffstat (limited to 'extmod')
-rw-r--r--extmod/modlwip.c6
-rw-r--r--extmod/modtime.c4
-rw-r--r--extmod/vfs_fat.c8
-rw-r--r--extmod/vfs_lfsx.c8
4 files changed, 16 insertions, 10 deletions
diff --git a/extmod/modlwip.c b/extmod/modlwip.c
index 65a3412ecb..b53559ed8c 100644
--- a/extmod/modlwip.c
+++ b/extmod/modlwip.c
@@ -825,6 +825,12 @@ static mp_uint_t lwip_tcp_receive(lwip_socket_obj_t *socket, byte *buf, mp_uint_
// Check for any pending errors
STREAM_ERROR_CHECK(socket);
+ if (socket->state == STATE_LISTENING) {
+ // original socket in listening state, not the accepted connection.
+ *_errno = MP_ENOTCONN;
+ return -1;
+ }
+
if (socket->incoming.tcp.pbuf == NULL) {
// Non-blocking socket or flag
diff --git a/extmod/modtime.c b/extmod/modtime.c
index deb4bb4c9a..999b81230b 100644
--- a/extmod/modtime.c
+++ b/extmod/modtime.c
@@ -58,7 +58,7 @@ static mp_obj_t time_localtime(size_t n_args, const mp_obj_t *args) {
return mp_time_localtime_get();
} else {
// Convert given seconds to tuple.
- mp_int_t seconds = mp_obj_get_int(args[0]);
+ mp_timestamp_t seconds = timeutils_obj_get_timestamp(args[0]);
timeutils_struct_time_t tm;
timeutils_seconds_since_epoch_to_struct_time(seconds, &tm);
mp_obj_t tuple[8] = {
@@ -90,7 +90,7 @@ static mp_obj_t time_mktime(mp_obj_t tuple) {
mp_raise_TypeError(MP_ERROR_TEXT("mktime needs a tuple of length 8 or 9"));
}
- return mp_obj_new_int_from_uint(timeutils_mktime(mp_obj_get_int(elem[0]),
+ return timeutils_obj_from_timestamp(timeutils_mktime(mp_obj_get_int(elem[0]),
mp_obj_get_int(elem[1]), mp_obj_get_int(elem[2]), mp_obj_get_int(elem[3]),
mp_obj_get_int(elem[4]), mp_obj_get_int(elem[5])));
}
diff --git a/extmod/vfs_fat.c b/extmod/vfs_fat.c
index ee1169b8c3..e832992f46 100644
--- a/extmod/vfs_fat.c
+++ b/extmod/vfs_fat.c
@@ -326,7 +326,7 @@ static mp_obj_t fat_vfs_stat(mp_obj_t vfs_in, mp_obj_t path_in) {
} else {
mode |= MP_S_IFREG;
}
- mp_int_t seconds = timeutils_seconds_since_epoch(
+ mp_timestamp_t seconds = timeutils_seconds_since_epoch(
1980 + ((fno.fdate >> 9) & 0x7f),
(fno.fdate >> 5) & 0x0f,
fno.fdate & 0x1f,
@@ -341,9 +341,9 @@ static mp_obj_t fat_vfs_stat(mp_obj_t vfs_in, mp_obj_t path_in) {
t->items[4] = MP_OBJ_NEW_SMALL_INT(0); // st_uid
t->items[5] = MP_OBJ_NEW_SMALL_INT(0); // st_gid
t->items[6] = mp_obj_new_int_from_uint(fno.fsize); // st_size
- t->items[7] = mp_obj_new_int_from_uint(seconds); // st_atime
- t->items[8] = mp_obj_new_int_from_uint(seconds); // st_mtime
- t->items[9] = mp_obj_new_int_from_uint(seconds); // st_ctime
+ t->items[7] = timeutils_obj_from_timestamp(seconds); // st_atime
+ t->items[8] = timeutils_obj_from_timestamp(seconds); // st_mtime
+ t->items[9] = timeutils_obj_from_timestamp(seconds); // st_ctime
return MP_OBJ_FROM_PTR(t);
}
diff --git a/extmod/vfs_lfsx.c b/extmod/vfs_lfsx.c
index 404eab84f4..372037784b 100644
--- a/extmod/vfs_lfsx.c
+++ b/extmod/vfs_lfsx.c
@@ -378,7 +378,7 @@ static mp_obj_t MP_VFS_LFSx(stat)(mp_obj_t self_in, mp_obj_t path_in) {
mp_raise_OSError(-ret);
}
- mp_uint_t mtime = 0;
+ mp_timestamp_t mtime = 0;
#if LFS_BUILD_VERSION == 2
uint8_t mtime_buf[8];
lfs2_ssize_t sz = lfs2_getattr(&self->lfs, path, LFS_ATTR_MTIME, &mtime_buf, sizeof(mtime_buf));
@@ -400,9 +400,9 @@ static mp_obj_t MP_VFS_LFSx(stat)(mp_obj_t self_in, mp_obj_t path_in) {
t->items[4] = MP_OBJ_NEW_SMALL_INT(0); // st_uid
t->items[5] = MP_OBJ_NEW_SMALL_INT(0); // st_gid
t->items[6] = mp_obj_new_int_from_uint(info.size); // st_size
- t->items[7] = mp_obj_new_int_from_uint(mtime); // st_atime
- t->items[8] = mp_obj_new_int_from_uint(mtime); // st_mtime
- t->items[9] = mp_obj_new_int_from_uint(mtime); // st_ctime
+ t->items[7] = timeutils_obj_from_timestamp(mtime); // st_atime
+ t->items[8] = timeutils_obj_from_timestamp(mtime); // st_mtime
+ t->items[9] = timeutils_obj_from_timestamp(mtime); // st_ctime
return MP_OBJ_FROM_PTR(t);
}