aboutsummaryrefslogtreecommitdiff
path: root/Source/DOH
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2010-03-04 21:45:26 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2010-03-04 21:45:26 +0000
commitd399c1a04cd7300ee164b28eeaee6431f5e60431 (patch)
tree438159f9f1c1724a945d24530c0e3e047b75ba82 /Source/DOH
parent1253657bb43075c6862ad8205805864f9dae44ce (diff)
downloadswig-d399c1a04cd7300ee164b28eeaee6431f5e60431.tar.gz
DohDelete and DohCopy assertions called if not a DOH object
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11897 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Source/DOH')
-rw-r--r--Source/DOH/base.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/DOH/base.c b/Source/DOH/base.c
index 245004f87..36ceb7ae3 100644
--- a/Source/DOH/base.c
+++ b/Source/DOH/base.c
@@ -30,12 +30,15 @@ void DohDelete(DOH *obj) {
if (!obj)
return;
-#if SWIG_DEBUG_DELETE
if (!DohCheck(b)) {
+#if SWIG_DEBUG_DELETE
fputs("DOH: Fatal error. Attempt to delete a non-doh object.\n", stderr);
abort();
- }
+#else
+ assert(0);
#endif
+ return;
+ }
if (b->flag_intern)
return;
assert(b->refcount > 0);
@@ -62,6 +65,15 @@ DOH *DohCopy(const DOH *obj) {
if (!obj)
return 0;
+ if (!DohCheck(b)) {
+#if SWIG_DEBUG_DELETE
+ fputs("DOH: Fatal error. Attempt to copy a non-doh object.\n", stderr);
+ abort();
+#else
+ assert(0);
+#endif
+ return 0;
+ }
objinfo = b->type;
if (objinfo->doh_copy) {
DohBase *bc = (DohBase *) (objinfo->doh_copy) (b);