py/objstr: Check for keyword args before checking for no posn args.

Otherwise something like bytes(abc=123) will succeed.
This commit is contained in:
Damien George 2015-09-04 16:51:55 +01:00
parent 55b11e6d38
commit 42cec5c893
1 changed files with 4 additions and 4 deletions

View File

@ -172,16 +172,16 @@ mp_obj_t mp_obj_str_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw,
STATIC mp_obj_t bytes_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) { STATIC mp_obj_t bytes_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) {
(void)type_in; (void)type_in;
if (n_args == 0) {
return mp_const_empty_bytes;
}
#if MICROPY_CPYTHON_COMPAT #if MICROPY_CPYTHON_COMPAT
if (n_kw != 0) { if (n_kw != 0) {
mp_arg_error_unimpl_kw(); mp_arg_error_unimpl_kw();
} }
#endif #endif
if (n_args == 0) {
return mp_const_empty_bytes;
}
if (MP_OBJ_IS_STR(args[0])) { if (MP_OBJ_IS_STR(args[0])) {
if (n_args < 2 || n_args > 3) { if (n_args < 2 || n_args > 3) {
goto wrong_args; goto wrong_args;