From: Dmitry Antipov Date: Wed, 16 Oct 2013 09:30:30 +0000 (+0400) Subject: * fns.c (Fstring_as_unibyte): Use xlispstrdup. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1250 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=04d47595b9fdc18ce8694aa523a78971d002a0c3;p=emacs.git * fns.c (Fstring_as_unibyte): Use xlispstrdup. --- 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); }