Automatically init/exit libmdb code

mdb_init() and mdb_exit() are now deprecated.
This commit is contained in:
Nirgal Vourgère
2012-07-22 02:29:04 +02:00
parent f8a3839c7f
commit f6cd70494c
26 changed files with 34 additions and 122 deletions

View File

@@ -416,8 +416,8 @@ typedef struct {
} MdbSarg; } MdbSarg;
/* mem.c */ /* mem.c */
extern void mdb_init(); extern void mdb_init(); // DEPRECATED
extern void mdb_exit(); extern void mdb_exit(); // DEPRECATED
/* file.c */ /* file.c */
extern ssize_t mdb_read_pg(MdbHandle *mdb, unsigned long pg); extern ssize_t mdb_read_pg(MdbHandle *mdb, unsigned long pg);

View File

@@ -246,8 +246,6 @@ gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
/* initialize the SQL engine */ /* initialize the SQL engine */
sql = mdb_sql_init(); sql = mdb_sql_init();
#endif #endif
/* initialize MDB Tools library */
mdb_init();
#ifdef HAVE_GNOME #ifdef HAVE_GNOME
/* Initialize GNOME */ /* Initialize GNOME */
@@ -320,7 +318,6 @@ gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
/* free MDB Tools library */ /* free MDB Tools library */
mdb_sql_exit(sql); mdb_sql_exit(sql);
#endif #endif
mdb_exit();
return 0; return 0;
} }

View File

@@ -158,8 +158,6 @@ GtkWidget *gmdb;
/* initialize the SQL engine */ /* initialize the SQL engine */
sql = mdb_sql_init(); sql = mdb_sql_init();
#endif #endif
/* initialize MDB Tools library */
mdb_init();
/* Initialize GNOME */ /* Initialize GNOME */
/* Initialize gnome program */ /* Initialize gnome program */
@@ -196,7 +194,6 @@ GtkWidget *gmdb;
/* free MDB Tools library */ /* free MDB Tools library */
mdb_sql_exit(sql); mdb_sql_exit(sql);
#endif #endif
mdb_exit();
return 0; return 0;
} }

View File

@@ -16,37 +16,23 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#ifdef JAVA
#include "javadefines.h"
#else
#include "mdbtools.h" #include "mdbtools.h"
#include <locale.h>
#ifdef DMALLOC void __attribute__ ((constructor)) _mdb_init()
#include "dmalloc.h"
#endif
#endif /* JAVA */
/**
* mdb_init:
*
* Initializes the LibMDB library. This function should be called exactly once
* by calling program and prior to any other function.
*
**/
/* METHOD */ void mdb_init()
{ {
mdb_init_backends(); mdb_init_backends();
} }
void __attribute__ ((destructor)) _mdb_exit()
/**
* mdb_exit:
*
* Cleans up the LibMDB library. This function should be called exactly once
* by the calling program prior to exiting (or prior to final use of LibMDB
* functions).
*
**/
/* METHOD */ void mdb_exit()
{ {
mdb_remove_backends(); mdb_remove_backends();
} }
void mdb_init()
{
fprintf(stderr, "mdb_init() is DEPRECATED and does nothing. Stop calling it.\n");
}
void mdb_exit()
{
fprintf(stderr, "mdb_exit() is DEPRECATED and does nothing. Stop calling it.\n");
}

View File

@@ -74,7 +74,6 @@ MdbSQL *mdb_sql_init()
{ {
MdbSQL *sql; MdbSQL *sql;
mdb_init();
sql = (MdbSQL *) g_malloc0(sizeof(MdbSQL)); sql = (MdbSQL *) g_malloc0(sizeof(MdbSQL));
sql->columns = g_ptr_array_new(); sql->columns = g_ptr_array_new();
sql->tables = g_ptr_array_new(); sql->tables = g_ptr_array_new();

View File

@@ -45,7 +45,6 @@ int started;
exit (1); exit (1);
} }
mdb_init();
mdb = mdb_open (argv [1], MDB_NOFLAGS); mdb = mdb_open (argv [1], MDB_NOFLAGS);
table = mdb_read_table_by_name (mdb, argv[2], MDB_TABLE); table = mdb_read_table_by_name (mdb, argv[2], MDB_TABLE);
@@ -117,12 +116,11 @@ int started;
} }
mdb_close (mdb); mdb_close (mdb);
mdb_exit();
fprintf (stdout, "const int %s_array_length = %d;\n", fprintf (stdout, "const int %s_array_length = %d;\n",
argv [2], argv [2],
count); count);
exit(0); return 0;
} }

View File

@@ -59,8 +59,6 @@ int opt;
} }
} }
mdb_init();
/* open the database */ /* open the database */
mdb = mdb_open (argv[optind], MDB_NOFLAGS); mdb = mdb_open (argv[optind], MDB_NOFLAGS);
@@ -101,8 +99,7 @@ int opt;
g_free(tabname); g_free(tabname);
mdb_close (mdb); mdb_close (mdb);
mdb_exit();
exit(0); return 0;
} }

View File

@@ -155,14 +155,11 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
if (!(mdb = mdb_open(argv[optind], MDB_NOFLAGS))) { if (!(mdb = mdb_open(argv[optind], MDB_NOFLAGS))) {
g_free (delimiter); g_free (delimiter);
g_free (row_delimiter); g_free (row_delimiter);
g_free (quote_char); g_free (quote_char);
if (escape_char) g_free (escape_char); if (escape_char) g_free (escape_char);
mdb_exit();
exit(1); exit(1);
} }
@@ -170,7 +167,6 @@ main(int argc, char **argv)
if (!mdb_set_default_backend(mdb, insert_dialect)) { if (!mdb_set_default_backend(mdb, insert_dialect)) {
fprintf(stderr, "Invalid backend type\n"); fprintf(stderr, "Invalid backend type\n");
if (escape_char) g_free (escape_char); if (escape_char) g_free (escape_char);
mdb_exit();
exit(1); exit(1);
} }
@@ -182,7 +178,6 @@ main(int argc, char **argv)
g_free (quote_char); g_free (quote_char);
if (escape_char) g_free (escape_char); if (escape_char) g_free (escape_char);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
exit(1); exit(1);
} }
@@ -255,9 +250,8 @@ main(int argc, char **argv)
g_free (row_delimiter); g_free (row_delimiter);
g_free (quote_char); g_free (quote_char);
if (escape_char) g_free (escape_char); if (escape_char) g_free (escape_char);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
return 0; return 0;
} }

View File

@@ -50,13 +50,10 @@ FILE *cfile;
exit (1); exit (1);
} }
mdb_init();
/* open the database */ /* open the database */
mdb = mdb_open (argv[1], MDB_NOFLAGS); mdb = mdb_open (argv[1], MDB_NOFLAGS);
if (!mdb) { if (!mdb) {
mdb_exit();
exit(1); exit(1);
} }
@@ -148,7 +145,6 @@ FILE *cfile;
fclose (cfile); fclose (cfile);
mdb_close (mdb); mdb_close (mdb);
mdb_exit();
if (unsupported) if (unsupported)
fputs("ERROR: unsupported type.\n", stderr); fputs("ERROR: unsupported type.\n", stderr);

View File

@@ -185,8 +185,6 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
if (!(mdb = mdb_open(argv[optind], MDB_WRITABLE))) { if (!(mdb = mdb_open(argv[optind], MDB_WRITABLE))) {
exit(1); exit(1);
} }
@@ -230,8 +228,6 @@ main(int argc, char **argv)
mdb_free_tabledef(table); mdb_free_tabledef(table);
fclose(in); fclose(in);
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }

View File

@@ -164,6 +164,5 @@ main (int argc, char **argv)
fprintf (stdout, "count = %d\n", count); fprintf (stdout, "count = %d\n", count);
return 0;
exit(0);
} }

View File

@@ -41,18 +41,14 @@ main(int argc, char **argv)
else else
propColName = argv[3]; propColName = argv[3];
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
if (!mdb) { if (!mdb) {
mdb_exit();
return 1; return 1;
} }
table = mdb_read_table_by_name(mdb, "MSysObjects", MDB_ANY); table = mdb_read_table_by_name(mdb, "MSysObjects", MDB_ANY);
if (!table) { if (!table) {
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
return 1; return 1;
} }
mdb_read_columns(table); mdb_read_columns(table);
@@ -65,7 +61,6 @@ main(int argc, char **argv)
g_free(buf); g_free(buf);
mdb_free_tabledef(table); mdb_free_tabledef(table);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
printf("Column %s not found in MSysObjects!\n", argv[3]); printf("Column %s not found in MSysObjects!\n", argv[3]);
return 1; return 1;
} }
@@ -91,8 +86,7 @@ main(int argc, char **argv)
g_free(buf); g_free(buf);
mdb_free_tabledef(table); mdb_free_tabledef(table);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
return 0; return 0;
} }
void dump_kkd(MdbHandle *mdb, void *kkd, size_t len) void dump_kkd(MdbHandle *mdb, void *kkd, size_t len)

View File

@@ -143,20 +143,16 @@ main (int argc, char **argv)
} }
} }
mdb_init();
/* open the database */ /* open the database */
mdb = mdb_open (argv[optind], MDB_NOFLAGS); mdb = mdb_open (argv[optind], MDB_NOFLAGS);
if (!mdb) { if (!mdb) {
fprintf(stderr, "Could not open file\n"); fprintf(stderr, "Could not open file\n");
mdb_exit();
exit(1); exit(1);
} }
if (argc - optind >= 2) { if (argc - optind >= 2) {
if (!mdb_set_default_backend(mdb, argv[optind + 1])) { if (!mdb_set_default_backend(mdb, argv[optind + 1])) {
fprintf(stderr, "Invalid backend type\n"); fprintf(stderr, "Invalid backend type\n");
mdb_exit();
exit(1); exit(1);
} }
} }
@@ -172,7 +168,6 @@ main (int argc, char **argv)
g_free(namespace); g_free(namespace);
g_free(tabname); g_free(tabname);
mdb_close (mdb); mdb_close (mdb);
mdb_exit();
return 0; return 0;
} }

View File

@@ -490,13 +490,13 @@ char *delimiter = NULL;
} }
#endif #endif
exit(0); return 0;
} }
#else #else
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
fprintf(stderr,"You must configure using --enable-sql to get SQL support\n"); fprintf(stderr,"You must configure using --enable-sql to get SQL support\n");
exit(-1); return -1;
} }
#endif #endif

View File

@@ -121,9 +121,6 @@ main (int argc, char **argv)
} }
/* initialize the library */
mdb_init();
/* open the database */ /* open the database */
if (!(mdb = mdb_open (argv[optind], MDB_NOFLAGS))) { if (!(mdb = mdb_open (argv[optind], MDB_NOFLAGS))) {
fprintf(stderr,"Couldn't open database.\n"); fprintf(stderr,"Couldn't open database.\n");
@@ -162,9 +159,8 @@ main (int argc, char **argv)
fprintf (stdout, "\n"); fprintf (stdout, "\n");
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
g_free(delimiter); g_free(delimiter);
exit(0); return 0;
} }

View File

@@ -59,11 +59,8 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
if (!(mdb = mdb_open(argv[optind], MDB_NOFLAGS))) { if (!(mdb = mdb_open(argv[optind], MDB_NOFLAGS))) {
fprintf(stderr,_("Error: unable to open file %s\n"),argv[optind]); fprintf(stderr,_("Error: unable to open file %s\n"),argv[optind]);
mdb_exit();
exit(1); exit(1);
} }
switch(mdb->f->jet_version) { switch(mdb->f->jet_version) {
@@ -85,8 +82,7 @@ main(int argc, char **argv)
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
exit(0); return 0;
} }

View File

@@ -30,15 +30,12 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
mdb_dump_catalog(mdb,(argc > 2) ? atoi(argv[2]) : MDB_TABLE); mdb_dump_catalog(mdb,(argc > 2) ? atoi(argv[2]) : MDB_TABLE);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
exit(0); return 0;
} }

View File

@@ -29,7 +29,6 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
table = mdb_read_table_by_name(mdb, argv[2], MDB_TABLE); table = mdb_read_table_by_name(mdb, argv[2], MDB_TABLE);
@@ -40,8 +39,7 @@ main(int argc, char **argv)
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
exit(0); return 0;
} }

View File

@@ -30,7 +30,6 @@ int page, start, stop;
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
mdb_read_catalog(mdb, MDB_TABLE); mdb_read_catalog(mdb, MDB_TABLE);
@@ -45,8 +44,7 @@ int page, start, stop;
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
exit(0); return 0;
} }

View File

@@ -33,7 +33,6 @@ unsigned char *map_buf;
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
mdb_read_pg (mdb, 1); mdb_read_pg (mdb, 1);
@@ -57,8 +56,6 @@ unsigned char *map_buf;
if (coln!=1) printf("\n"); if (coln!=1) printf("\n");
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }

View File

@@ -34,7 +34,6 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
if (!(mdb = mdb_open(argv[1], MDB_NOFLAGS))) { if (!(mdb = mdb_open(argv[1], MDB_NOFLAGS))) {
fprintf(stderr,"Unable to open database.\n"); fprintf(stderr,"Unable to open database.\n");
exit(1); exit(1);
@@ -57,9 +56,7 @@ main(int argc, char **argv)
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }
char * char *
page_name(int page_type) page_name(int page_type)

View File

@@ -31,7 +31,6 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
table = mdb_read_table_by_name(mdb, argv[2], MDB_TABLE); table = mdb_read_table_by_name(mdb, argv[2], MDB_TABLE);
@@ -43,7 +42,6 @@ main(int argc, char **argv)
mdb_kkd_dump(table->entry); mdb_kkd_dump(table->entry);
mdb_close(mdb); mdb_close(mdb);
mdb_exit();
#endif #endif
exit(0); return 0;
} }

View File

@@ -34,7 +34,6 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
dot = strchr(argv[2],'.'); dot = strchr(argv[2],'.');
if (argc>3) sargname = argv[3]; if (argc>3) sargname = argv[3];
@@ -56,9 +55,7 @@ main(int argc, char **argv)
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }
void dump_ole(MdbTableDef *table, char *colname, char *sargname) void dump_ole(MdbTableDef *table, char *colname, char *sargname)

View File

@@ -32,7 +32,6 @@ int found = 0;
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_NOFLAGS); mdb = mdb_open(argv[1], MDB_NOFLAGS);
mdb_read_catalog(mdb, MDB_TABLE); mdb_read_catalog(mdb, MDB_TABLE);
@@ -50,8 +49,6 @@ int found = 0;
fprintf(stderr,"No table named %s found.\n", argv[2]); fprintf(stderr,"No table named %s found.\n", argv[2]);
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }

View File

@@ -29,8 +29,6 @@ main(int argc, char **argv)
MdbHandle *mdb; MdbHandle *mdb;
MdbTableDef *table; MdbTableDef *table;
mdb_init();
if (!(mdb = mdb_open(MDB_FILE, MDB_NOFLAGS))) { if (!(mdb = mdb_open(MDB_FILE, MDB_NOFLAGS))) {
exit(1); exit(1);
} }
@@ -43,9 +41,7 @@ main(int argc, char **argv)
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }
void print_table(MdbTableDef *table) void print_table(MdbTableDef *table)

View File

@@ -39,7 +39,6 @@ int len;
exit(1); exit(1);
} }
mdb_init();
mdb = mdb_open(argv[1], MDB_WRITABLE); mdb = mdb_open(argv[1], MDB_WRITABLE);
tabname = argv[2]; tabname = argv[2];
sargname = argv[3]; sargname = argv[3];
@@ -64,9 +63,7 @@ int len;
} }
mdb_close(mdb); mdb_close(mdb);
mdb_exit(); return 0;
exit(0);
} }
void read_to_row(MdbTableDef *table, char *sargname) void read_to_row(MdbTableDef *table, char *sargname)