vstr: Restore bytestr compatibility.

This commit is contained in:
Paul Sokolovsky 2014-06-13 02:42:34 +03:00
parent 42a52516fe
commit 165eb69b86

View File

@ -199,6 +199,7 @@ void vstr_add_byte(vstr_t *vstr, byte b) {
} }
void vstr_add_char(vstr_t *vstr, unichar c) { void vstr_add_char(vstr_t *vstr, unichar c) {
#if MICROPY_PY_BUILTINS_STR_UNICODE
// TODO: Can this be simplified and deduplicated? // TODO: Can this be simplified and deduplicated?
// Is it worth just calling vstr_add_len(vstr, 4)? // Is it worth just calling vstr_add_len(vstr, 4)?
if (c < 0x80) { if (c < 0x80) {
@ -233,6 +234,13 @@ void vstr_add_char(vstr_t *vstr, unichar c) {
buf[2] = ((c >> 6) & 0x3F) | 0x80; buf[2] = ((c >> 6) & 0x3F) | 0x80;
buf[3] = (c & 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) { void vstr_add_str(vstr_t *vstr, const char *str) {