diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | ext/tk/tkutil/tkutil.c | 9 |
2 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Mar 15 16:38:31 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> + + * ext/tk/tkutil/tkutil.c (ary2list): give wrong arguments to hash2kv() + Mon Mar 14 19:39:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value diff --git a/ext/tk/tkutil/tkutil.c b/ext/tk/tkutil/tkutil.c index 3a403e74f5..9de7aef6b8 100644 --- a/ext/tk/tkutil/tkutil.c +++ b/ext/tk/tkutil/tkutil.c @@ -8,7 +8,7 @@ ************************************************/ -#define TKUTIL_RELEASE_DATE "2005-03-07" +#define TKUTIL_RELEASE_DATE "2005-03-15" #include "ruby.h" #include "rubysig.h" @@ -229,6 +229,7 @@ static VALUE ary2list2 _((VALUE, VALUE, VALUE)); static VALUE hash2list _((VALUE, VALUE)); static VALUE hash2list_enc _((VALUE, VALUE)); static VALUE hash2kv _((VALUE, VALUE, VALUE)); +static VALUE hash2kv_enc _((VALUE, VALUE, VALUE)); static VALUE ary2list(ary, enc_flag, self) @@ -262,7 +263,11 @@ ary2list(ary, enc_flag, self) case T_HASH: /* RARRAY(dst)->ptr[RARRAY(dst)->len++] = hash2list(val, self); */ - val = hash2kv(val, enc_flag, self); + if (RTEST(enc_flag)) { + val = hash2kv_enc(val, Qnil, self); + } else { + val = hash2kv(val, Qnil, self); + } size2 = RARRAY(val)->len; for(idx2 = 0; idx2 < size2; idx2++) { val2 = RARRAY(val)->ptr[idx2]; |