Remove GLib dependency WIP

Add a shim implementing half-assed versions of most of the GLib
functions used by MDB Tools. If GLib is detected at compile-time,
use it, otherwise use the shim.

This work is not complete, as the option-parsing code is not yet
implemented - so most of the command-line tools crash.
This commit is contained in:
Evan Miller
2020-08-03 17:19:40 -04:00
parent a2fa34c0cb
commit e9f4c6c786
14 changed files with 460 additions and 31 deletions

View File

@@ -30,7 +30,12 @@
#include <unistd.h>
#include <ctype.h>
#include <string.h>
#ifdef HAVE_GLIB
#include <glib.h>
#else
#include <mdbfakeglib.h>
#endif
#ifdef HAVE_ICONV
#include <iconv.h>
@@ -284,8 +289,7 @@ typedef struct {
int object_type;
unsigned long table_pg; /* misnomer since object may not be a table */
//int num_props; please use props->len
GArray *props; /* GArray of MdbProperties */
GArray *columns;
GPtrArray *props; /* GPtrArray of MdbProperties */
int flags;
} MdbCatalogEntry;
@@ -575,7 +579,7 @@ extern gint32 mdb_map_find_next(MdbHandle *mdb, unsigned char *map, unsigned int
/* props.c */
extern void mdb_free_props(MdbProperties *props);
extern void mdb_dump_props(MdbProperties *props, FILE *outfile, int show_name);
extern GArray* mdb_kkd_to_props(MdbHandle *mdb, void *kkd, size_t len);
extern GPtrArray* mdb_kkd_to_props(MdbHandle *mdb, void *kkd, size_t len);
/* worktable.c */