summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2005-09-12 13:42:49 +0000
committerKim F. Storm <storm@cua.dk>2005-09-12 13:42:49 +0000
commitdfc22242b5b96d0344fdadb23e723e2f637af40f (patch)
treedef0986258491bcc447a7465fe4afe631cc48bbe /src/fileio.c
parent11fb15d5c492cdfcde124fcbb01e22c3467f3e93 (diff)
downloademacs-dfc22242b5b96d0344fdadb23e723e2f637af40f.tar.gz
(auto_save_error): Pass copy of lisp string to message2.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 53ae967e285..a51371be0e6 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5769,6 +5769,8 @@ auto_save_error (error)
Lisp_Object args[3], msg;
int i, nbytes;
struct gcpro gcpro1;
+ char *msgbuf;
+ USE_SAFE_ALLOCA;
ring_bell ();
@@ -5778,13 +5780,15 @@ auto_save_error (error)
msg = Fformat (3, args);
GCPRO1 (msg);
nbytes = SBYTES (msg);
+ SAFE_ALLOCA (msgbuf, char *, nbytes);
+ bcopy (SDATA (msg), msgbuf, nbytes);
for (i = 0; i < 3; ++i)
{
if (i == 0)
- message2 (SDATA (msg), nbytes, STRING_MULTIBYTE (msg));
+ message2 (msgbuf, nbytes, STRING_MULTIBYTE (msg));
else
- message2_nolog (SDATA (msg), nbytes, STRING_MULTIBYTE (msg));
+ message2_nolog (msgbuf, nbytes, STRING_MULTIBYTE (msg));
Fsleep_for (make_number (1), Qnil);
}