From 660b15ea5ac434f9a66b6d501c2702c185c59deb Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 19 Nov 2012 19:46:21 +0000 Subject: [PATCH] Correctly handle errors if language symbol already exists git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13913 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/Modules/csharp.cxx | 6 ++++-- Source/Modules/java.cxx | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Source/Modules/csharp.cxx b/Source/Modules/csharp.cxx index 24bc48f0a..6b0ad6edc 100644 --- a/Source/Modules/csharp.cxx +++ b/Source/Modules/csharp.cxx @@ -361,8 +361,10 @@ public: } // module class and intermediary classes are always created - addSymbol(imclass_name, n); - addSymbol(module_class_name, n); + if (!addSymbol(imclass_name, n)) + return SWIG_ERROR; + if (!addSymbol(module_class_name, n)) + return SWIG_ERROR; imclass_class_code = NewString(""); proxy_class_def = NewString(""); diff --git a/Source/Modules/java.cxx b/Source/Modules/java.cxx index 591ed2e84..bfa02d7e2 100644 --- a/Source/Modules/java.cxx +++ b/Source/Modules/java.cxx @@ -374,8 +374,10 @@ public: constants_interface_name = NewStringf("%sConstants", module_class_name); // module class and intermediary classes are always created - addSymbol(imclass_name, n); - addSymbol(module_class_name, n); + if (!addSymbol(imclass_name, n)) + return SWIG_ERROR; + if (!addSymbol(module_class_name, n)) + return SWIG_ERROR; imclass_class_code = NewString(""); proxy_class_def = NewString("");