Skip to content

Commit

Permalink
* ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
suke committed Feb 12, 2007
1 parent 4924197 commit 1a4b93c
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 2 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Mon Feb 12 13:57:30 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>

* ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8.

Mon Feb 12 11:48:52 2007 Kouhei Sutou <kou@cozmixng.org>

* lib/rss/dublincore.rb, lib/rss/maker/dublincore.rb: dc_rightses
Expand Down
31 changes: 29 additions & 2 deletions ext/win32ole/win32ole.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@

#define WC2VSTR(x) ole_wc2vstr((x), TRUE)

#define WIN32OLE_VERSION "0.9.5"
#define WIN32OLE_VERSION "0.9.6"

typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX)
(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
Expand Down Expand Up @@ -1611,7 +1611,32 @@ ole_variant2val(VARIANT *pvar)
else
obj = INT2NUM((long)V_I4(pvar));
break;

case VT_I8:
/*
if(V_ISBYREF(pvar))
obj = INT2NUM(*V_I8REF(pvar));
else
obj = INT2NUM(V_I8(pvar));
*/
#ifdef HAVE_LONG_LONG
obj = LL2NUM(V_I8(pvar));
#else
obj = INT2NUM(V_I8(pvar));
#endif
break;
case VT_UI8:
/*
if(V_ISBYREF(pvar))
obj = INT2NUM(*V_UI8REF(pvar));
else
obj = INT2NUM(V_UI8(pvar));
*/
#ifdef HAVE_LONG_LONG
obj = ULL2NUM(V_UI8(pvar));
#else
obj = UINT2NUM(V_UI8(pvar));
#endif
break;
case VT_R4:
if(V_ISBYREF(pvar))
obj = rb_float_new(*V_R4REF(pvar));
Expand Down Expand Up @@ -7463,6 +7488,8 @@ Init_win32ole()
rb_define_const(mWIN32OLE_VARIANT, "VT_UI1", INT2FIX(VT_UI1));
rb_define_const(mWIN32OLE_VARIANT, "VT_UI2", INT2FIX(VT_UI2));
rb_define_const(mWIN32OLE_VARIANT, "VT_UI4", INT2FIX(VT_UI4));
rb_define_const(mWIN32OLE_VARIANT, "VT_I8", INT2FIX(VT_I8));
rb_define_const(mWIN32OLE_VARIANT, "VT_UI8", INT2FIX(VT_UI8));
rb_define_const(mWIN32OLE_VARIANT, "VT_INT", INT2FIX(VT_INT));
rb_define_const(mWIN32OLE_VARIANT, "VT_UINT", INT2FIX(VT_UINT));
rb_define_const(mWIN32OLE_VARIANT, "VT_ARRAY", INT2FIX(VT_ARRAY));
Expand Down

0 comments on commit 1a4b93c

Please sign in to comment.