aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-27 14:34:11 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-27 14:34:11 +0000
commitdb8dcd1b27064c5c9b203f311ff209c7051c8a7c (patch)
tree8fb74499bd3c0b751a97832d65dcc5e3f40f324b
parent1187cf0e0053dc957772884455b06c723daff60f (diff)
downloadruby-db8dcd1b27064c5c9b203f311ff209c7051c8a7c.tar.gz
* ext/win32ole/win32ole.c (ole_variant2val): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--ext/win32ole/win32ole.c18
2 files changed, 12 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 61a83a227a..c3859ce954 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Dec 27 23:32:26 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_variant2val): refactoring.
+
Sun Dec 27 21:14:42 2015 NAKAMURA Usaku <usa@ruby-lang.org>
* process.c (rb_execarg_parent_start1): need to convert the encoding to
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c
index ac3c2a6a73..ac02b66a88 100644
--- a/ext/win32ole/win32ole.c
+++ b/ext/win32ole/win32ole.c
@@ -1574,16 +1574,14 @@ ole_variant2val(VARIANT *pvar)
case VT_BSTR:
{
- if(V_ISBYREF(pvar)) {
- obj = (SysStringLen(*V_BSTRREF(pvar)) == 0)
- ? rb_str_new2("")
- : ole_wc2vstr(*V_BSTRREF(pvar), FALSE);
- }
- else {
- obj = (SysStringLen(V_BSTR(pvar)) == 0)
- ? rb_str_new2("")
- : ole_wc2vstr(V_BSTR(pvar), FALSE);
- }
+ BSTR bstr;
+ if(V_ISBYREF(pvar))
+ bstr = *V_BSTRREF(pvar);
+ else
+ bstr = V_BSTR(pvar);
+ obj = (SysStringLen(bstr) == 0)
+ ? rb_str_new2("")
+ : ole_wc2vstr(bstr, FALSE);
break;
}