diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-11 13:45:57 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-11 13:45:57 +0000 |
commit | 777ad4ee755ceb534e13184a69b3ca82e86e9521 (patch) | |
tree | 0018f886361b05f0cb005dcd698a452bfc655d4c | |
parent | 027eb16fca5addb840080b4b58b740b09eb865be (diff) | |
download | ruby-777ad4ee755ceb534e13184a69b3ca82e86e9521.tar.gz |
* ext/win32ole/win32ole.c (ole_ptrtype2val): ole_type, ole_type_detail
should not return "VARIANT,VARIANT".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/win32ole/win32ole.c | 12 |
2 files changed, 9 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Sun Feb 11 22:40:17 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c (ole_ptrtype2val): ole_type, ole_type_detail + should not return "VARIANT,VARIANT". + Sun Feb 11 22:11:05 2007 Kouhei Sutou <kou@cozmixng.org> * lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#initialize): diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 72630a1e0f..27dfbba6b7 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -80,7 +80,7 @@ #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "0.9.4" +#define WIN32OLE_VERSION "0.9.5" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -3927,14 +3927,10 @@ ole_ptrtype2val(ITypeInfo *pTypeInfo, TYPEDESC *pTypeDesc, VALUE typedetails) { TYPEDESC *p = pTypeDesc; VALUE type = rb_str_new2(""); - while(p->vt == VT_PTR || p->vt == VT_SAFEARRAY) { + + if (p->vt == VT_PTR || p->vt == VT_SAFEARRAY) { p = V_UNION1(p, lptdesc); - if(strlen(StringValuePtr(type)) == 0) { - type = ole_typedesc2val(pTypeInfo, p, typedetails); - } else { - rb_str_cat(type, ",", 1); - rb_str_concat(type, ole_typedesc2val(pTypeInfo, p, typedetails)); - } + type = ole_typedesc2val(pTypeInfo, p, typedetails); } return type; } |