From 422396cecef271e4c40e4654a7b5af1208e28a92 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 15 Jun 2016 04:17:45 +0300 Subject: [PATCH] extmod/modbtree: Handle default value and error check. --- extmod/modbtree.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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);