better utilize glib functions, fix memory leak

This commit is contained in:
whydoubt 2004-05-30 05:50:39 +00:00
parent fc59a5eca8
commit 59f221b2b2
3 changed files with 16 additions and 26 deletions

View File

@ -3,6 +3,8 @@ Sun May 30 00:04:55 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/file.c:
* src/libmdb/mem.c:
* src/libmdb/table.c: malloc to g_malloc
* src/sql/main.c:
* src/sql/mdbsql.c: better utilize glib functions, fix memory leak
Sat May 29 14:14:21 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/backend.c:

View File

@ -76,7 +76,7 @@ int done = 0;
/* give the buffer an initial size */
bufsz = 4096;
mybuf = (char *) malloc(bufsz);
mybuf = (char *) g_malloc(bufsz);
mybuf[0]='\0';
sprintf(prompt,"1 => ");
@ -92,7 +92,7 @@ int done = 0;
} else {
while (strlen(mybuf) + strlen(s) > bufsz) {
bufsz *= 2;
mybuf = (char *) realloc(mybuf, bufsz);
mybuf = (char *) g_realloc(mybuf, bufsz);
}
add_history(s);
strcat(mybuf,s);
@ -106,5 +106,7 @@ int done = 0;
done = 1;
}
}
mdb_sql_exit(g_sql);
free(s);
g_free(mybuf);
mdb_sql_exit(g_sql);
}

View File

@ -99,29 +99,21 @@ void mdb_sql_set_maxrow(MdbSQL *sql, int maxrow)
}
void mdb_sql_free_column(MdbSQLColumn *c)
{
if (c->name) g_free(c->name);
g_free(c->name);
g_free(c);
}
MdbSQLColumn *mdb_sql_alloc_column()
{
MdbSQLColumn *c;
c = (MdbSQLColumn *) g_malloc(sizeof(MdbSQLColumn));
memset(c,0,sizeof(MdbSQLColumn));
return c;
return (MdbSQLColumn *) g_malloc0(sizeof(MdbSQLColumn));
}
void mdb_sql_free_table(MdbSQLTable *t)
{
if (t->name) g_free(t->name);
g_free(t->name);
g_free(t);
}
MdbSQLTable *mdb_sql_alloc_table()
{
MdbSQLTable *t;
t = (MdbSQLTable *) g_malloc(sizeof(MdbSQLTable));
memset(t,0,sizeof(MdbSQLTable));
return t;
return (MdbSQLTable *) g_malloc0(sizeof(MdbSQLTable));
}
void
@ -152,13 +144,11 @@ wordexp_t words;
if (!(sql->mdb = mdb_open(db_namep, MDB_NOFLAGS))) {
if (!strstr(db_namep, ".mdb")) {
char *tmpstr = (char *) malloc(strlen(db_namep)+5);
strcpy(tmpstr,db_namep);
strcat(tmpstr,".mdb");
char *tmpstr = (char *) g_strconcat(db_namep, ".mdb", NULL);
if (!(sql->mdb = mdb_open(tmpstr, MDB_NOFLAGS))) {
fail++;
}
free(tmpstr);
g_free(tmpstr);
} else {
fail++;
}
@ -176,11 +166,7 @@ wordexp_t words;
MdbSargNode *
mdb_sql_alloc_node()
{
MdbSargNode *node;
node = g_malloc0(sizeof(MdbSargNode));
return node;
return (MdbSargNode *) g_malloc0(sizeof(MdbSargNode));
}
void
mdb_sql_free_tree(MdbSargNode *tree)
@ -809,7 +795,7 @@ mdb_sql_bind_all(MdbSQL *sql)
int i;
for (i=0;i<sql->num_columns;i++) {
sql->bound_values[i] = (char *) malloc(MDB_BIND_SIZE);
sql->bound_values[i] = (char *) g_malloc(MDB_BIND_SIZE);
sql->bound_values[i][0] = '\0';
mdb_sql_bind_column(sql, i+1, sql->bound_values[i]);
}
@ -880,7 +866,7 @@ MdbSQLColumn *sqlcol;
fprintf(stdout,"\n");
/* clean up */
for (j=0;j<sql->num_columns;j++) {
if (sql->bound_values[j]) free(sql->bound_values[j]);
g_free(sql->bound_values[j]);
}
/* the column and table names are no good now */