aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2004-08-07 20:57:19 +0000
committerStefan Monnier2004-08-07 20:57:19 +0000
commit0cedd530e32404ca05c7535d373fc64acd29e784 (patch)
tree77d63560e39809ca55f71dcec56210fd6f054700
parentabaf2e77e7ba11af0daa8989b2b0a2eb136d649b (diff)
downloademacs-0cedd530e32404ca05c7535d373fc64acd29e784.tar.gz
emacs-0cedd530e32404ca05c7535d373fc64acd29e784.zip
(make_temp_name): Handle multibyte prefixes.
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fileio.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 285f9162a75..1f4952b2ea1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * fileio.c (make_temp_name): Handle multibyte prefixes.
4
12004-08-06 Luc Teirlinck <teirllm@auburn.edu> 52004-08-06 Luc Teirlinck <teirllm@auburn.edu>
2 6
3 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>: 7 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
diff --git a/src/fileio.c b/src/fileio.c
index c417dcdf339..a05b1cb8340 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -886,7 +886,7 @@ make_temp_name (prefix, base64_p)
886 int base64_p; 886 int base64_p;
887{ 887{
888 Lisp_Object val; 888 Lisp_Object val;
889 int len; 889 int len, clen;
890 int pid; 890 int pid;
891 unsigned char *p, *data; 891 unsigned char *p, *data;
892 char pidbuf[20]; 892 char pidbuf[20];
@@ -921,8 +921,10 @@ make_temp_name (prefix, base64_p)
921#endif 921#endif
922 } 922 }
923 923
924 len = SCHARS (prefix); 924 len = SBYTES (prefix); clen = SCHARS (prefix);
925 val = make_uninit_string (len + 3 + pidlen); 925 val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen);
926 if (!STRING_MULTIBYTE (prefix))
927 STRING_SET_UNIBYTE (val);
926 data = SDATA (val); 928 data = SDATA (val);
927 bcopy(SDATA (prefix), data, len); 929 bcopy(SDATA (prefix), data, len);
928 p = data + len; 930 p = data + len;