diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-09 05:47:04 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-09 05:47:04 +0000 |
commit | 54d461f9053098d7584425c9208288057f59e34f (patch) | |
tree | abeb5d04d71bf6318c1e81f88f5ff9877c51ed2d /ext | |
parent | b014282b40e69541c14e678ec79a01d8896103ab (diff) | |
download | ruby-54d461f9053098d7584425c9208288057f59e34f.tar.gz ruby-54d461f9053098d7584425c9208288057f59e34f.tar.xz ruby-54d461f9053098d7584425c9208288057f59e34f.zip |
* include/ruby/ruby.h: embeds the elements of an array into its
struct RArray for # of elements <= 3.
* array.c: ditto.
* gc.c (gc_mark_children): following the change of struct RArray.
* ext/tk/tcltklib.c (ip_ruby_cmp): ditto.
* parse.y (coverage): ditto.
* proc.c (curry): ditto.
* .gdbinit: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/tk/tcltklib.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/ext/tk/tcltklib.c b/ext/tk/tcltklib.c index 194627234..a8829d3b6 100644 --- a/ext/tk/tcltklib.c +++ b/ext/tk/tcltklib.c @@ -3089,9 +3089,6 @@ ip_ruby_cmd(clientData, interp, argc, argv) /* get args */ args = rb_ary_new2(argc - 2); -#ifdef HAVE_STRUCT_RARRAY_LEN - RARRAY(args)->len = 0; -#endif for(i = 3; i < argc; i++) { #if TCL_MAJOR_VERSION >= 8 str = Tcl_GetStringFromObj(argv[i], &len); @@ -3099,14 +3096,14 @@ ip_ruby_cmd(clientData, interp, argc, argv) #ifndef HAVE_STRUCT_RARRAY_LEN rb_ary_push(args, rb_tainted_str_new(str, len)); #else - RARRAY(args)->ptr[RARRAY(args)->len++] = rb_tainted_str_new(str, len); + RARRAY(args)->as.heap.ptr[RARRAY(args)->as.heap.len++] = rb_tainted_str_new(str, len); #endif #else /* TCL_MAJOR_VERSION < 8 */ DUMP2("arg:%s",argv[i]); #ifndef HAVE_STRUCT_RARRAY_LEN rb_ary_push(args, rb_tainted_str_new2(argv[i])); #else - RARRAY(args)->ptr[RARRAY(args)->len++] = rb_tainted_str_new2(argv[i]); + RARRAY(args)->as.heap.ptr[RARRAY(args)->as.heap.len++] = rb_tainted_str_new2(argv[i]); #endif #endif } @@ -8298,7 +8295,7 @@ ip_invoke_with_position(argc, argv, obj, position) DUMP2("back from handler (current thread:%lx)", current); /* get result & free allocated memory */ - ret = RARRAY(result)->ptr[0]; + ret = RARRAY(result)->as.heap.ptr[0]; #if 0 /* use Tcl_EventuallyFree */ Tcl_EventuallyFree((ClientData)alloc_done, TCL_DYNAMIC); /* XXXXXXXX */ #else |