summaryrefslogtreecommitdiff
path: root/ext/win32ole
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-07 12:44:53 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-07 12:44:53 +0000
commitabd783434a6148937c6cc64dc8435c43b120db52 (patch)
tree7f707e43a7e9ed527c4b725d6d2f39cbafdbbbfd /ext/win32ole
parentaabdfeaca31f8acdeb75f42b60b8cbc5b5e84e13 (diff)
ext/win32ole/win32ole_method.c: refactoring. add
olemethod_data_get_struct to wrap Data_Get_Struct. ext/win32ole/win32ole_method.h: ditto. ext/win32ole/win32ole_param.c (oleparam_ole_param): call olemethod_data_get_struct instead of Data_Get_Struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole')
-rw-r--r--ext/win32ole/win32ole_method.c8
-rw-r--r--ext/win32ole/win32ole_method.h1
-rw-r--r--ext/win32ole/win32ole_param.c3
3 files changed, 10 insertions, 2 deletions
diff --git a/ext/win32ole/win32ole_method.c b/ext/win32ole/win32ole_method.c
index 4d3a398b14..1c068505e4 100644
--- a/ext/win32ole/win32ole_method.c
+++ b/ext/win32ole/win32ole_method.c
@@ -48,6 +48,14 @@ olemethod_free(struct olemethoddata *polemethod)
OLE_FREE(polemethod->pOwnerTypeInfo);
free(polemethod);
}
+
+struct olemethoddata *
+olemethod_data_get_struct(VALUE obj)
+{
+ struct olemethoddata *pmethod;
+ Data_Get_Struct(obj, struct olemethoddata, pmethod);
+ return pmethod;
+}
static VALUE
ole_method_sub(VALUE self, ITypeInfo *pOwnerTypeInfo, ITypeInfo *pTypeInfo, VALUE name)
diff --git a/ext/win32ole/win32ole_method.h b/ext/win32ole/win32ole_method.h
index 7eacb1b596..ff2898ebeb 100644
--- a/ext/win32ole/win32ole_method.h
+++ b/ext/win32ole/win32ole_method.h
@@ -11,5 +11,6 @@ VALUE cWIN32OLE_METHOD;
VALUE folemethod_s_allocate(VALUE klass);
VALUE ole_methods_from_typeinfo(ITypeInfo *pTypeInfo, int mask);
VALUE create_win32ole_method(ITypeInfo *pTypeInfo, VALUE name);
+struct olemethoddata *olemethod_data_get_struct(VALUE obj);
void Init_win32ole_method(void);
#endif
diff --git a/ext/win32ole/win32ole_param.c b/ext/win32ole/win32ole_param.c
index c268a85ca6..6e77735f47 100644
--- a/ext/win32ole/win32ole_param.c
+++ b/ext/win32ole/win32ole_param.c
@@ -124,8 +124,7 @@ oleparam_ole_param_from_index(VALUE self, ITypeInfo *pTypeInfo, UINT method_inde
static VALUE oleparam_ole_param(VALUE self, VALUE olemethod, int n)
{
- struct olemethoddata *pmethod;
- Data_Get_Struct(olemethod, struct olemethoddata, pmethod);
+ struct olemethoddata *pmethod = olemethod_data_get_struct(olemethod);
return oleparam_ole_param_from_index(self, pmethod->pTypeInfo, pmethod->index, n);
}