summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-06-09 18:26:36 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-06-09 18:26:36 +0000
commit0bcbaaaaa8581dc69ddfb7363df3be45c718118f (patch)
treeb9ac5a755555bb5e6b5a88bef27a44973cfd2aa1
parent1f80c7e2bf033821dc32fc93d611932288c5b8a3 (diff)
downloademacs-0bcbaaaaa8581dc69ddfb7363df3be45c718118f.tar.gz
* process.c (status_message): Fix handling of multibyte signal
string (Bug#3499).
-rw-r--r--src/ChangeLog5
-rw-r--r--src/process.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1a1068409ac..a62284d5916 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
+
+ * process.c (status_message): Fix handling of multibyte signal
+ string (Bug#3499).
+
2009-06-09 Jim Meyering <meyering@redhat.com>
* xfaces.c (Fx_load_color_file): Avoid array bounds error if the
diff --git a/src/process.c b/src/process.c
index 5fb3662532d..2471ee187bf 100644
--- a/src/process.c
+++ b/src/process.c
@@ -464,13 +464,15 @@ status_message (p)
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))