aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-11 03:57:02 +0000
committersuke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-11 03:57:02 +0000
commit9e0effe9f4c808bac5321ab4fbf0ddd417dce27d (patch)
treeb6e721a3d2f5b893320a37b33b27bfaa1977376d
parentd994afdd969d0c4ad04b5ecc7112a64a64392452 (diff)
downloadruby-9e0effe9f4c808bac5321ab4fbf0ddd417dce27d.tar.gz
* 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
-rw-r--r--ext/win32ole/win32ole.c6
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);