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_vstr2wc, ole_variant2val): fix blank

string conversion. 
  [Bug #11880]
  Thanks Akio Tajima for the patch!



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
suke 2015-12-27 00:48:20 +00:00
parent 0a787b9d0e
commit 2a16594d29
2 changed files with 20 additions and 4 deletions

View file

@ -1,3 +1,10 @@
Sun Dec 27 09:47:20 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank
string conversion.
[Bug #11880]
Thanks Akio Tajima for the patch!
Sun Dec 27 09:34:53 2015 craft4coder <yooobuntu@163.com>
* doc/extension.rdoc: [DOC] `nul` should be uppercase.

View file

@ -864,6 +864,9 @@ ole_vstr2wc(VALUE vstr)
/* do not type-conversion here to prevent from other arguments
* changing (if exist) */
Check_Type(vstr, T_STRING);
if (RSTRING_LEN(vstr) == 0) {
return NULL;
}
enc = rb_enc_get(vstr);
@ -1571,10 +1574,16 @@ ole_variant2val(VARIANT *pvar)
case VT_BSTR:
{
if(V_ISBYREF(pvar))
obj = ole_wc2vstr(*V_BSTRREF(pvar), FALSE);
else
obj = ole_wc2vstr(V_BSTR(pvar), FALSE);
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);
}
break;
}