1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring.

use ole_variant2variant to convert WIN32OLE_VARIANT object to
VARIANT object.

ext/win32ole/win32ole_variant.c: refactoring. add
ole_variant2variant.
ext/win32ole/win32ole_variant.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
suke 2014-10-25 22:46:15 +00:00
parent 1fe90db538
commit 5d2ce2fb40
4 changed files with 26 additions and 11 deletions

View file

@ -1,5 +1,10 @@
#include "win32ole.h"
struct olevariantdata {
VARIANT realvar;
VARIANT var;
};
static void olevariant_free(struct olevariantdata *pvar);
static void ole_val2olevariantdata(VALUE val, VARTYPE vt, struct olevariantdata *pvar);
static void ole_val2variant_err(VALUE val, VARIANT *var);
@ -664,6 +669,14 @@ folevariant_set_value(VALUE self, VALUE val)
return Qnil;
}
void
ole_variant2variant(VALUE val, VARIANT *var)
{
struct olevariantdata *pvar;
Data_Get_Struct(val, struct olevariantdata, pvar);
VariantCopy(var, &(pvar->var));
}
void
Init_win32ole_variant(void)
{