]> git.eshelyaron.com Git - emacs.git/commitdiff
(make_temp_name): Handle multibyte prefixes.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 7 Aug 2004 20:57:19 +0000 (20:57 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 7 Aug 2004 20:57:19 +0000 (20:57 +0000)
src/ChangeLog
src/fileio.c

index 285f9162a75cff318727aea450e014116d4d0e35..1f4952b2ea19c64427fe627e33f16e50ad93dae3 100644 (file)
@@ -1,3 +1,7 @@
+2004-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fileio.c (make_temp_name): Handle multibyte prefixes.
+
 2004-08-06  Luc Teirlinck  <teirllm@auburn.edu>
 
        * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
index c417dcdf33999d14a09916df329f967d93e9bdc7..a05b1cb8340099ad11ae1ef6e4365f11fd2bcafd 100644 (file)
@@ -886,7 +886,7 @@ make_temp_name (prefix, base64_p)
      int base64_p;
 {
   Lisp_Object val;
-  int len;
+  int len, clen;
   int pid;
   unsigned char *p, *data;
   char pidbuf[20];
@@ -921,8 +921,10 @@ make_temp_name (prefix, base64_p)
 #endif
     }
 
-  len = SCHARS (prefix);
-  val = make_uninit_string (len + 3 + pidlen);
+  len = SBYTES (prefix); clen = SCHARS (prefix);
+  val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen);
+  if (!STRING_MULTIBYTE (prefix))
+    STRING_SET_UNIBYTE (val);
   data = SDATA (val);
   bcopy(SDATA (prefix), data, len);
   p = data + len;