浏览代码

Tighten string buffer size calculation in enc_string.

When "\u"-escaping a Unicode character, the esc_extra value doesn't
need to include the number of bytes in the input string.  That is, if
a three-byte UTF-8 character is being escaped to a six-byte "\uXXXX"
sequence, esc_extra only needs to be increased by 3.
pull/156/head
David Hull 7 年前
父节点
当前提交
0e721a7e5e
共有 1 个文件被更改,包括 1 次插入4 次删除
  1. +1
    -4
      c_src/encoder.c

+ 1
- 4
c_src/encoder.c 查看文件

@ -307,10 +307,7 @@ enc_string(Encoder* e, ERL_NIF_TERM val)
if(uval < 0) { if(uval < 0) {
return 0; return 0;
} }
esc_extra += utf8_esc_len(uval);
if(ulen < 0) {
return 0;
}
esc_extra += utf8_esc_len(uval) - ulen;
} }
i += ulen; i += ulen;
} }

正在加载...
取消
保存