From 4cef04b494fe23ab3c17951db080d3feadd8fe95 Mon Sep 17 00:00:00 2001 From: suke Date: Wed, 29 Mar 2006 12:00:18 +0000 Subject: [PATCH] WIN32OLE#[] should accept multi argments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ ext/win32ole/tests/testWIN32OLE.rb | 1 + ext/win32ole/win32ole.c | 12 +++++++----- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 52e8057b4d..b747f9b706 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Mar 29 20:54:44 2006 Masaki Suketa + + * ext/win32ole/win32ole.c (fole_getproperty): WIN32OLE#[] should accept + multi arguments. + + * ext/win32ole/tests/testWIN32OLE.rb (test_setproperty_bracket): ditto. + Wed Mar 29 10:07:44 2006 NAKAMURA Usaku * ext/nkf/nkf-utf8/nkf.c (nkf_each_char_to_hex, encode_fallback_subchar, diff --git a/ext/win32ole/tests/testWIN32OLE.rb b/ext/win32ole/tests/testWIN32OLE.rb index 988fbb9101..5c01507377 100644 --- a/ext/win32ole/tests/testWIN32OLE.rb +++ b/ext/win32ole/tests/testWIN32OLE.rb @@ -142,6 +142,7 @@ class TestWin32OLE < RUNIT::TestCase assert_equal(10, sheet.range("A1").value) sheet['Cells', 1, 2] = 10 assert_equal(10, sheet.range("B1").value) + assert_equal(10, sheet['Cells', 1, 2].value) ensure book.saved = true end diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 3f795c1647..f567fade37 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -78,7 +78,7 @@ #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "0.6.5" +#define WIN32OLE_VERSION "0.6.6" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -2476,10 +2476,12 @@ fole_setproperty(argc, argv, self) * puts excel['Visible'] # => false */ static VALUE -fole_getproperty(self, property) - VALUE self, property; +fole_getproperty(argc, argv, self) + int argc; + VALUE *argv; + VALUE self; { - return ole_invoke(1, &property, self, DISPATCH_PROPERTYGET); + return ole_invoke(argc, argv, self, DISPATCH_PROPERTYGET); } static VALUE @@ -6110,7 +6112,7 @@ Init_win32ole() rb_define_method(cWIN32OLE, "invoke", fole_invoke, -1); - rb_define_method(cWIN32OLE, "[]", fole_getproperty, 1); + rb_define_method(cWIN32OLE, "[]", fole_getproperty, -1); rb_define_method(cWIN32OLE, "_invoke", fole_invoke2, 3); rb_define_method(cWIN32OLE, "_getproperty", fole_getproperty2, 3); rb_define_method(cWIN32OLE, "_setproperty", fole_setproperty2, 3);