diff src/process.c @ 103363:3fb472c8bc3c

* process.c (status_message): Fix handling of multibyte signal string (Bug#3499).
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 09 Jun 2009 18:26:36 +0000
parents 9569175bb813
children c849cd055fab
line wrap: on
line diff
--- a/src/process.c	Tue Jun 09 17:56:48 2009 +0000
+++ b/src/process.c	Tue Jun 09 18:26:36 2009 +0000
@@ -464,13 +464,15 @@
   if (EQ (symbol, Qsignal) || EQ (symbol, Qstop))
     {
       char *signame;
+      int c;
       synchronize_system_messages_locale ();
       signame = strsignal (code);
       if (signame == 0)
 	signame = "unknown";
       string = build_string (signame);
       string2 = build_string (coredump ? " (core dumped)\n" : "\n");
-      SSET (string, 0, DOWNCASE (SREF (string, 0)));
+      c = STRING_CHAR ((char *) SDATA (string), 0);
+      Faset (string, 0, make_number (DOWNCASE (c)));
       return concat2 (string, string2);
     }
   else if (EQ (symbol, Qexit))