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/file.c:
* src/libmdb/mem.c: * src/libmdb/mem.c:
* src/libmdb/table.c: malloc to g_malloc * 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> Sat May 29 14:14:21 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/backend.c: * src/libmdb/backend.c:

View File

@@ -76,7 +76,7 @@ int done = 0;
/* give the buffer an initial size */ /* give the buffer an initial size */
bufsz = 4096; bufsz = 4096;
mybuf = (char *) malloc(bufsz); mybuf = (char *) g_malloc(bufsz);
mybuf[0]='\0'; mybuf[0]='\0';
sprintf(prompt,"1 => "); sprintf(prompt,"1 => ");
@@ -92,7 +92,7 @@ int done = 0;
} else { } else {
while (strlen(mybuf) + strlen(s) > bufsz) { while (strlen(mybuf) + strlen(s) > bufsz) {
bufsz *= 2; bufsz *= 2;
mybuf = (char *) realloc(mybuf, bufsz); mybuf = (char *) g_realloc(mybuf, bufsz);
} }
add_history(s); add_history(s);
strcat(mybuf,s); strcat(mybuf,s);
@@ -106,5 +106,7 @@ int done = 0;
done = 1; done = 1;
} }
} }
free(s);
g_free(mybuf);
mdb_sql_exit(g_sql); 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) void mdb_sql_free_column(MdbSQLColumn *c)
{ {
if (c->name) g_free(c->name); g_free(c->name);
g_free(c); g_free(c);
} }
MdbSQLColumn *mdb_sql_alloc_column() MdbSQLColumn *mdb_sql_alloc_column()
{ {
MdbSQLColumn *c; return (MdbSQLColumn *) g_malloc0(sizeof(MdbSQLColumn));
c = (MdbSQLColumn *) g_malloc(sizeof(MdbSQLColumn));
memset(c,0,sizeof(MdbSQLColumn));
return c;
} }
void mdb_sql_free_table(MdbSQLTable *t) void mdb_sql_free_table(MdbSQLTable *t)
{ {
if (t->name) g_free(t->name); g_free(t->name);
g_free(t); g_free(t);
} }
MdbSQLTable *mdb_sql_alloc_table() MdbSQLTable *mdb_sql_alloc_table()
{ {
MdbSQLTable *t; return (MdbSQLTable *) g_malloc0(sizeof(MdbSQLTable));
t = (MdbSQLTable *) g_malloc(sizeof(MdbSQLTable));
memset(t,0,sizeof(MdbSQLTable));
return t;
} }
void void
@@ -152,13 +144,11 @@ wordexp_t words;
if (!(sql->mdb = mdb_open(db_namep, MDB_NOFLAGS))) { if (!(sql->mdb = mdb_open(db_namep, MDB_NOFLAGS))) {
if (!strstr(db_namep, ".mdb")) { if (!strstr(db_namep, ".mdb")) {
char *tmpstr = (char *) malloc(strlen(db_namep)+5); char *tmpstr = (char *) g_strconcat(db_namep, ".mdb", NULL);
strcpy(tmpstr,db_namep);
strcat(tmpstr,".mdb");
if (!(sql->mdb = mdb_open(tmpstr, MDB_NOFLAGS))) { if (!(sql->mdb = mdb_open(tmpstr, MDB_NOFLAGS))) {
fail++; fail++;
} }
free(tmpstr); g_free(tmpstr);
} else { } else {
fail++; fail++;
} }
@@ -176,11 +166,7 @@ wordexp_t words;
MdbSargNode * MdbSargNode *
mdb_sql_alloc_node() mdb_sql_alloc_node()
{ {
MdbSargNode *node; return (MdbSargNode *) g_malloc0(sizeof(MdbSargNode));
node = g_malloc0(sizeof(MdbSargNode));
return node;
} }
void void
mdb_sql_free_tree(MdbSargNode *tree) mdb_sql_free_tree(MdbSargNode *tree)
@@ -809,7 +795,7 @@ mdb_sql_bind_all(MdbSQL *sql)
int i; int i;
for (i=0;i<sql->num_columns;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'; sql->bound_values[i][0] = '\0';
mdb_sql_bind_column(sql, i+1, sql->bound_values[i]); mdb_sql_bind_column(sql, i+1, sql->bound_values[i]);
} }
@@ -880,7 +866,7 @@ MdbSQLColumn *sqlcol;
fprintf(stdout,"\n"); fprintf(stdout,"\n");
/* clean up */ /* clean up */
for (j=0;j<sql->num_columns;j++) { 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 */ /* the column and table names are no good now */