return -EINVAL;
}
- if (!GREEDY_REALLOC(s, allocated, sz+2))
+ if (!GREEDY_REALLOC(s, allocated, sz+7))
return -ENOMEM;
if (flags & UNQUOTE_CUNESCAPE) {
if (c != 0)
s[sz++] = c; /* normal explicit char */
else
- sz += utf8_encode_unichar(s, u); /* unicode chars we'll encode as utf8 */
+ sz += utf8_encode_unichar(s + sz, u); /* unicode chars we'll encode as utf8 */
} else
s[sz++] = c;
return -EINVAL;
}
- if (!GREEDY_REALLOC(s, allocated, sz+2))
+ if (!GREEDY_REALLOC(s, allocated, sz+7))
return -ENOMEM;
if (flags & UNQUOTE_CUNESCAPE) {
if (c != 0)
s[sz++] = c;
else
- sz += utf8_encode_unichar(s, u);
+ sz += utf8_encode_unichar(s + sz, u);
} else
s[sz++] = c;
return -EINVAL;
}
- if (!GREEDY_REALLOC(s, allocated, sz+2))
+ if (!GREEDY_REALLOC(s, allocated, sz+7))
return -ENOMEM;
if (flags & UNQUOTE_CUNESCAPE) {
if (c != 0)
s[sz++] = c;
else
- sz += utf8_encode_unichar(s, u);
+ sz += utf8_encode_unichar(s + sz, u);
} else
s[sz++] = c;