diff options
Diffstat (limited to 'src/fileio.c')
| -rw-r--r-- | src/fileio.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c index a05d7689c12..180f6f94130 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -888,7 +888,7 @@ make_temp_name (prefix, base64_p) | |||
| 888 | int base64_p; | 888 | int base64_p; |
| 889 | { | 889 | { |
| 890 | Lisp_Object val; | 890 | Lisp_Object val; |
| 891 | int len; | 891 | int len, clen; |
| 892 | int pid; | 892 | int pid; |
| 893 | unsigned char *p, *data; | 893 | unsigned char *p, *data; |
| 894 | char pidbuf[20]; | 894 | char pidbuf[20]; |
| @@ -923,8 +923,10 @@ make_temp_name (prefix, base64_p) | |||
| 923 | #endif | 923 | #endif |
| 924 | } | 924 | } |
| 925 | 925 | ||
| 926 | len = SCHARS (prefix); | 926 | len = SBYTES (prefix); clen = SCHARS (prefix); |
| 927 | val = make_uninit_string (len + 3 + pidlen); | 927 | val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen); |
| 928 | if (!STRING_MULTIBYTE (prefix)) | ||
| 929 | STRING_SET_UNIBYTE (val); | ||
| 928 | data = SDATA (val); | 930 | data = SDATA (val); |
| 929 | bcopy(SDATA (prefix), data, len); | 931 | bcopy(SDATA (prefix), data, len); |
| 930 | p = data + len; | 932 | p = data + len; |