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:
parent
0a787b9d0e
commit
2a16594d29
2 changed files with 20 additions and 4 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue