* 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
This commit is contained in:
suke 2007-02-11 13:45:57 +00:00
parent 027eb16fca
commit 777ad4ee75
2 changed files with 9 additions and 8 deletions

View File

@ -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):

View File

@ -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;
}