diff --git a/src/Makefile b/src/Makefile index 3a3568c..0052316 100644 --- a/src/Makefile +++ b/src/Makefile @@ -13,7 +13,7 @@ mandir = $(exec_prefix)/man/man1 CC = gcc CPPFLAGS = -CFLAGS = $(CPPFLAG) -g -O2 +CFLAGS = $(CPPFLAG) -g -O2 -DHW_LITTLE_ENDIAN LDFLAGS = LIBS = INSTALL= @INSTALL@ diff --git a/src/configure b/src/configure index dd63567..fe7bf41 100755 --- a/src/configure +++ b/src/configure @@ -1197,6 +1197,102 @@ EOF fi +OLDCFLAGS="$CFLAGS" +CFLAGS="" +echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 +echo "configure:1204: checking whether byte ordering is bigendian" >&5 +if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_cv_c_bigendian=unknown +# See if sys/param.h defines the BYTE_ORDER macro. +cat > conftest.$ac_ext < +#include +int main() { + +#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN + bogus endian macros +#endif +; return 0; } +EOF +if { (eval echo configure:1222: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + # It does; now see whether it defined to BIG_ENDIAN or not. +cat > conftest.$ac_ext < +#include +int main() { + +#if BYTE_ORDER != BIG_ENDIAN + not big endian +#endif +; return 0; } +EOF +if { (eval echo configure:1237: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_c_bigendian=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_c_bigendian=no +fi +rm -f conftest* +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +if test $ac_cv_c_bigendian = unknown; then +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_c_bigendian=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_c_bigendian=yes +fi +rm -fr conftest* +fi + +fi +fi + +echo "$ac_t""$ac_cv_c_bigendian" 1>&6 +if test $ac_cv_c_bigendian = yes; then + cat >> confdefs.h <<\EOF +#define WORDS_BIGENDIAN 1 +EOF + +fi + +if test $ac_cv_c_bigendian = yes; then OLDCFLAGS="$OLDCFLAGS -DHW_BIG_ENDIAN"; +else OLDCFLAGS="$OLDCFLAGS -DHW_LITTLE_ENDIAN"; fi +CFLAGS=$OLDCFLAGS + trap '' 1 2 15 cat > confcache <<\EOF diff --git a/src/configure.in b/src/configure.in index d2b2cb6..502bacc 100644 --- a/src/configure.in +++ b/src/configure.in @@ -19,6 +19,13 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T +OLDCFLAGS="$CFLAGS" +CFLAGS="" +AC_C_BIGENDIAN +if test $ac_cv_c_bigendian = yes; then OLDCFLAGS="$OLDCFLAGS -DHW_BIG_ENDIAN"; +else OLDCFLAGS="$OLDCFLAGS -DHW_LITTLE_ENDIAN"; fi +CFLAGS=$OLDCFLAGS + dnl Checks for library functions. AC_OUTPUT(util/Makefile extras/Makefile Makefile libmdb/Makefile include/Makefile) diff --git a/src/extras/Makefile b/src/extras/Makefile index 0e75dd9..e66f932 100644 --- a/src/extras/Makefile +++ b/src/extras/Makefile @@ -13,7 +13,7 @@ mandir = $(exec_prefix)/man/man1 CC = gcc CPPFLAGS = -CFLAGS = $(CPPFLAG) -g -O2 +CFLAGS = $(CPPFLAG) -g -O2 -DHW_LITTLE_ENDIAN LDFLAGS = LIBS = INSTALL= @INSTALL@ @@ -30,7 +30,7 @@ mdb-dump: dump.o $(CC) -g -o $@ $< .c.o: - $(CC) -g -c $< + $(CC) $(CFLAGS) -g -c $< install: @for prog in $(PROGS); do \ diff --git a/src/extras/Makefile.in b/src/extras/Makefile.in index 05e4ed0..649cdce 100644 --- a/src/extras/Makefile.in +++ b/src/extras/Makefile.in @@ -30,7 +30,7 @@ mdb-dump: dump.o $(CC) -g -o $@ $< .c.o: - $(CC) -g -c $< + $(CC) $(CFLAGS) -g -c $< install: @for prog in $(PROGS); do \ diff --git a/src/include/Makefile.in b/src/include/Makefile.in index bf2d70a..dd98223 100644 --- a/src/include/Makefile.in +++ b/src/include/Makefile.in @@ -31,7 +31,7 @@ mdb-dump: dump.o $(CC) -g -o $@ $< .c.o: - $(CC) -g -c $< + $(CC) $(CFLAGS) -g -c $< install: mkdir -p $(includedir) diff --git a/src/include/mdbtools.h b/src/include/mdbtools.h index 409ed01..5563882 100644 --- a/src/include/mdbtools.h +++ b/src/include/mdbtools.h @@ -33,6 +33,7 @@ #define MDB_MAX_OBJ_NAME 30 #define MDB_CATALOG_PG 18 #define MDB_MEMO_OVERHEAD 12 +#define MDB_BIND_SIZE 2048 enum { MDB_VER_JET3 = 0, @@ -81,6 +82,7 @@ typedef struct { guint16 row_num; unsigned int cur_pos; unsigned char pg_buf[MDB_PGSIZE]; + unsigned char alt_pg_buf[MDB_PGSIZE]; int num_catalog; GArray *catalog; int pg_size; @@ -139,8 +141,10 @@ extern MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry); /* file.c */ extern size_t mdb_read_pg(MdbHandle *mdb, unsigned long pg); +extern size_t mdb_read_alt_pg(MdbHandle *mdb, unsigned long pg); extern int mdb_get_int16(MdbHandle *mdb, int offset); extern long mdb_get_int32(MdbHandle *mdb, int offset); +extern double mdb_get_double(MdbHandle *mdb, int offset); extern MdbHandle *mdb_open(char *filename); /* catalog.c */ diff --git a/src/libmdb/Makefile b/src/libmdb/Makefile index 8da0c85..387682d 100644 --- a/src/libmdb/Makefile +++ b/src/libmdb/Makefile @@ -13,7 +13,7 @@ mandir = $(exec_prefix)/man/man1 CC = gcc CPPFLAGS = -CFLAGS = $(CPPFLAG) -g -O2 +CFLAGS = $(CPPFLAG) -g -O2 -DHW_LITTLE_ENDIAN LDFLAGS = LIBS = INSTALL= @INSTALL@ @@ -31,7 +31,7 @@ clean: rm -f core *.o *.a .c.o: - $(CC) -g -c $< $(INC) + $(CC) $(CFLAGS) -g -c $< $(INC) install: @for lib in $(LIBLIST); do \ @@ -44,3 +44,13 @@ uninstall: echo " copying $$lib to $(libdir)"; \ rm -f $(libdir)/$$lib; \ done + +backend.o: backend.c ../include/mdbtools.h +catalog.o: catalog.c ../include/mdbtools.h +data.o: data.c ../include/mdbtools.h +dump.o: dump.c ../include/mdbtools.h +file.o: file.c ../include/mdbtools.h +kkd.o: kkd.c ../include/mdbtools.h +mem.o: mem.c ../include/mdbtools.h +table.o: table.c ../include/mdbtools.h + diff --git a/src/libmdb/Makefile.in b/src/libmdb/Makefile.in index cbea8fc..3bbcc49 100644 --- a/src/libmdb/Makefile.in +++ b/src/libmdb/Makefile.in @@ -31,7 +31,7 @@ clean: rm -f core *.o *.a .c.o: - $(CC) -g -c $< $(INC) + $(CC) $(CFLAGS) -g -c $< $(INC) install: @for lib in $(LIBLIST); do \ @@ -44,3 +44,13 @@ uninstall: echo " copying $$lib to $(libdir)"; \ rm -f $(libdir)/$$lib; \ done + +backend.o: backend.c ../include/mdbtools.h +catalog.o: catalog.c ../include/mdbtools.h +data.o: data.c ../include/mdbtools.h +dump.o: dump.c ../include/mdbtools.h +file.o: file.c ../include/mdbtools.h +kkd.o: kkd.c ../include/mdbtools.h +mem.o: mem.c ../include/mdbtools.h +table.o: table.c ../include/mdbtools.h + diff --git a/src/libmdb/backend.c b/src/libmdb/backend.c index 2d63507..d6f9877 100644 --- a/src/libmdb/backend.c +++ b/src/libmdb/backend.c @@ -159,11 +159,11 @@ MdbBackend *backend; return 0; } } -char *mdb_get_relationships(MdbHandle *mdb) { +static void do_first (MdbHandle *mdb) +{ int i, j, k; static char text[255]; - void do_first () { mdb_read_catalog (mdb, MDB_TABLE); /* loop over each entry in the catalog */ @@ -171,29 +171,32 @@ static char text[255]; entry = g_array_index (mdb->catalog, MdbCatalogEntry, i); if ((entry.object_type == MDB_TABLE) && (strncmp (entry.object_name, "MSysRelationships", 17) == 0)) -{ - table = mdb_read_table (&entry); - if ( table->num_rows > 0 ) { - mdb_read_columns(table); - mdb_rewind_table(table); - for (k=0;knum_cols;k++) { - bound_values[k] = (char *) malloc(256); - bound_values[k][0] = '\0'; - mdb_bind_column(table,k+1,bound_values[k]); - } - relationships[0] = (char *) malloc(256); /* child column */ + { + table = mdb_read_table (&entry); + if ( table->num_rows > 0 ) { + mdb_read_columns(table); + mdb_rewind_table(table); + for (k=0;knum_cols;k++) { + bound_values[k] = (char *) malloc(MDB_BIND_SIZE); + bound_values[k][0] = '\0'; + mdb_bind_column(table,k+1,bound_values[k]); + } + relationships[0] = (char *) malloc(256); /* child column */ + relationships[1] = (char *) malloc(256); /* child table */ + relationships[2] = (char *) malloc(256); /* parent column */ + relationships[3] = (char *) malloc(256); /* parent table */ + } /* if num_rows > 0 */ + did_first = 1; + return; + } /* if MSysRelationships */ + } /* for */ +} - relationships[1] = (char *) malloc(256); /* child table */ - relationships[2] = (char *) malloc(256); /* parent column -*/ - relationships[3] = (char *) malloc(256); /* parent table */ +char *mdb_get_relationships(MdbHandle *mdb) { + +int k; +static char text[255]; - } - did_first = 1; - return; - } - } - } /* * generate relationships by "reading" the MSysRelationships table * szColumn contains the column name of the child table @@ -203,7 +206,7 @@ static char text[255]; */ sprintf(text,"%c",0); if ( did_first == 0) - do_first(); + do_first(mdb); if (table->cur_row < table->num_rows) { if (mdb_fetch_row(table)) { relationships[0][0] = '\0'; @@ -221,19 +224,17 @@ static char text[255]; else if (strncmp(col->name,"szReferencedObject",18) == 0) strcpy(relationships[3],bound_values[k]); } - if (strncmp(mdb->backend_name,"oracle",6) == 0) - sprintf(text,"alter table %s add constraint %s_%s foreign key -(%s) references %s(%s)", - -relationships[1],relationships[3],relationships[1], - -relationships[0],relationships[3],relationships[2]); - else - sprintf(text,"relationships are not supported for -%s",mdb->backend_name); + if (strncmp(mdb->backend_name,"oracle",6) == 0) { + sprintf(text,"alter table %s add constraint %s_%s foreign key (%s) \ + references %s(%s)", + relationships[1],relationships[3],relationships[1], + relationships[0],relationships[3],relationships[2]); + } else { + sprintf(text,"relationships are not supported for %s", + mdb->backend_name); + } /* else */ } /* got a row */ - } - else { + } else { for (k=0;knum_cols;k++) { free(bound_values[k]); } diff --git a/src/libmdb/data.c b/src/libmdb/data.c index 0244b55..f300527 100644 --- a/src/libmdb/data.c +++ b/src/libmdb/data.c @@ -255,10 +255,51 @@ int mdb_is_fixed_col(MdbColumn *col) { return col->is_fixed; } +static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size) +{ +short memo_len; +static char text[MDB_BIND_SIZE]; + + if (sizepg_size) { + /* Failed to read */ + return ""; + } + strncpy(text, &mdb->alt_pg_buf[mdb->pg_size - memo_len], memo_len); + return text; + } else { + strncpy(text, &mdb->pg_buf[start + MDB_MEMO_OVERHEAD], + size - MDB_MEMO_OVERHEAD); + text[size - MDB_MEMO_OVERHEAD]='\0'; + return text; + } +#if 0 + strncpy(text, &mdb->pg_buf[start + MDB_MEMO_OVERHEAD], + size - MDB_MEMO_OVERHEAD); + text[size - MDB_MEMO_OVERHEAD]='\0'; + return text; +#endif +} char *mdb_col_to_string(MdbHandle *mdb, int start, int datatype, int size) { /* FIX ME -- not thread safe */ -static char text[256]; +static char text[MDB_BIND_SIZE]; switch (datatype) { case MDB_BOOL: @@ -273,6 +314,10 @@ static char text[256]; sprintf(text,"%ld",mdb_get_int32(mdb, start)); return text; break; + case MDB_DOUBLE: + sprintf(text,"%f",mdb_get_double(mdb, start)); + return text; + break; case MDB_TEXT: if (size<0) { return ""; @@ -282,13 +327,7 @@ static char text[256]; return text; break; case MDB_MEMO: - if (sizepg_buf[start + MDB_MEMO_OVERHEAD], - size - MDB_MEMO_OVERHEAD); - text[size - MDB_MEMO_OVERHEAD]='\0'; - return text; + return mdb_memo_to_string(mdb, start, size); break; default: return ""; diff --git a/src/libmdb/file.c b/src/libmdb/file.c index 8dc9cc1..cde9525 100644 --- a/src/libmdb/file.c +++ b/src/libmdb/file.c @@ -19,6 +19,8 @@ #include "mdbtools.h" +static size_t _mdb_read_pg(MdbHandle *mdb, unsigned char *pg_buf, unsigned long pg); + MdbHandle *mdb_open(char *filename) { MdbHandle *mdb; @@ -68,6 +70,22 @@ int j,pos; */ size_t mdb_read_pg(MdbHandle *mdb, unsigned long pg) { +size_t len; + + len = _mdb_read_pg(mdb, mdb->pg_buf, pg); + /* kan - reset the cur_pos on a new page read */ + mdb->cur_pos = 0; /* kan */ + return len; +} +size_t mdb_read_alt_pg(MdbHandle *mdb, unsigned long pg) +{ +size_t len; + + len = _mdb_read_pg(mdb, mdb->alt_pg_buf, pg); + return len; +} +static size_t _mdb_read_pg(MdbHandle *mdb, unsigned char *pg_buf, unsigned long pg) +{ size_t len; struct stat status; off_t offset = pg * mdb->pg_size; @@ -78,7 +96,7 @@ off_t offset = pg * mdb->pg_size; return 0; } lseek(mdb->fd, offset, SEEK_SET); - len = read(mdb->fd,mdb->pg_buf,mdb->pg_size); + len = read(mdb->fd,pg_buf,mdb->pg_size); if (len==-1) { perror("read"); return 0; @@ -86,9 +104,7 @@ off_t offset = pg * mdb->pg_size; else if (lenpg_size) { /* fprintf(stderr,"EOF reached.\n"); */ return 0; - } - /* kan - reset the cur_pos on a new page read */ - mdb->cur_pos = 0; /* kan */ + } return len; } int mdb_get_int16(MdbHandle *mdb, int offset) @@ -119,6 +135,27 @@ unsigned char *c; mdb->cur_pos+=4; return l; } +double mdb_get_double(MdbHandle *mdb, int offset) +{ +double d, d2; +unsigned char *c; +int i; + + if (offset <0 || offset+4 > mdb->pg_size) return -1; + + memcpy(&d, &mdb->pg_buf[offset], 8); + +#ifdef HW_BIG_ENDIAN + d2 = d; + for (i=0; icur_pos+=8; + return d; + +} int mdb_set_pos(MdbHandle *mdb, int pos) { if (pos<0 || pos >= mdb->pg_size) return 0; diff --git a/src/util/Makefile b/src/util/Makefile index 794dd76..ac99a37 100644 --- a/src/util/Makefile +++ b/src/util/Makefile @@ -1,6 +1,5 @@ # Generated automatically from Makefile.in by configure. - SHELL = /bin/sh top_srcdir = .. @@ -14,11 +13,12 @@ mandir = $(exec_prefix)/man/man1 CC = gcc CPPFLAGS = -CFLAGS = $(CPPFLAG) -g -O2 +CFLAGS = $(CPPFLAG) -g -O2 -DHW_LITTLE_ENDIAN LDFLAGS = LIBS = INSTALL= @INSTALL@ INC = -I ../include `glib-config --cflags` +MDBLIB = ../libmdb/libmdb.a LIBS = -L ../libmdb -lmdb `glib-config --libs` PROGS = prcat prkkd prtable prdata prdump mdb-schema mdb-export mdb-tables mdb-header mdb-parsecsv mdb-array PRCATOBJS = prcat.o @@ -35,44 +35,44 @@ ARROBJS = mdb-array.o all: $(PROGS) -prcat: $(PRCATOBJS) +prcat: $(PRCATOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRCATOBJS) $(LIBS) -prkkd: $(PRKKDOBJS) +prkkd: $(PRKKDOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRKKDOBJS) $(LIBS) -prtable: $(PRTABLEOBJS) +prtable: $(PRTABLEOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRTABLEOBJS) $(LIBS) -prdata: $(PRDATAOBJS) +prdata: $(PRDATAOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRDATAOBJS) $(LIBS) -prdump: $(PRDUMPOBJS) +prdump: $(PRDUMPOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRDUMPOBJS) $(LIBS) -mdb-schema: $(SCHEMAOBJS) +mdb-schema: $(SCHEMAOBJS) $(MDBLIB) $(CC) -g -o $@ $(SCHEMAOBJS) $(LIBS) -mdb-export: $(EXPORTOBJS) +mdb-export: $(EXPORTOBJS) $(MDBLIB) $(CC) -g -o $@ $(EXPORTOBJS) $(LIBS) -mdb-tables: $(TABLEOBJS) +mdb-tables: $(TABLEOBJS) $(MDBLIB) $(CC) -g -o $@ $(TABLEOBJS) $(LIBS) -mdb-header: $(HEADEROBJS) +mdb-header: $(HEADEROBJS) $(MDBLIB) $(CC) -g -o $@ $(HEADEROBJS) $(LIBS) -mdb-parsecsv: $(CSVOBJS) +mdb-parsecsv: $(CSVOBJS) $(MDBLIB) $(CC) -g -o $@ $(CSVOBJS) $(LIBS) -mdb-array: $(ARROBJS) +mdb-array: $(ARROBJS) $(MDBLIB) $(CC) -g -o $@ $(ARROBJS) $(LIBS) clean: rm -f core *.o $(PROGS) .c.o: - $(CC) -g -c $< $(INC) + $(CC) $(CFLAGS) -g -c $< $(INC) install: @for prog in $(PROGS); do \ @@ -85,3 +85,16 @@ uninstall: echo " removing $$prog from $(bindir)"; \ rm -f $(bindir)/$$prog; \ done + +header.o: header.c ../include/mdbtools.h +mdb-array.o: mdb-array.c ../include/mdbtools.h +mdb-export.o: mdb-export.c ../include/mdbtools.h +parsecsv.o: parsecsv.c ../include/mdbtools.h +prcat.o: prcat.c ../include/mdbtools.h +prdata.o: prdata.c ../include/mdbtools.h +prdump.o: prdump.c ../include/mdbtools.h +prkkd.o: prkkd.c ../include/mdbtools.h +prtable.o: prtable.c ../include/mdbtools.h +schema.o: schema.c ../include/mdbtools.h +tables.o: tables.c ../include/mdbtools.h + diff --git a/src/util/Makefile.in b/src/util/Makefile.in index 5447eab..b33c768 100644 --- a/src/util/Makefile.in +++ b/src/util/Makefile.in @@ -1,5 +1,4 @@ - SHELL = /bin/sh VPATH = @srcdir@ @@ -19,6 +18,7 @@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ INSTALL= @INSTALL@ INC = -I ../include `glib-config --cflags` +MDBLIB = ../libmdb/libmdb.a LIBS = -L ../libmdb -lmdb `glib-config --libs` PROGS = prcat prkkd prtable prdata prdump mdb-schema mdb-export mdb-tables mdb-header mdb-parsecsv mdb-array PRCATOBJS = prcat.o @@ -35,44 +35,44 @@ ARROBJS = mdb-array.o all: $(PROGS) -prcat: $(PRCATOBJS) +prcat: $(PRCATOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRCATOBJS) $(LIBS) -prkkd: $(PRKKDOBJS) +prkkd: $(PRKKDOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRKKDOBJS) $(LIBS) -prtable: $(PRTABLEOBJS) +prtable: $(PRTABLEOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRTABLEOBJS) $(LIBS) -prdata: $(PRDATAOBJS) +prdata: $(PRDATAOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRDATAOBJS) $(LIBS) -prdump: $(PRDUMPOBJS) +prdump: $(PRDUMPOBJS) $(MDBLIB) $(CC) -g -o $@ $(PRDUMPOBJS) $(LIBS) -mdb-schema: $(SCHEMAOBJS) +mdb-schema: $(SCHEMAOBJS) $(MDBLIB) $(CC) -g -o $@ $(SCHEMAOBJS) $(LIBS) -mdb-export: $(EXPORTOBJS) +mdb-export: $(EXPORTOBJS) $(MDBLIB) $(CC) -g -o $@ $(EXPORTOBJS) $(LIBS) -mdb-tables: $(TABLEOBJS) +mdb-tables: $(TABLEOBJS) $(MDBLIB) $(CC) -g -o $@ $(TABLEOBJS) $(LIBS) -mdb-header: $(HEADEROBJS) +mdb-header: $(HEADEROBJS) $(MDBLIB) $(CC) -g -o $@ $(HEADEROBJS) $(LIBS) -mdb-parsecsv: $(CSVOBJS) +mdb-parsecsv: $(CSVOBJS) $(MDBLIB) $(CC) -g -o $@ $(CSVOBJS) $(LIBS) -mdb-array: $(ARROBJS) +mdb-array: $(ARROBJS) $(MDBLIB) $(CC) -g -o $@ $(ARROBJS) $(LIBS) clean: rm -f core *.o $(PROGS) .c.o: - $(CC) -g -c $< $(INC) + $(CC) $(CFLAGS) -g -c $< $(INC) install: @for prog in $(PROGS); do \ @@ -85,3 +85,16 @@ uninstall: echo " removing $$prog from $(bindir)"; \ rm -f $(bindir)/$$prog; \ done + +header.o: header.c ../include/mdbtools.h +mdb-array.o: mdb-array.c ../include/mdbtools.h +mdb-export.o: mdb-export.c ../include/mdbtools.h +parsecsv.o: parsecsv.c ../include/mdbtools.h +prcat.o: prcat.c ../include/mdbtools.h +prdata.o: prdata.c ../include/mdbtools.h +prdump.o: prdump.c ../include/mdbtools.h +prkkd.o: prkkd.c ../include/mdbtools.h +prtable.o: prtable.c ../include/mdbtools.h +schema.o: schema.c ../include/mdbtools.h +tables.o: tables.c ../include/mdbtools.h + diff --git a/src/util/mdb-array.c b/src/util/mdb-array.c index 82fde0a..3b7ca9c 100644 --- a/src/util/mdb-array.c +++ b/src/util/mdb-array.c @@ -27,7 +27,6 @@ main (int argc, char **argv) { int rows; int i, j; -unsigned char buf [2048]; MdbHandle *mdb; MdbCatalogEntry entry; MdbTableDef *table; @@ -62,7 +61,7 @@ int started; for (j = 0; j < table->num_cols; j++) { - bound_values [j] = (char *) malloc (256); + bound_values [j] = (char *) malloc (MDB_BIND_SIZE); bound_values [j] [0] = '\0'; mdb_bind_column (table, j + 1, bound_values [j]); } diff --git a/src/util/mdb-export.c b/src/util/mdb-export.c index afd963b..ee5d21b 100644 --- a/src/util/mdb-export.c +++ b/src/util/mdb-export.c @@ -55,7 +55,7 @@ char quote_text = 1; mdb_rewind_table(table); for (j=0;jnum_cols;j++) { - bound_values[j] = (char *) malloc(256); + bound_values[j] = (char *) malloc(MDB_BIND_SIZE); bound_values[j][0] = '\0'; mdb_bind_column(table, j+1, bound_values[j]); }