diff options
Diffstat (limited to 'py/objstrunicode.c')
-rw-r--r-- | py/objstrunicode.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/py/objstrunicode.c b/py/objstrunicode.c index 0ee7f1dc9a..062e011fb1 100644 --- a/py/objstrunicode.c +++ b/py/objstrunicode.c @@ -91,41 +91,11 @@ STATIC void uni_print_quoted(void (*print)(void *env, const char *fmt, ...), voi print(env, "%c", quote_char); } -#if MICROPY_PY_UJSON -STATIC void uni_print_json(void (*print)(void *env, const char *fmt, ...), void *env, const byte *str_data, uint str_len) { - print(env, "\""); - const byte *s = str_data, *top = str_data + str_len; - while (s < top) { - unichar ch; - ch = utf8_get_char(s); - s = utf8_next_char(s); - if (ch == '"' || ch == '\\' || ch == '/') { - print(env, "\\%c", ch); - } else if (32 <= ch && ch <= 126) { - print(env, "%c", ch); - } else if (*s == '\b') { - print(env, "\\b"); - } else if (*s == '\f') { - print(env, "\\f"); - } else if (*s == '\n') { - print(env, "\\n"); - } else if (*s == '\r') { - print(env, "\\r"); - } else if (*s == '\t') { - print(env, "\\t"); - } else { - print(env, "\\u%04x", ch); - } - } - print(env, "\""); -} -#endif - STATIC void uni_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) { GET_STR_DATA_LEN(self_in, str_data, str_len); #if MICROPY_PY_UJSON if (kind == PRINT_JSON) { - uni_print_json(print, env, str_data, str_len); + mp_str_print_json(print, env, str_data, str_len); return; } #endif |