diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-06-15 04:17:45 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-06-15 04:18:44 +0300 |
commit | 422396cecef271e4c40e4654a7b5af1208e28a92 (patch) | |
tree | 061f82223734a04930690c4a90a852d2dd6ae236 /extmod/modbtree.c | |
parent | a1eab98eaf0316af6094772be3a44dd7184fcb1b (diff) | |
download | micropython-422396cecef271e4c40e4654a7b5af1208e28a92.tar.gz micropython-422396cecef271e4c40e4654a7b5af1208e28a92.zip |
extmod/modbtree: Handle default value and error check.
Diffstat (limited to 'extmod/modbtree.c')
-rw-r--r-- | extmod/modbtree.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/extmod/modbtree.c b/extmod/modbtree.c index 4dd7da3b2d..58212b33ad 100644 --- a/extmod/modbtree.c +++ b/extmod/modbtree.c @@ -92,8 +92,13 @@ STATIC mp_obj_t btree_get(size_t n_args, const mp_obj_t *args) { key.data = (void*)mp_obj_str_get_data(args[1], &key.size); int res = __bt_get(self->db, &key, &val, 0); if (res == RET_SPECIAL) { - return mp_const_none; + if (n_args > 2) { + return args[2]; + } else { + return mp_const_none; + } } + CHECK_ERROR(res); return mp_obj_new_bytes(val.data, val.size); } STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_get_obj, 2, 3, btree_get); |