aboutsummaryrefslogtreecommitdiff
path: root/py/vstr.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-06-13 02:42:34 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-06-27 00:04:18 +0300
commit165eb69b86e7160ffd64f9cbfb8543c4d25a0fa3 (patch)
tree7b0985be04f7b88d93f517535976cdd69bb7af05 /py/vstr.c
parent42a52516fe36a93979954844fcd2d8bfe61eb63c (diff)
vstr: Restore bytestr compatibility.
Diffstat (limited to 'py/vstr.c')
-rw-r--r--py/vstr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/py/vstr.c b/py/vstr.c
index 2dbc6f04a..9ccc95d49 100644
--- a/py/vstr.c
+++ b/py/vstr.c
@@ -199,6 +199,7 @@ void vstr_add_byte(vstr_t *vstr, byte b) {
}
void vstr_add_char(vstr_t *vstr, unichar c) {
+#if MICROPY_PY_BUILTINS_STR_UNICODE
// TODO: Can this be simplified and deduplicated?
// Is it worth just calling vstr_add_len(vstr, 4)?
if (c < 0x80) {
@@ -233,6 +234,13 @@ void vstr_add_char(vstr_t *vstr, unichar c) {
buf[2] = ((c >> 6) & 0x3F) | 0x80;
buf[3] = (c & 0x3F) | 0x80;
}
+#else
+ byte *buf = (byte*)vstr_add_len(vstr, 1);
+ if (buf == NULL) {
+ return;
+ }
+ buf[0] = c;
+#endif
}
void vstr_add_str(vstr_t *vstr, const char *str) {