emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 9b0cdf461c: * src/haikufont.c (haikufont_draw): Allocate string b


From: Po Lu
Subject: master 9b0cdf461c: * src/haikufont.c (haikufont_draw): Allocate string buffer on stack.
Date: Thu, 3 Feb 2022 05:39:32 -0500 (EST)

branch: master
commit 9b0cdf461c24e36cedda27c700febebb00b40909
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    * src/haikufont.c (haikufont_draw): Allocate string buffer on stack.
---
 src/haikufont.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/haikufont.c b/src/haikufont.c
index 67b1113e44..1ef5f54c9a 100644
--- a/src/haikufont.c
+++ b/src/haikufont.c
@@ -1000,12 +1000,13 @@ haikufont_draw (struct glyph_string *s, int from, int 
to,
   else
     {
       ptrdiff_t b_len = 0;
-      char *b = xmalloc (b_len);
+      char *b = alloca ((to - from + 1) * MAX_MULTIBYTE_LENGTH);
 
       for (int idx = from; idx < to; ++idx)
        {
          int len = CHAR_STRING (s->char2b[idx], mb);
-         b = xrealloc (b, b_len = (b_len + len));
+         b_len += len;
+
          if (len == 1)
            b[b_len - len] = mb[0];
          else
@@ -1013,7 +1014,6 @@ haikufont_draw (struct glyph_string *s, int from, int to,
        }
 
       BView_DrawString (view, b, b_len);
-      xfree (b);
     }
 
   unblock_input ();



reply via email to

[Prev in Thread] Current Thread [Next in Thread]