From 04d47595b9fdc18ce8694aa523a78971d002a0c3 Mon Sep 17 00:00:00 2001 From: Dmitry Antipov Date: Wed, 16 Oct 2013 13:30:30 +0400 Subject: [PATCH] * fns.c (Fstring_as_unibyte): Use xlispstrdup. --- src/ChangeLog | 4 ++++ src/fns.c | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 19f7fdcfcff..6b4660b2baf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-10-16 Dmitry Antipov + + * fns.c (Fstring_as_unibyte): Use xlispstrdup. + 2013-10-15 Paul Eggert * print.c (print_object): Print " ..." when truncating bool vectors. diff --git a/src/fns.c b/src/fns.c index cb439024c08..ceea0306b5f 100644 --- a/src/fns.c +++ b/src/fns.c @@ -1009,11 +1009,9 @@ If STRING is multibyte and contains a character of charset if (STRING_MULTIBYTE (string)) { - ptrdiff_t bytes = SBYTES (string); - unsigned char *str = xmalloc (bytes); + unsigned char *str = xlispstrdup (string); + ptrdiff_t bytes = str_as_unibyte (str, SBYTES (string)); - memcpy (str, SDATA (string), bytes); - bytes = str_as_unibyte (str, bytes); string = make_unibyte_string ((char *) str, bytes); xfree (str); } -- 2.39.2