summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/objarray.c8
-rw-r--r--py/objstr.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/py/objarray.c b/py/objarray.c
index 42fc0749d..c66070538 100644
--- a/py/objarray.c
+++ b/py/objarray.c
@@ -192,6 +192,14 @@ STATIC mp_obj_t bytearray_make_new(const mp_obj_type_t *type_in, size_t n_args,
return MP_OBJ_FROM_PTR(o);
} else {
// 1 arg: construct the bytearray from that
+ if (mp_obj_is_str(args[0]) && n_args == 1) {
+ #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
+ // Match bytes_make_new.
+ mp_raise_TypeError(MP_ERROR_TEXT("wrong number of arguments"));
+ #else
+ mp_raise_TypeError(MP_ERROR_TEXT("string argument without an encoding"));
+ #endif
+ }
return array_construct(BYTEARRAY_TYPECODE, args[0]);
}
}
diff --git a/py/objstr.c b/py/objstr.c
index 8c639e735..bd3e16e7f 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -233,7 +233,11 @@ STATIC mp_obj_t bytes_make_new(const mp_obj_type_t *type_in, size_t n_args, size
if (mp_obj_is_str(args[0])) {
if (n_args < 2 || n_args > 3) {
+ #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
goto wrong_args;
+ #else
+ mp_raise_TypeError(MP_ERROR_TEXT("string argument without an encoding"));
+ #endif
}
GET_STR_DATA_LEN(args[0], str_data, str_len);
GET_STR_HASH(args[0], str_hash);