diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-15 07:41:09 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-15 07:41:09 +0000 |
commit | 17805a51d1df4d4290ef78e003a77f29b00d036f (patch) | |
tree | 7e1dbdceb094aa36e11b548f18df7a0e1b89f992 | |
parent | 289b6bb21b4b6fca598c05c595669701d657d923 (diff) | |
download | ruby-17805a51d1df4d4290ef78e003a77f29b00d036f.tar.gz |
* ext/tk/tkutil/tkutil.c (ary2list): give wrong arguments to hash2kv()
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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]; |