diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2010-03-04 21:45:26 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2010-03-04 21:45:26 +0000 |
commit | d399c1a04cd7300ee164b28eeaee6431f5e60431 (patch) | |
tree | 438159f9f1c1724a945d24530c0e3e047b75ba82 /Source/DOH | |
parent | 1253657bb43075c6862ad8205805864f9dae44ce (diff) | |
download | swig-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.c | 16 |
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); |