extmod: Update for changes to mp_obj_str_get_data.

This commit is contained in:
Damien George 2017-03-25 19:48:44 +11:00
parent 6b34107537
commit 204ded848e
6 changed files with 19 additions and 41 deletions

View File

@ -97,12 +97,8 @@ STATIC mp_obj_t btree_put(size_t n_args, const mp_obj_t *args) {
(void)n_args; (void)n_args;
mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]); mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]);
DBT key, val; DBT key, val;
// Different ports may have different type sizes key.data = (void*)mp_obj_str_get_data(args[1], &key.size);
mp_uint_t v; val.data = (void*)mp_obj_str_get_data(args[2], &val.size);
key.data = (void*)mp_obj_str_get_data(args[1], &v);
key.size = v;
val.data = (void*)mp_obj_str_get_data(args[2], &v);
val.size = v;
return MP_OBJ_NEW_SMALL_INT(__bt_put(self->db, &key, &val, 0)); return MP_OBJ_NEW_SMALL_INT(__bt_put(self->db, &key, &val, 0));
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_put_obj, 3, 4, btree_put); STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_put_obj, 3, 4, btree_put);
@ -110,10 +106,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(btree_put_obj, 3, 4, btree_put);
STATIC mp_obj_t btree_get(size_t n_args, const mp_obj_t *args) { STATIC mp_obj_t btree_get(size_t n_args, const mp_obj_t *args) {
mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]); mp_obj_btree_t *self = MP_OBJ_TO_PTR(args[0]);
DBT key, val; DBT key, val;
// Different ports may have different type sizes key.data = (void*)mp_obj_str_get_data(args[1], &key.size);
mp_uint_t v;
key.data = (void*)mp_obj_str_get_data(args[1], &v);
key.size = v;
int res = __bt_get(self->db, &key, &val, 0); int res = __bt_get(self->db, &key, &val, 0);
if (res == RET_SPECIAL) { if (res == RET_SPECIAL) {
if (n_args > 2) { if (n_args > 2) {
@ -132,10 +125,7 @@ STATIC mp_obj_t btree_seq(size_t n_args, const mp_obj_t *args) {
int flags = MP_OBJ_SMALL_INT_VALUE(args[1]); int flags = MP_OBJ_SMALL_INT_VALUE(args[1]);
DBT key, val; DBT key, val;
if (n_args > 2) { if (n_args > 2) {
// Different ports may have different type sizes key.data = (void*)mp_obj_str_get_data(args[2], &key.size);
mp_uint_t v;
key.data = (void*)mp_obj_str_get_data(args[2], &v);
key.size = v;
} }
int res = __bt_seq(self->db, &key, &val, flags); int res = __bt_seq(self->db, &key, &val, flags);
@ -206,14 +196,11 @@ STATIC mp_obj_t btree_iternext(mp_obj_t self_in) {
mp_obj_btree_t *self = MP_OBJ_TO_PTR(self_in); mp_obj_btree_t *self = MP_OBJ_TO_PTR(self_in);
DBT key, val; DBT key, val;
int res; int res;
// Different ports may have different type sizes
mp_uint_t v;
bool desc = self->flags & FLAG_DESC; bool desc = self->flags & FLAG_DESC;
if (self->start_key != MP_OBJ_NULL) { if (self->start_key != MP_OBJ_NULL) {
int flags = R_FIRST; int flags = R_FIRST;
if (self->start_key != mp_const_none) { if (self->start_key != mp_const_none) {
key.data = (void*)mp_obj_str_get_data(self->start_key, &v); key.data = (void*)mp_obj_str_get_data(self->start_key, &key.size);
key.size = v;
flags = R_CURSOR; flags = R_CURSOR;
} else if (desc) { } else if (desc) {
flags = R_LAST; flags = R_LAST;
@ -231,8 +218,7 @@ STATIC mp_obj_t btree_iternext(mp_obj_t self_in) {
if (self->end_key != mp_const_none) { if (self->end_key != mp_const_none) {
DBT end_key; DBT end_key;
end_key.data = (void*)mp_obj_str_get_data(self->end_key, &v); end_key.data = (void*)mp_obj_str_get_data(self->end_key, &end_key.size);
end_key.size = v;
BTREE *t = self->db->internal; BTREE *t = self->db->internal;
int cmp = t->bt_cmp(&key, &end_key); int cmp = t->bt_cmp(&key, &end_key);
if (desc) { if (desc) {
@ -264,13 +250,10 @@ STATIC mp_obj_t btree_iternext(mp_obj_t self_in) {
STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) { STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
mp_obj_btree_t *self = MP_OBJ_TO_PTR(self_in); mp_obj_btree_t *self = MP_OBJ_TO_PTR(self_in);
// Different ports may have different type sizes
mp_uint_t v;
if (value == MP_OBJ_NULL) { if (value == MP_OBJ_NULL) {
// delete // delete
DBT key; DBT key;
key.data = (void*)mp_obj_str_get_data(index, &v); key.data = (void*)mp_obj_str_get_data(index, &key.size);
key.size = v;
int res = __bt_delete(self->db, &key, 0); int res = __bt_delete(self->db, &key, 0);
if (res == RET_SPECIAL) { if (res == RET_SPECIAL) {
nlr_raise(mp_obj_new_exception(&mp_type_KeyError)); nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
@ -280,8 +263,7 @@ STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
} else if (value == MP_OBJ_SENTINEL) { } else if (value == MP_OBJ_SENTINEL) {
// load // load
DBT key, val; DBT key, val;
key.data = (void*)mp_obj_str_get_data(index, &v); key.data = (void*)mp_obj_str_get_data(index, &key.size);
key.size = v;
int res = __bt_get(self->db, &key, &val, 0); int res = __bt_get(self->db, &key, &val, 0);
if (res == RET_SPECIAL) { if (res == RET_SPECIAL) {
nlr_raise(mp_obj_new_exception(&mp_type_KeyError)); nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
@ -291,10 +273,8 @@ STATIC mp_obj_t btree_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
} else { } else {
// store // store
DBT key, val; DBT key, val;
key.data = (void*)mp_obj_str_get_data(index, &v); key.data = (void*)mp_obj_str_get_data(index, &key.size);
key.size = v; val.data = (void*)mp_obj_str_get_data(value, &val.size);
val.data = (void*)mp_obj_str_get_data(value, &v);
val.size = v;
int res = __bt_put(self->db, &key, &val, 0); int res = __bt_put(self->db, &key, &val, 0);
CHECK_ERROR(res); CHECK_ERROR(res);
return mp_const_none; return mp_const_none;
@ -305,10 +285,8 @@ STATIC mp_obj_t btree_binary_op(mp_uint_t op, mp_obj_t lhs_in, mp_obj_t rhs_in)
mp_obj_btree_t *self = MP_OBJ_TO_PTR(lhs_in); mp_obj_btree_t *self = MP_OBJ_TO_PTR(lhs_in);
switch (op) { switch (op) {
case MP_BINARY_OP_IN: { case MP_BINARY_OP_IN: {
mp_uint_t v;
DBT key, val; DBT key, val;
key.data = (void*)mp_obj_str_get_data(rhs_in, &v); key.data = (void*)mp_obj_str_get_data(rhs_in, &key.size);
key.size = v;
int res = __bt_get(self->db, &key, &val, 0); int res = __bt_get(self->db, &key, &val, 0);
CHECK_ERROR(res); CHECK_ERROR(res);
return mp_obj_new_bool(res != RET_SPECIAL); return mp_obj_new_bool(res != RET_SPECIAL);

View File

@ -274,7 +274,7 @@ STATIC mp_obj_t mod_ujson_load(mp_obj_t stream_obj) {
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_load_obj, mod_ujson_load); STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_load_obj, mod_ujson_load);
STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) { STATIC mp_obj_t mod_ujson_loads(mp_obj_t obj) {
mp_uint_t len; size_t len;
const char *buf = mp_obj_str_get_data(obj, &len); const char *buf = mp_obj_str_get_data(obj, &len);
vstr_t vstr = {len, len, (char*)buf, true}; vstr_t vstr = {len, len, (char*)buf, true};
mp_obj_stringio_t sio = {{&mp_type_stringio}, &vstr, 0}; mp_obj_stringio_t sio = {{&mp_type_stringio}, &vstr, 0};

View File

@ -96,7 +96,7 @@ STATIC mp_obj_t ure_exec(bool is_anchored, uint n_args, const mp_obj_t *args) {
(void)n_args; (void)n_args;
mp_obj_re_t *self = MP_OBJ_TO_PTR(args[0]); mp_obj_re_t *self = MP_OBJ_TO_PTR(args[0]);
Subject subj; Subject subj;
mp_uint_t len; size_t len;
subj.begin = mp_obj_str_get_data(args[1], &len); subj.begin = mp_obj_str_get_data(args[1], &len);
subj.end = subj.begin + len; subj.end = subj.begin + len;
int caps_num = (self->re.sub + 1) * 2; int caps_num = (self->re.sub + 1) * 2;
@ -128,7 +128,7 @@ MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(re_search_obj, 2, 4, re_search);
STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) { STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
mp_obj_re_t *self = MP_OBJ_TO_PTR(args[0]); mp_obj_re_t *self = MP_OBJ_TO_PTR(args[0]);
Subject subj; Subject subj;
mp_uint_t len; size_t len;
subj.begin = mp_obj_str_get_data(args[1], &len); subj.begin = mp_obj_str_get_data(args[1], &len);
subj.end = subj.begin + len; subj.end = subj.begin + len;
int caps_num = (self->re.sub + 1) * 2; int caps_num = (self->re.sub + 1) * 2;

View File

@ -156,13 +156,13 @@ STATIC mp_obj_ssl_socket_t *socket_new(mp_obj_t sock, struct ssl_args *args) {
mbedtls_ssl_set_bio(&o->ssl, &o->sock, _mbedtls_ssl_send, _mbedtls_ssl_recv, NULL); mbedtls_ssl_set_bio(&o->ssl, &o->sock, _mbedtls_ssl_send, _mbedtls_ssl_recv, NULL);
if (args->key.u_obj != MP_OBJ_NULL) { if (args->key.u_obj != MP_OBJ_NULL) {
mp_uint_t key_len; size_t key_len;
const byte *key = (const byte*)mp_obj_str_get_data(args->key.u_obj, &key_len); const byte *key = (const byte*)mp_obj_str_get_data(args->key.u_obj, &key_len);
// len should include terminating null // len should include terminating null
ret = mbedtls_pk_parse_key(&o->pkey, key, key_len + 1, NULL, 0); ret = mbedtls_pk_parse_key(&o->pkey, key, key_len + 1, NULL, 0);
assert(ret == 0); assert(ret == 0);
mp_uint_t cert_len; size_t cert_len;
const byte *cert = (const byte*)mp_obj_str_get_data(args->cert.u_obj, &cert_len); const byte *cert = (const byte*)mp_obj_str_get_data(args->cert.u_obj, &cert_len);
// len should include terminating null // len should include terminating null
ret = mbedtls_x509_crt_parse(&o->cert, cert, cert_len + 1); ret = mbedtls_x509_crt_parse(&o->cert, cert, cert_len + 1);

View File

@ -308,7 +308,7 @@ STATIC mp_obj_t webrepl_close(mp_obj_t self_in) {
STATIC MP_DEFINE_CONST_FUN_OBJ_1(webrepl_close_obj, webrepl_close); STATIC MP_DEFINE_CONST_FUN_OBJ_1(webrepl_close_obj, webrepl_close);
STATIC mp_obj_t webrepl_set_password(mp_obj_t passwd_in) { STATIC mp_obj_t webrepl_set_password(mp_obj_t passwd_in) {
mp_uint_t len; size_t len;
const char *passwd = mp_obj_str_get_data(passwd_in, &len); const char *passwd = mp_obj_str_get_data(passwd_in, &len);
if (len > sizeof(webrepl_passwd) - 1) { if (len > sizeof(webrepl_passwd) - 1) {
mp_raise_ValueError(""); mp_raise_ValueError("");

View File

@ -134,7 +134,7 @@ mp_obj_t mp_vfs_mount(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args
mp_arg_parse_all(n_args - 2, pos_args + 2, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); mp_arg_parse_all(n_args - 2, pos_args + 2, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
// get the mount point // get the mount point
mp_uint_t mnt_len; size_t mnt_len;
const char *mnt_str = mp_obj_str_get_data(pos_args[1], &mnt_len); const char *mnt_str = mp_obj_str_get_data(pos_args[1], &mnt_len);
// see if we need to auto-detect and create the filesystem // see if we need to auto-detect and create the filesystem
@ -180,7 +180,7 @@ MP_DEFINE_CONST_FUN_OBJ_KW(mp_vfs_mount_obj, 2, mp_vfs_mount);
mp_obj_t mp_vfs_umount(mp_obj_t mnt_in) { mp_obj_t mp_vfs_umount(mp_obj_t mnt_in) {
// remove vfs from the mount table // remove vfs from the mount table
mp_vfs_mount_t *vfs = NULL; mp_vfs_mount_t *vfs = NULL;
mp_uint_t mnt_len; size_t mnt_len;
const char *mnt_str = NULL; const char *mnt_str = NULL;
if (MP_OBJ_IS_STR(mnt_in)) { if (MP_OBJ_IS_STR(mnt_in)) {
mnt_str = mp_obj_str_get_data(mnt_in, &mnt_len); mnt_str = mp_obj_str_get_data(mnt_in, &mnt_len);