diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | ext/win32ole/win32ole.c | 8 |
2 files changed, 7 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Wed Aug 6 20:07:26 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c (olerecord_ivar_set): remove rb_str_subseq. + Wed Aug 6 19:09:27 2014 Akinori MUSHA <knu@iDaemons.org> * lib/set.rb (Set): Implement Set#clone by splitting diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 4d9bae3144..997de6569d 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -63,7 +63,7 @@ const IID IID_IMultiLanguage2 = {0xDCCFC164, 0x2B38, 0x11d2, {0xB7, 0xEC, 0x00, #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "1.7.3" +#define WIN32OLE_VERSION "1.7.4" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -9428,12 +9428,10 @@ olerecord_ivar_set(VALUE self, VALUE name, VALUE val) { long len; char *p; - VALUE ch; VALUE fields; len = RSTRING_LEN(name); - ch = rb_str_subseq(name, len-1, 1); - p = RSTRING_PTR(ch); - if (*p == '=') { + p = RSTRING_PTR(name); + if (p[len-1] == '=') { name = rb_str_subseq(name, 0, len-1); } fields = rb_ivar_get(self, rb_intern("fields")); |