diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 21:42:58 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-05-04 21:42:58 -0700 |
commit | deb94c615bda4430b3d71eb2f961fbc09cfab9da (patch) | |
tree | 36bb29c36ae6ebbabbd5cd60456f0d6b7062f785 /utf8.c | |
parent | 7f841abd8218c68f8d69fe798b8d5e9d322b4de8 (diff) | |
download | txr-deb94c615bda4430b3d71eb2f961fbc09cfab9da.tar.gz txr-deb94c615bda4430b3d71eb2f961fbc09cfab9da.tar.bz2 txr-deb94c615bda4430b3d71eb2f961fbc09cfab9da.zip |
Eliminate double strlen in utf8 string conversion.
* utf8.c (utf8_dup_from): Eliminate double call to
utf8_from wrapper, which calls strlen. Call the
lower level utf8_from_buf directly.
Diffstat (limited to 'utf8.c')
-rw-r--r-- | utf8.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -201,9 +201,10 @@ size_t utf8_to(char *dst, const wchar_t *wsrc) wchar_t *utf8_dup_from(const char *str) { - size_t nchar = utf8_from(0, str); + size_t len = strlen(str); + size_t nchar = utf8_from_buf(0, coerce(unsigned char *, str), len); wchar_t *wstr = chk_wmalloc(nchar); - utf8_from(wstr, str); + utf8_from_buf(wstr, coerce(unsigned char *, str), len); return wstr; } |