Setting various pointers to NULL after freeing.

This commit is contained in:
whydoubt
2004-04-24 05:02:32 +00:00
parent bde195357e
commit f1bc789dda
3 changed files with 16 additions and 2 deletions

View File

@@ -1,3 +1,7 @@
Sat Apr 24 00:02:14 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/mem.c:
* src/libmdb/catalog.c: Setting various pointers to NULL after freeing.
Fri Apr 16 10:48:05 EDT 2004 Brian Bruns <brian@bruns.com>
* src/libmdb/write.c: restructuring of mdb_crack_row?() to accomodate
columns deletes/adds

View File

@@ -57,7 +57,7 @@ char objname[256];
char tobjtype[256];
int type;
mdb_free_catalog(mdb);
if (mdb->catalog) mdb_free_catalog(mdb);
mdb_alloc_catalog(mdb);
mdb->num_catalog = 0;

View File

@@ -63,6 +63,7 @@ mdb_free_stats(MdbHandle *mdb)
g_free(mdb->stats);
mdb->stats = NULL;
}
MdbFile *
mdb_alloc_file()
{
@@ -80,6 +81,7 @@ mdb_free_file(MdbFile *f)
if (f->fd) close(f->fd);
if (f->filename) free(f->filename);
free(f);
f = NULL;
}
MdbHandle *mdb_alloc_handle()
@@ -101,16 +103,19 @@ void mdb_free_handle(MdbHandle *mdb)
if (mdb->f && mdb->f->refs<=0) mdb_free_file(mdb->f);
if (mdb->backend_name) free(mdb->backend_name);
free(mdb);
mdb = NULL;
}
void mdb_alloc_catalog(MdbHandle *mdb)
{
mdb->catalog = g_ptr_array_new();
}
void mdb_free_catalog(MdbHandle *mdb)
{
//g_ptr_array_free(mdb->catalog, FALSE);
g_ptr_array_free(mdb->catalog, TRUE);
mdb->catalog = NULL;
}
MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry)
{
MdbTableDef *table;
@@ -129,7 +134,9 @@ mdb_free_tabledef(MdbTableDef *table)
if (table->usage_map) free(table->usage_map);
if (table->free_usage_map) free(table->free_usage_map);
free(table);
table = NULL;
}
void
mdb_append_column(GPtrArray *columns, MdbColumn *in_col)
{
@@ -142,7 +149,9 @@ void
mdb_free_columns(GPtrArray *columns)
{
g_ptr_array_free(columns, TRUE);
columns = NULL;
}
void
mdb_append_index(GPtrArray *indices, MdbIndex *in_idx)
{
@@ -155,4 +164,5 @@ void
mdb_free_indices(GPtrArray *indices)
{
g_ptr_array_free(indices, TRUE);
indices = NULL;
}