@@ -228,8 +228,8 @@ STATIC mp_obj_t load_obj(mp_reader_t *reader) {
228
228
vstr_t vstr ;
229
229
vstr_init_len (& vstr , len );
230
230
read_bytes (reader , (byte * )vstr .buf , len );
231
- read_byte (reader ); // skip null terminator
232
231
if (obj_type == 's' || obj_type == 'b' ) {
232
+ read_byte (reader ); // skip null terminator
233
233
return mp_obj_new_str_from_vstr (obj_type == 's' ? & mp_type_str : & mp_type_bytes , & vstr );
234
234
} else if (obj_type == 'i' ) {
235
235
return mp_parse_num_integer (vstr .buf , vstr .len , 10 , NULL );
@@ -532,7 +532,7 @@ STATIC void save_obj(mp_print_t *print, mp_obj_t o) {
532
532
const char * str = mp_obj_str_get_data (o , & len );
533
533
mp_print_bytes (print , & obj_type , 1 );
534
534
mp_print_uint (print , len );
535
- mp_print_bytes (print , (const byte * )str , len + 1 );
535
+ mp_print_bytes (print , (const byte * )str , len + 1 ); // +1 to store null terminator
536
536
} else if (MP_OBJ_TO_PTR (o ) == & mp_const_ellipsis_obj ) {
537
537
byte obj_type = 'e' ;
538
538
mp_print_bytes (print , & obj_type , 1 );
0 commit comments