all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] emacs/src term.c
       [not found] <E1L9hLb-000768-Bm@cvs.savannah.gnu.org>
@ 2008-12-08 18:23 ` Emanuele Giaquinta
  0 siblings, 0 replies; only message in thread
From: Emanuele Giaquinta @ 2008-12-08 18:23 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1346 bytes --]

On Mon, Dec 08, 2008 at 02:44:31PM +0000, Chong Yidong wrote:

> Index: term.c
> ===================================================================
> RCS file: /sources/emacs/emacs/src/term.c,v
> retrieving revision 1.229
> retrieving revision 1.230
> diff -u -b -r1.229 -r1.230
> --- term.c	27 Sep 2008 10:50:48 -0000	1.229
> +++ term.c	8 Dec 2008 14:44:30 -0000	1.230
> @@ -581,10 +581,10 @@
>    required = MAX_MULTIBYTE_LENGTH * src_len;
>    if (encode_terminal_src_size < required)
>      {
> -      if (encode_terminal_src_size == 0)
> -	encode_terminal_src = xmalloc (required);
> -      else
> +      if (encode_terminal_src)
>  	encode_terminal_src = xrealloc (encode_terminal_src, required);
> +      else
> +	encode_terminal_src = xmalloc (required);
>        encode_terminal_src_size = required;
>      }
>  
> @@ -740,6 +740,10 @@
>    if (encode_terminal_dst_size == 0)
>      {
>        encode_terminal_dst_size = encode_terminal_src_size;
> +      if (encode_terminal_dst)
> +	encode_terminal_dst = xrealloc (encode_terminal_dst,
> +					encode_terminal_dst_size);
> +      else
>        encode_terminal_dst = xmalloc (encode_terminal_dst_size);
>      }
>    coding->destination = encode_terminal_dst;

Any reason to not simply use realloc? (realloc(NULL, size) == malloc(size))
A patch is attached in case it is ok.

Emanuele

[-- Attachment #2: realloc.diff --]
[-- Type: text/x-diff, Size: 1645 bytes --]

diff --git a/src/term.c b/src/term.c
index 32bc4f6..dc0cb38 100644
--- a/src/term.c
+++ b/src/term.c
@@ -581,10 +581,7 @@ encode_terminal_code (src, src_len, coding)
   required = MAX_MULTIBYTE_LENGTH * src_len;
   if (encode_terminal_src_size < required)
     {
-      if (encode_terminal_src)
 	encode_terminal_src = xrealloc (encode_terminal_src, required);
-      else
-	encode_terminal_src = xmalloc (required);
       encode_terminal_src_size = required;
     }
 
@@ -740,11 +737,8 @@ encode_terminal_code (src, src_len, coding)
   if (encode_terminal_dst_size == 0)
     {
       encode_terminal_dst_size = encode_terminal_src_size;
-      if (encode_terminal_dst)
 	encode_terminal_dst = xrealloc (encode_terminal_dst,
 					encode_terminal_dst_size);
-      else
-	encode_terminal_dst = xmalloc (encode_terminal_dst_size);
     }
   coding->destination = encode_terminal_dst;
   coding->dst_bytes = encode_terminal_dst_size;
@@ -1218,15 +1212,10 @@ calculate_costs (struct frame *frame)
       max_frame_lines = max (max_frame_lines, FRAME_LINES (frame));
       max_frame_cols = max (max_frame_cols, FRAME_COLS (frame));
 
-      if (char_ins_del_vector != 0)
         char_ins_del_vector
           = (int *) xrealloc (char_ins_del_vector,
                               (sizeof (int)
                                + 2 * max_frame_cols * sizeof (int)));
-      else
-        char_ins_del_vector
-          = (int *) xmalloc (sizeof (int)
-                             + 2 * max_frame_cols * sizeof (int));
 
       bzero (char_ins_del_vector, (sizeof (int)
                                    + 2 * max_frame_cols * sizeof (int)));

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-12-08 18:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1L9hLb-000768-Bm@cvs.savannah.gnu.org>
2008-12-08 18:23 ` [Emacs-diffs] emacs/src term.c Emanuele Giaquinta

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.