mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-04-05 20:31:00 +08:00
better utilize glib functions, fix memory leak
This commit is contained in:
parent
fc59a5eca8
commit
59f221b2b2
@ -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:
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user