summaryrefslogtreecommitdiff
path: root/py/modbuiltins.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2018-09-16 07:23:53 +0300
committerDamien George <damien.p.george@gmail.com>2018-09-20 14:41:35 +1000
commit93f29975db5c643aa367260d8163885e06a08170 (patch)
treed3f415f48196ed87d0f7a2ef4817c9aafaa7b651 /py/modbuiltins.c
parent2da5d41350d2b1644614a5ce8de557a283d7460a (diff)
py/modbuiltins: Make oct/hex work when !MICROPY_PY_BUILTINS_STR_OP_MODULO
Instead of redirecting to str.__mod__(), use str.format() in this case.
Diffstat (limited to 'py/modbuiltins.c')
-rw-r--r--py/modbuiltins.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/py/modbuiltins.c b/py/modbuiltins.c
index c169b2ee4..c4de325c1 100644
--- a/py/modbuiltins.c
+++ b/py/modbuiltins.c
@@ -217,7 +217,12 @@ STATIC mp_obj_t mp_builtin_hash(mp_obj_t o_in) {
MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_hash_obj, mp_builtin_hash);
STATIC mp_obj_t mp_builtin_hex(mp_obj_t o_in) {
+ #if MICROPY_PY_BUILTINS_STR_OP_MODULO
return mp_binary_op(MP_BINARY_OP_MODULO, MP_OBJ_NEW_QSTR(MP_QSTR__percent__hash_x), o_in);
+ #else
+ mp_obj_t args[] = { MP_OBJ_NEW_QSTR(MP_QSTR__brace_open__colon__hash_x_brace_close_), o_in };
+ return mp_obj_str_format(MP_ARRAY_SIZE(args), args, NULL);
+ #endif
}
MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_hex_obj, mp_builtin_hex);
@@ -322,7 +327,12 @@ STATIC mp_obj_t mp_builtin_next(mp_obj_t o) {
MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_next_obj, mp_builtin_next);
STATIC mp_obj_t mp_builtin_oct(mp_obj_t o_in) {
+ #if MICROPY_PY_BUILTINS_STR_OP_MODULO
return mp_binary_op(MP_BINARY_OP_MODULO, MP_OBJ_NEW_QSTR(MP_QSTR__percent__hash_o), o_in);
+ #else
+ mp_obj_t args[] = { MP_OBJ_NEW_QSTR(MP_QSTR__brace_open__colon__hash_o_brace_close_), o_in };
+ return mp_obj_str_format(MP_ARRAY_SIZE(args), args, NULL);
+ #endif
}
MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_oct_obj, mp_builtin_oct);