diff --git a/ChangeLog b/ChangeLog index 44437c6b00..cf1917e7af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 15 16:38:11 2005 Hidetoshi NAGAI + + * ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv() + Mon Mar 14 19:39:33 2005 Hidetoshi NAGAI * ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value diff --git a/ext/tk/tkutil.c b/ext/tk/tkutil.c index 3a403e74f5..9de7aef6b8 100644 --- a/ext/tk/tkutil.c +++ b/ext/tk/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];