diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-11 03:57:02 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-11 03:57:02 +0000 |
commit | 856aca46b7c0b3ed7f6bd1322b8bb2dc3d2663b4 (patch) | |
tree | b6e721a3d2f5b893320a37b33b27bfaa1977376d /ext/win32ole/win32ole.c | |
parent | e16bd0f4d81ef74035712853a5eb527f28abb342 (diff) |
* ext/win32ole/win32ole.c(ole_const_load): suppress constant redefinition
warnings when WIN32OLE.const_load [Bug #14085]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole/win32ole.c')
-rw-r--r-- | ext/win32ole/win32ole.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index 47dc558671..97321b4000 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -26,7 +26,7 @@ const IID IID_IMultiLanguage2 = {0xDCCFC164, 0x2B38, 0x11d2, {0xB7, 0xEC, 0x00, 0xC0, 0x4F, 0x8F, 0x5D, 0x9A}}; #endif -#define WIN32OLE_VERSION "1.8.6" +#define WIN32OLE_VERSION "1.8.7" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -1809,7 +1809,9 @@ ole_const_load(ITypeLib *pTypeLib, VALUE klass, VALUE self) *pName = toupper((int)*pName); id = rb_intern(pName); if (rb_is_const_id(id)) { - rb_define_const(klass, pName, val); + if(!rb_const_defined_at(klass, id)) { + rb_define_const(klass, pName, val); + } } else { rb_hash_aset(constant, rb_str_new2(pName), val); |