summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-03-29 12:00:18 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-03-29 12:00:18 +0000
commit830e67dcac4198c2690fdc0ad3a3676d96e69da1 (patch)
tree804f5909ef30aeb5eafe2ac2795e793c9605f5cd /ext
parent80bdf11432ccd8eaa7b0ec7989eef6c25bfb2a3a (diff)
downloadruby-830e67dcac4198c2690fdc0ad3a3676d96e69da1.tar.gz
ruby-830e67dcac4198c2690fdc0ad3a3676d96e69da1.tar.xz
ruby-830e67dcac4198c2690fdc0ad3a3676d96e69da1.zip
WIN32OLE#[] should accept multi argments.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/win32ole/tests/testWIN32OLE.rb1
-rw-r--r--ext/win32ole/win32ole.c12
2 files changed, 8 insertions, 5 deletions
diff --git a/ext/win32ole/tests/testWIN32OLE.rb b/ext/win32ole/tests/testWIN32OLE.rb
index 988fbb910..5c0150737 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 3f795c164..f567fade3 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);