mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-07-17 02:36:44 +08:00
Moving some NULL pointer tests
This commit is contained in:
parent
382a0fca39
commit
4ef8af1826
@ -1,3 +1,7 @@
|
|||||||
|
Sat Apr 24 21:39:10 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
|
||||||
|
* src/libmdb/file.c:
|
||||||
|
* src/libmdb/mem.c: Moving some NULL pointer tests
|
||||||
|
|
||||||
Sat Apr 24 15:27:51 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
|
Sat Apr 24 15:27:51 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
|
||||||
* src/libmdb/file.c:
|
* src/libmdb/file.c:
|
||||||
* src/libmdb/props.c
|
* src/libmdb/props.c
|
||||||
|
@ -173,9 +173,7 @@ mdb_close(MdbHandle *mdb)
|
|||||||
{
|
{
|
||||||
if (mdb->f) {
|
if (mdb->f) {
|
||||||
mdb->f->refs--;
|
mdb->f->refs--;
|
||||||
if (mdb->f->refs<=0) {
|
mdb_free_file(mdb->f);
|
||||||
mdb_free_file(mdb->f);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
mdb_free_handle(mdb);
|
mdb_free_handle(mdb);
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ MdbStatistics *mdb_alloc_stats(MdbHandle *mdb)
|
|||||||
void
|
void
|
||||||
mdb_free_stats(MdbHandle *mdb)
|
mdb_free_stats(MdbHandle *mdb)
|
||||||
{
|
{
|
||||||
|
if (!mdb->stats) return;
|
||||||
g_free(mdb->stats);
|
g_free(mdb->stats);
|
||||||
mdb->stats = NULL;
|
mdb->stats = NULL;
|
||||||
}
|
}
|
||||||
@ -78,6 +79,8 @@ void
|
|||||||
mdb_free_file(MdbFile *f)
|
mdb_free_file(MdbFile *f)
|
||||||
{
|
{
|
||||||
if (!f) return;
|
if (!f) return;
|
||||||
|
if (f->refs > 0) return;
|
||||||
|
|
||||||
if (f->fd) close(f->fd);
|
if (f->fd) close(f->fd);
|
||||||
if (f->filename) free(f->filename);
|
if (f->filename) free(f->filename);
|
||||||
free(f);
|
free(f);
|
||||||
@ -98,9 +101,9 @@ void mdb_free_handle(MdbHandle *mdb)
|
|||||||
{
|
{
|
||||||
if (!mdb) return;
|
if (!mdb) return;
|
||||||
|
|
||||||
if (mdb->stats) mdb_free_stats(mdb);
|
mdb_free_stats(mdb);
|
||||||
if (mdb->catalog) mdb_free_catalog(mdb);
|
mdb_free_catalog(mdb);
|
||||||
if (mdb->f && mdb->f->refs<=0) mdb_free_file(mdb->f);
|
mdb_free_file(mdb->f);
|
||||||
if (mdb->backend_name) free(mdb->backend_name);
|
if (mdb->backend_name) free(mdb->backend_name);
|
||||||
free(mdb);
|
free(mdb);
|
||||||
mdb = NULL;
|
mdb = NULL;
|
||||||
@ -114,6 +117,9 @@ void mdb_free_catalog(MdbHandle *mdb)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
MdbCatalogEntry *entry;
|
MdbCatalogEntry *entry;
|
||||||
|
|
||||||
|
if (!mdb->catalog) return;
|
||||||
|
|
||||||
for (i=0; i<mdb->catalog->len; i++) {
|
for (i=0; i<mdb->catalog->len; i++) {
|
||||||
entry = g_ptr_array_index(mdb->catalog, i);
|
entry = g_ptr_array_index(mdb->catalog, i);
|
||||||
g_free (entry);
|
g_free (entry);
|
||||||
|
Loading…
Reference in New Issue
Block a user