From 503089ea9d6b358f1a06ad1f164561b7cf11c742 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 7 Oct 2016 14:05:15 +1100 Subject: [PATCH] unix: Use mp_raise_OSError helper function. --- unix/file.c | 2 +- unix/modffi.c | 9 +++++---- unix/modmachine.c | 4 ++-- unix/modos.c | 2 +- unix/modsocket.c | 8 ++++---- unix/modtermios.c | 2 +- unix/moduselect.c | 2 +- unix/mphalport.h | 2 +- unix/mpthreadport.c | 3 ++- 9 files changed, 18 insertions(+), 16 deletions(-) diff --git a/unix/file.c b/unix/file.c index 203a5a3abe..6d59a736ce 100644 --- a/unix/file.c +++ b/unix/file.c @@ -203,7 +203,7 @@ STATIC mp_obj_t fdfile_open(const mp_obj_type_t *type, mp_arg_val_t *args) { const char *fname = mp_obj_str_get_str(fid); int fd = open(fname, mode_x | mode_rw, 0644); if (fd == -1) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno))); + mp_raise_OSError(errno); } o->fd = fd; return MP_OBJ_FROM_PTR(o); diff --git a/unix/modffi.c b/unix/modffi.c index 71c6b573f8..cae16c579a 100644 --- a/unix/modffi.c +++ b/unix/modffi.c @@ -35,6 +35,7 @@ #include "py/nlr.h" #include "py/runtime.h" #include "py/binary.h" +#include "py/mperrno.h" /* * modffi uses character codes to encode a value type, based on "struct" @@ -215,7 +216,7 @@ STATIC mp_obj_t ffimod_func(size_t n_args, const mp_obj_t *args) { void *sym = dlsym(self->handle, symname); if (sym == NULL) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(ENOENT))); + mp_raise_OSError(MP_ENOENT); } return make_func(args[1], sym, args[3]); } @@ -278,7 +279,7 @@ STATIC mp_obj_t ffimod_var(mp_obj_t self_in, mp_obj_t vartype_in, mp_obj_t symna void *sym = dlsym(self->handle, symname); if (sym == NULL) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(ENOENT))); + mp_raise_OSError(MP_ENOENT); } mp_obj_ffivar_t *o = m_new_obj(mp_obj_ffivar_t); o->base.type = &ffivar_type; @@ -295,7 +296,7 @@ STATIC mp_obj_t ffimod_addr(mp_obj_t self_in, mp_obj_t symname_in) { void *sym = dlsym(self->handle, symname); if (sym == NULL) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(ENOENT))); + mp_raise_OSError(MP_ENOENT); } return mp_obj_new_int((uintptr_t)sym); } @@ -312,7 +313,7 @@ STATIC mp_obj_t ffimod_make_new(const mp_obj_type_t *type, size_t n_args, size_t void *mod = dlopen(fname, RTLD_NOW | RTLD_LOCAL); if (mod == NULL) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno))); + mp_raise_OSError(errno); } mp_obj_ffimod_t *o = m_new_obj(mp_obj_ffimod_t); o->base.type = type; diff --git a/unix/modmachine.c b/unix/modmachine.c index 1b62b68c34..e5f9ec8d70 100644 --- a/unix/modmachine.c +++ b/unix/modmachine.c @@ -27,7 +27,7 @@ #include #include -#include "py/nlr.h" +#include "py/runtime.h" #include "py/obj.h" #include "extmod/machine_mem.h" @@ -58,7 +58,7 @@ uintptr_t mod_machine_mem_get_addr(mp_obj_t addr_o, uint align) { if (!fd) { fd = open("/dev/mem", O_RDWR | O_SYNC); if (fd == -1) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno))); + mp_raise_OSError(errno); } } diff --git a/unix/modos.c b/unix/modos.c index 833d69b236..b29805269d 100644 --- a/unix/modos.c +++ b/unix/modos.c @@ -53,7 +53,7 @@ extern const mp_obj_type_t mp_fat_vfs_type; #define RAISE_ERRNO(err_flag, error_val) \ { if (err_flag == -1) \ - { nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_val))); } } + { mp_raise_OSError(error_val); } } STATIC mp_obj_t mod_os_stat(mp_obj_t path_in) { struct stat sb; diff --git a/unix/modsocket.c b/unix/modsocket.c index bc1531caea..dc4dc4c881 100644 --- a/unix/modsocket.c +++ b/unix/modsocket.c @@ -74,7 +74,7 @@ const mp_obj_type_t mp_type_socket; // Helper functions #define RAISE_ERRNO(err_flag, error_val) \ { if (err_flag == -1) \ - { nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_val))); } } + { mp_raise_OSError(error_val); } } static inline mp_obj_t mp_obj_from_sockaddr(const struct sockaddr *addr, socklen_t len) { return mp_obj_new_bytes((const byte *)addr, len); @@ -400,7 +400,7 @@ STATIC mp_obj_t mod_socket_gethostbyname(mp_obj_t arg) { struct hostent *h = gethostbyname(s); if (h == NULL) { // CPython: socket.herror - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(h_errno))); + mp_raise_OSError(h_errno); } assert(h->h_length == 4); return mp_obj_new_int(*(int*)*h->h_addr_list); @@ -415,7 +415,7 @@ STATIC mp_obj_t mod_socket_inet_pton(mp_obj_t family_in, mp_obj_t addr_in) { int r = inet_pton(family, mp_obj_str_get_str(addr_in), binaddr); RAISE_ERRNO(r, errno); if (r == 0) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(EINVAL))); + mp_raise_OSError(MP_EINVAL); } int binaddr_len = 0; switch (family) { @@ -437,7 +437,7 @@ STATIC mp_obj_t mod_socket_inet_ntop(mp_obj_t family_in, mp_obj_t binaddr_in) { vstr_t vstr; vstr_init_len(&vstr, family == AF_INET ? INET_ADDRSTRLEN : INET6_ADDRSTRLEN); if (inet_ntop(family, bufinfo.buf, vstr.buf, vstr.len) == NULL) { - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno))); + mp_raise_OSError(errno); } vstr.len = strlen(vstr.buf); return mp_obj_new_str_from_vstr(&mp_type_str, &vstr); diff --git a/unix/modtermios.c b/unix/modtermios.c index 20f824a7f5..2fef4f223c 100644 --- a/unix/modtermios.c +++ b/unix/modtermios.c @@ -35,7 +35,7 @@ #define RAISE_ERRNO(err_flag, error_val) \ { if (err_flag == -1) \ - { nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_val))); } } + { mp_raise_OSError(error_val); } } STATIC mp_obj_t mod_termios_tcgetattr(mp_obj_t fd_in) { struct termios term; diff --git a/unix/moduselect.c b/unix/moduselect.c index ae603b36a5..4a6973c0d5 100644 --- a/unix/moduselect.c +++ b/unix/moduselect.c @@ -33,7 +33,7 @@ #include #include -#include "py/nlr.h" +#include "py/runtime.h" #include "py/obj.h" #include "py/objlist.h" #include "py/objtuple.h" diff --git a/unix/mphalport.h b/unix/mphalport.h index 2a775d9828..e440eafd4e 100644 --- a/unix/mphalport.h +++ b/unix/mphalport.h @@ -39,4 +39,4 @@ static inline void mp_hal_delay_us(mp_uint_t us) { usleep(us); } #define RAISE_ERRNO(err_flag, error_val) \ { if (err_flag == -1) \ - { nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(error_val))); } } + { mp_raise_OSError(error_val); } } diff --git a/unix/mpthreadport.c b/unix/mpthreadport.c index 663d3a5dee..09f5702e38 100644 --- a/unix/mpthreadport.c +++ b/unix/mpthreadport.c @@ -29,6 +29,7 @@ #include #include "py/mpstate.h" +#include "py/runtime.h" #include "py/mpthread.h" #include "py/gc.h" @@ -182,7 +183,7 @@ void mp_thread_create(void *(*entry)(void*), void *arg, size_t *stack_size) { return; er: - nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(ret))); + mp_raise_OSError(ret); } void mp_thread_finish(void) {