[前][次][番号順一覧][スレッド一覧]

ruby-changes:22189

From: naruse <ko1@a...>
Date: Mon, 9 Jan 2012 06:02:26 +0900 (JST)
Subject: [ruby-changes:22189] naruse:r34238 (trunk): * gc.c (rb_objspace_free): global_List is allocated with xmalloc.

naruse	2012-01-09 06:02:08 +0900 (Mon, 09 Jan 2012)

  New Revision: 34238

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34238

  Log:
    * gc.c (rb_objspace_free): global_List is allocated with xmalloc.
      patched by Sokolov Yura.  https://github.com/ruby/ruby/pull/78
    
    * dln_find.c: remove useless replacement of free.
    
    * ext/readline/readline.c (readline_attempted_completion_function):
      strings for readline must allocated with malloc.
    
    * process.c (run_exec_dup2): use free; see also r20950.
    
    * re.c (onig_new_with_source): use malloc for oniguruma.
    
    * vm.c (ruby_vm_destruct): use free for VMs.
    
    * vm.c (thread_free): use free for threads.

  Modified files:
    trunk/ChangeLog
    trunk/dln_find.c
    trunk/ext/readline/readline.c
    trunk/gc.c
    trunk/process.c
    trunk/re.c
    trunk/vm.c

Index: dln_find.c
===================================================================
--- dln_find.c	(revision 34237)
+++ dln_find.c	(revision 34238)
@@ -45,14 +45,6 @@
 # include <strings.h>
 #endif
 
-#ifndef xmalloc
-void *xmalloc();
-void *xcalloc();
-void *xrealloc();
-#endif
-
-#define free(x) xfree(x)
-
 #include <stdio.h>
 #if defined(_WIN32)
 #include "missing/file.h"
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34237)
+++ ChangeLog	(revision 34238)
@@ -1,3 +1,30 @@
+Mon Jan  9 04:24:59 2012  NARUSE, Yui  <naruse@r...>
+
+	* gc.c (rb_objspace_free): global_List is allocated with xmalloc.
+	  patched by Sokolov Yura.  https://github.com/ruby/ruby/pull/78
+
+	* dln_find.c: remove useless replacement of free.
+
+	* ext/readline/readline.c (readline_attempted_completion_function):
+	  strings for readline must allocated with malloc.
+
+	* process.c (run_exec_dup2): use free; see also r20950.
+
+	* re.c (onig_new_with_source): use malloc for oniguruma.
+
+	* vm.c (ruby_vm_destruct): use free for VMs.
+
+	* vm.c (thread_free): use free for threads.
+
+Mon Jan  9 04:24:59 2012  NARUSE, Yui  <naruse@r...>
+
+	* dln_find.c: remove useless replacement of free.
+
+	* ext/readline/readline.c (filename_completion_proc_call):
+	  matches should use xfree.
+
+	* ext/readline/readline.c (username_completion_proc_call): ditto.
+
 Mon Jan  9 01:12:35 2012  NARUSE, Yui  <naruse@r...>
 
 	* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint
Index: re.c
===================================================================
--- re.c	(revision 34237)
+++ re.c	(revision 34238)
@@ -769,7 +769,7 @@
 {
   int r;
 
-  *reg = (regex_t* )xmalloc(sizeof(regex_t));
+  *reg = (regex_t* )malloc(sizeof(regex_t));
   if (IS_NULL(*reg)) return ONIGERR_MEMORY;
 
   r = onig_reg_init(*reg, option, ONIGENC_CASE_FOLD_DEFAULT, enc, syntax);
Index: gc.c
===================================================================
--- gc.c	(revision 34237)
+++ gc.c	(revision 34238)
@@ -507,7 +507,7 @@
 	struct gc_list *list, *next;
 	for (list = global_List; list; list = next) {
 	    next = list->next;
-	    free(list);
+	    xfree(list);
 	}
     }
     if (objspace->heap.free_bitmap) {
Index: process.c
===================================================================
--- process.c	(revision 34237)
+++ process.c	(revision 34238)
@@ -2151,11 +2151,11 @@
         }
     }
 
-    xfree(pairs);
+    free(pairs);
     return 0;
 
   fail:
-    xfree(pairs);
+    free(pairs);
     return -1;
 }
 
Index: ext/readline/readline.c
===================================================================
--- ext/readline/readline.c	(revision 34237)
+++ ext/readline/readline.c	(revision 34238)
@@ -670,12 +670,13 @@
     if (TYPE(ary) != T_ARRAY)
 	ary = rb_Array(ary);
     matches = RARRAY_LEN(ary);
-    if (matches == 0)
-	return NULL;
-    result = ALLOC_N(char *, matches + 2);
+    if (matches == NULL) rb_mem_error();
+    result = (char**)malloc((matches + 2)*sizeof(char*));
+    if (result == NULL) rb_raise(rb_eNoMemError, "%s");
     for (i = 0; i < matches; i++) {
 	temp = rb_obj_as_string(RARRAY_PTR(ary)[i]);
-	result[i + 1] = ALLOC_N(char, RSTRING_LEN(temp) + 1);
+	result[i + 1] = (char*)malloc(RSTRING_LEN(temp) + 1);
+	if (result[i + 1]  == NULL) rb_mem_error();
 	strcpy(result[i + 1], RSTRING_PTR(temp));
     }
     result[matches + 1] = NULL;
@@ -707,7 +708,8 @@
 	    if (low > si) low = si;
 	    i++;
 	}
-	result[0] = ALLOC_N(char, low + 1);
+	result[0] = (char*)malloc(low + 1);
+	if (result[0]  == NULL) rb_mem_error();
 	strncpy(result[0], result[1], low);
 	result[0][low] = '\0';
     }
Index: vm.c
===================================================================
--- vm.c	(revision 34237)
+++ vm.c	(revision 34238)
@@ -1620,7 +1620,7 @@
 #endif
 	ruby_vm_run_at_exit_hooks(vm);
 	rb_vm_gvl_destroy(vm);
-	ruby_xfree(vm);
+	free(vm);
 	ruby_current_vm = 0;
     }
     RUBY_FREE_LEAVE("vm");
@@ -1795,7 +1795,7 @@
 		free(th->altstack);
 	    }
 #endif
-	    ruby_xfree(ptr);
+	    free(ptr);
 	}
         if (ruby_current_thread == th)
             ruby_current_thread = NULL;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]