]> code.delx.au - gnu-emacs/blobdiff - src/coding.c
Merge from origin/emacs-25
[gnu-emacs] / src / coding.c
index e72d7b71867a61ef65362185feba56e94e648cf7..17cb77e28dfd994f55ca05def0ddbf30c1dd83dd 100644 (file)
@@ -8419,11 +8419,10 @@ from_unicode (Lisp_Object str)
 Lisp_Object
 from_unicode_buffer (const wchar_t *wstr)
 {
-    return from_unicode (
-        make_unibyte_string (
-            (char *) wstr,
-            /* we get one of the two final 0 bytes for free. */
-            1 + sizeof (wchar_t) * wcslen (wstr)));
+  /* We get one of the two final null bytes for free.  */
+  ptrdiff_t len = 1 + sizeof (wchar_t) * wcslen (wstr);
+  AUTO_STRING_WITH_LEN (str, (char *) wstr, len);
+  return from_unicode (str);
 }
 
 wchar_t *