From 0cedd530e32404ca05c7535d373fc64acd29e784 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 7 Aug 2004 20:57:19 +0000 Subject: [PATCH] (make_temp_name): Handle multibyte prefixes. --- src/ChangeLog | 4 ++++ src/fileio.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 285f9162a7..1f4952b2ea 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2004-08-07 Stefan Monnier + + * fileio.c (make_temp_name): Handle multibyte prefixes. + 2004-08-06 Luc Teirlinck * keyboard.c (syms_of_keyboard) : diff --git a/src/fileio.c b/src/fileio.c index c417dcdf33..a05b1cb834 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -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; -- 2.20.1