aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);