summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fns.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 877a73c2657..535558bee2d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2003-02-17 Kenichi Handa <handa@m17n.org>
+
+ * fns.c (string_to_multibyte): Always return a multibyte string.
+
2003-02-16 Jason Rumney <jasonr@gnu.org>
* w32fns.c (w32_list_bdf_fonts, w32_list_fonts): Negative
diff --git a/src/fns.c b/src/fns.c
index 69c7418845e..729872722bd 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -1053,10 +1053,10 @@ string_to_multibyte (string)
return string;
nbytes = parse_str_to_multibyte (SDATA (string), SBYTES (string));
- /* If all the chars are ASCII, they won't need any more bytes
- once converted. In that case, we can return STRING itself. */
+ /* If all the chars are ASCII or eight-bit-graphic, they won't need
+ any more bytes once converted. */
if (nbytes == SBYTES (string))
- return string;
+ return make_multibyte_string (SDATA (string), nbytes, nbytes);
buf = (unsigned char *) alloca (nbytes);
bcopy (SDATA (string), buf, SBYTES (string));