diff options
author | Miran <narimiran@disroot.org> | 2020-06-23 16:15:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-23 16:15:37 +0200 |
commit | 881d1ee57b99c42e016fe0f8d2ca64a253f75960 (patch) | |
tree | 4288a24cc25d0982eb7c49a0062863c6a6959fdc /lib/system | |
parent | 685d03e2e0af156021b63b33575ad6d26dc6a228 (diff) | |
download | Nim-881d1ee57b99c42e016fe0f8d2ca64a253f75960.tar.gz |
fix #14750, don't allocate too much in newWideCString (#14773)
Diffstat (limited to 'lib/system')
-rw-r--r-- | lib/system/widestrs.nim | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/system/widestrs.nim b/lib/system/widestrs.nim index a7a514446..aabcbdc90 100644 --- a/lib/system/widestrs.nim +++ b/lib/system/widestrs.nim @@ -56,7 +56,7 @@ else: WideCStringObj* = WideCString template createWide(a; L) = - unsafeNew(a, L * 4 + 2) + unsafeNew(a, L) proc ord(arg: Utf16Char): int = int(cast[uint16](arg)) @@ -138,8 +138,7 @@ iterator runes(s: cstring, L: int): int = yield result proc newWideCString*(source: cstring, L: int): WideCStringObj = - createWide(result, L * 4 + 2) - #result = cast[wideCString](alloc(L * 4 + 2)) + createWide(result, L * 2 + 2) var d = 0 for ch in runes(source, L): |