vstr: Restore bytestr compatibility.

nlr-macros
Paul Sokolovsky 2014-06-13 02:42:34 +03:00
parent 42a52516fe
commit 165eb69b86
1 changed files with 8 additions and 0 deletions

View File

@ -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) {