changeset 65466:1fdd6c36f42c

(auto_save_error): Pass copy of lisp string to message2.
author Kim F. Storm <storm@cua.dk>
date Mon, 12 Sep 2005 13:42:49 +0000
parents 5780d53d7894
children 2e5f838e6ca7
files src/fileio.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c	Mon Sep 12 13:42:40 2005 +0000
+++ b/src/fileio.c	Mon Sep 12 13:42:49 2005 +0000
@@ -5769,6 +5769,8 @@
   Lisp_Object args[3], msg;
   int i, nbytes;
   struct gcpro gcpro1;
+  char *msgbuf;
+  USE_SAFE_ALLOCA;
 
   ring_bell ();
 
@@ -5778,13 +5780,15 @@
   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);
     }