diff --git a/src/include/recset.cpp b/src/include/recset.cpp index a3875a32a..d6324cb12 100755 --- a/src/include/recset.cpp +++ b/src/include/recset.cpp @@ -1623,16 +1623,11 @@ void TISAM_recordset::reset() void TISAM_recordset::requery() { - if (_cursor != NULL) - { - delete _cursor; - _cursor = NULL; - } - if (_relation != NULL) - { - delete _relation; - _relation = NULL; - } + if (_cursor == NULL || not_frozen()) + { + SAFE_DELETE(_cursor); + SAFE_DELETE(_relation); + } } void TISAM_recordset::set(const char* use) diff --git a/src/include/relation.cpp b/src/include/relation.cpp index 3a8f9912b..8f1f81782 100755 --- a/src/include/relation.cpp +++ b/src/include/relation.cpp @@ -1494,7 +1494,7 @@ void TCursor::filter( if (filterchanged) { _filter = fil; - if (_fexpr) delete _fexpr; + SAFE_DELETE(_fexpr); _frefs.destroy(); TTypeexp type = (_filter.find('"') >= 0) ? _strexpr : _numexpr; if (_filter.not_empty()) @@ -1731,9 +1731,8 @@ TCursor::~TCursor() } ::remove(_indexname); } - delete _page; - if (_fexpr) - delete _fexpr; + SAFE_DELETE(_page); + SAFE_DELETE(_fexpr); } @@ -1868,8 +1867,7 @@ bool TCursor::scan(CURSOR_SCAN_FUNC func, void* pJolly, const char* msg) } } freeze(false); - if (pi != NULL) - delete pi; + SAFE_DELETE(pi); } return ok; } @@ -3258,9 +3256,8 @@ TSortedfile::TSortedfile(int logicnum, TRelation* rel, const char* ordexpr, cons // @mfunc Distruttore TSortedfile::~TSortedfile() { - delete _curs; - if (_rel) - delete _rel; + SAFE_DELETE(_curs); + SAFE_DELETE(_rel); } //