From 160418635d46b06ea2bf5a3b3c3fdac74d20df1b Mon Sep 17 00:00:00 2001 From: whydoubt Date: Mon, 2 May 2005 12:46:33 +0000 Subject: [PATCH] Clean up some gcc4 warnings --- ChangeLog | 12 ++++++++++++ include/mdbtools.h | 27 +++++++++++++-------------- src/libmdb/data.c | 20 ++++++++++---------- src/libmdb/dump.c | 7 ++++--- src/libmdb/file.c | 30 ++++++++++++++++-------------- src/libmdb/iconv.c | 23 ++++++++++++----------- src/libmdb/index.c | 14 +++++++------- src/libmdb/table.c | 10 +++++----- src/util/mdb-import.c | 4 ++-- src/util/prindex.c | 2 +- src/util/updrow.c | 2 +- 11 files changed, 83 insertions(+), 68 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c71f6f..ab5d788 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Mon May 2 07:28:58 CDT 2005 Jeff Smith + * include/mdbtools.h: + * src/libmdb/data.c: + * src/libmdb/dump.c: + * src/libmdb/file.c: + * src/libmdb/iconv.c: + * src/libmdb/index.c: + * src/libmdb/table.c: + * src/util/mdb-import.c: + * src/util/prindex.c: + * src/util/updrow.c: Clean up some gcc4 warnings + Thu Apr 28 21:34:57 CDT 2005 Jeff Smith * src/util/mdb-check.c: * src/util/sargtest.c: Remove an unused variable and a noop diff --git a/include/mdbtools.h b/include/mdbtools.h index 8e3e44b..9124e7f 100644 --- a/include/mdbtools.h +++ b/include/mdbtools.h @@ -395,12 +395,12 @@ extern void mdb_exit(); /* file.c */ extern ssize_t mdb_read_pg(MdbHandle *mdb, unsigned long pg); extern ssize_t mdb_read_alt_pg(MdbHandle *mdb, unsigned long pg); -extern unsigned char mdb_get_byte(unsigned char *buf, int offset); -extern int mdb_get_int16(unsigned char *buf, int offset); -extern gint32 mdb_get_int24(unsigned char *buf, int offset); -extern long mdb_get_int32(unsigned char *buf, int offset); -extern float mdb_get_single(unsigned char *buf, int offset); -extern double mdb_get_double(unsigned char *buf, int offset); +extern unsigned char mdb_get_byte(void *buf, int offset); +extern int mdb_get_int16(void *buf, int offset); +extern gint32 mdb_get_int24(void *buf, int offset); +extern long mdb_get_int32(void *buf, int offset); +extern float mdb_get_single(void *buf, int offset); +extern double mdb_get_double(void *buf, int offset); extern unsigned char mdb_pg_get_byte(MdbHandle *mdb, int offset); extern int mdb_pg_get_int16(MdbHandle *mdb, int offset); extern gint32 mdb_pg_get_int24(MdbHandle *mdb, int offset); @@ -412,7 +412,6 @@ extern MdbHandle *mdb_open(const char *filename, MdbFileFlags flags); extern void mdb_close(MdbHandle *mdb); extern MdbHandle *mdb_clone_handle(MdbHandle *mdb); extern void mdb_swap_pgbuf(MdbHandle *mdb); -extern long _mdb_get_int32(unsigned char *buf, int offset); /* catalog.c */ extern void mdb_free_catalog(MdbHandle *mdb); @@ -432,7 +431,7 @@ extern void mdb_table_dump(MdbCatalogEntry *entry); extern guint16 read_pg_if_16(MdbHandle *mdb, int *cur_pos); extern guint32 read_pg_if_32(MdbHandle *mdb, int *cur_pos); extern int read_pg_if(MdbHandle *mdb, int *cur_pos, int offset); -extern guint16 read_pg_if_n(MdbHandle *mdb, unsigned char *buf, int *cur_pos, int len); +extern guint16 read_pg_if_n(MdbHandle *mdb, void *buf, int *cur_pos, int len); extern int mdb_is_user_table(MdbCatalogEntry *entry); extern int mdb_is_system_table(MdbCatalogEntry *entry); @@ -443,8 +442,8 @@ extern void mdb_bind_column(MdbTableDef *table, int col_num, void *bind_ptr, int extern int mdb_rewind_table(MdbTableDef *table); extern int mdb_fetch_row(MdbTableDef *table); extern int mdb_is_fixed_col(MdbColumn *col); -extern char *mdb_col_to_string(MdbHandle *mdb, unsigned char *buf, int start, int datatype, int size); -extern int mdb_find_pg_row(MdbHandle *mdb, int pg_row, char **buf, int *off, int *len); +extern char *mdb_col_to_string(MdbHandle *mdb, void *buf, int start, int datatype, int size); +extern int mdb_find_pg_row(MdbHandle *mdb, int pg_row, void **buf, int *off, int *len); extern int mdb_find_row(MdbHandle *mdb, int row, int *start, int *len); extern int mdb_find_end_of_row(MdbHandle *mdb, int row); extern int mdb_col_fixed_size(MdbColumn *col); @@ -455,7 +454,7 @@ extern void mdb_set_date_fmt(const char *); extern int mdb_read_row(MdbTableDef *table, unsigned int row); /* dump.c */ -extern void buffer_dump(const unsigned char* buf, int start, int end); +extern void buffer_dump(const void *buf, int start, int end); /* backend.c */ extern char *mdb_get_coltype_string(MdbBackend *backend, int col_type); @@ -484,7 +483,7 @@ extern void mdb_index_dump(MdbTableDef *table, MdbIndex *idx); extern void mdb_index_scan_free(MdbTableDef *table); extern int mdb_index_find_next_on_page(MdbHandle *mdb, MdbIndexPage *ipg); extern int mdb_index_find_next(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chain, guint32 *pg, guint16 *row); -extern void mdb_index_hash_text(guchar *text, guchar *hash); +extern void mdb_index_hash_text(char *text, char *hash); extern void mdb_index_scan_init(MdbHandle *mdb, MdbTableDef *table); extern int mdb_index_find_row(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chain, guint32 pg, guint16 row); extern void mdb_index_swap_n(unsigned char *src, int sz, unsigned char *dest); @@ -531,8 +530,8 @@ extern int mdb_get_option(unsigned long optnum); extern void mdb_debug(int klass, char *fmt, ...); /* iconv.c */ -extern int mdb_unicode2ascii(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigned char *dest, unsigned int dlen); -extern int mdb_ascii2unicode(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigned char *dest, unsigned int dlen); +extern int mdb_unicode2ascii(MdbHandle *mdb, char *src, unsigned int slen, char *dest, unsigned int dlen); +extern int mdb_ascii2unicode(MdbHandle *mdb, char *src, unsigned int slen, char *dest, unsigned int dlen); extern void mdb_iconv_init(MdbHandle *mdb); extern void mdb_iconv_close(MdbHandle *mdb); diff --git a/src/libmdb/data.c b/src/libmdb/data.c index d0965e1..344cb3d 100644 --- a/src/libmdb/data.c +++ b/src/libmdb/data.c @@ -88,7 +88,7 @@ mdb_bind_column_by_name(MdbTableDef *table, gchar *col_name, void *bind_ptr, int * * Returns: 0 on success. 1 on failure. */ -int mdb_find_pg_row(MdbHandle *mdb, int pg_row, char **buf, int *off, int *len) +int mdb_find_pg_row(MdbHandle *mdb, int pg_row, void **buf, int *off, int *len) { unsigned int pg = pg_row >> 8; unsigned int row = pg_row & 0xff; @@ -441,7 +441,7 @@ int mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr) { guint32 ole_len; - char *buf; + void *buf; int row_start; int len; @@ -468,7 +468,7 @@ int mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size) { guint32 ole_len; - char *buf; + void *buf; int row_start; int len; @@ -529,9 +529,9 @@ mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size) int mdb_copy_ole(MdbHandle *mdb, char *dest, int start, int size) { guint32 ole_len; - guint32 row_start, pg_row; - guint32 len; - char *buf, *pg_buf = mdb->pg_buf; + gint32 row_start, pg_row; + gint32 len; + void *buf, *pg_buf = mdb->pg_buf; if (sizepg_buf; + gint32 row_start, pg_row; + gint32 len; + void *buf, *pg_buf = mdb->pg_buf; char *text = (char *) g_malloc(MDB_BIND_SIZE); if (sizepg_buf[offset]; } -int mdb_get_int16(unsigned char *buf, int offset) +int mdb_get_int16(void *buf, int offset) { - return buf[offset+1]*256+buf[offset]; + guint16 l; + memcpy(&l, buf + offset, 2); + return (int)GUINT16_FROM_LE(l); } int mdb_pg_get_int16(MdbHandle *mdb, int offset) { @@ -317,13 +319,13 @@ gint32 mdb_pg_get_int24_msb(MdbHandle *mdb, int offset) gint32 l = 0; if (offset <0 || offset+3 > mdb->fmt->pg_size) return -1; mdb->cur_pos+=3; - memcpy(&l, &(mdb->pg_buf[offset]), 3); + memcpy(&l, mdb->pg_buf + offset, 3); return GINT32_FROM_BE(l); } -gint32 mdb_get_int24(unsigned char *buf, int offset) +gint32 mdb_get_int24(void *buf, int offset) { gint32 l = 0; - memcpy(&l, &buf[offset], 3); + memcpy(&l, buf + offset, 3); return GINT32_FROM_LE(l); } gint32 mdb_pg_get_int24(MdbHandle *mdb, int offset) @@ -333,10 +335,10 @@ gint32 mdb_pg_get_int24(MdbHandle *mdb, int offset) return mdb_get_int24(mdb->pg_buf, offset); } -long mdb_get_int32(unsigned char *buf, int offset) +long mdb_get_int32(void *buf, int offset) { - guint32 l; - memcpy(&l, &buf[offset], 4); + gint32 l; + memcpy(&l, buf + offset, 4); return (long)GINT32_FROM_LE(l); } long mdb_pg_get_int32(MdbHandle *mdb, int offset) @@ -346,10 +348,10 @@ long mdb_pg_get_int32(MdbHandle *mdb, int offset) return mdb_get_int32(mdb->pg_buf, offset); } -float mdb_get_single(unsigned char *buf, int offset) +float mdb_get_single(void *buf, int offset) { union {guint32 g; float f;} f; - memcpy(&f, &buf[offset], 4); + memcpy(&f, buf + offset, 4); f.g = GUINT32_FROM_LE(f.g); return f.f; } @@ -360,10 +362,10 @@ float mdb_pg_get_single(MdbHandle *mdb, int offset) return mdb_get_single(mdb->pg_buf, offset); } -double mdb_get_double(unsigned char *buf, int offset) +double mdb_get_double(void *buf, int offset) { union {guint64 g; double d;} d; - memcpy(&d, &buf[offset], 8); + memcpy(&d, buf + offset, 8); d.g = GUINT64_FROM_LE(d.g); return d.d; } diff --git a/src/libmdb/iconv.c b/src/libmdb/iconv.c index bfd2760..55ebe0c 100644 --- a/src/libmdb/iconv.c +++ b/src/libmdb/iconv.c @@ -28,22 +28,23 @@ * This function is used in reading text data from an MDB table. */ int -mdb_unicode2ascii(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigned char *dest, unsigned int dlen) +mdb_unicode2ascii(MdbHandle *mdb, char *src, unsigned int slen, char *dest, unsigned int dlen) { - unsigned char *tmp = NULL; + char *tmp = NULL; unsigned int tlen = 0; unsigned int len_in, len_out; char *in_ptr, *out_ptr; - if ((!src) || (!dest)) + if ((!src) || (!dest) || (!dlen)) return 0; /* Uncompress 'Unicode Compressed' string into tmp */ - if (IS_JET4(mdb) && (slen>=2) && (src[0]==0xff) && (src[1]==0xfe)) { + if (IS_JET4(mdb) && (slen>=2) + && ((src[0]&0xff)==0xff) && ((src[1]&0xff)==0xfe)) { unsigned int compress=1; src += 2; slen -= 2; - tmp = (unsigned char *)g_malloc(slen*2); + tmp = (char *)g_malloc(slen*2); while (slen) { if (*src == 0) { compress = (compress) ? 0 : 1; @@ -61,8 +62,8 @@ mdb_unicode2ascii(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigne } } - in_ptr = (char *)((tmp) ? tmp : src); - out_ptr = (char *)dest; + in_ptr = (tmp) ? tmp : src; + out_ptr = dest; len_in = (tmp) ? tlen : slen; len_out = dlen; @@ -103,16 +104,16 @@ mdb_unicode2ascii(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigne * If slen is 0, strlen will be used to calculate src's length. */ int -mdb_ascii2unicode(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigned char *dest, unsigned int dlen) +mdb_ascii2unicode(MdbHandle *mdb, char *src, unsigned int slen, char *dest, unsigned int dlen) { size_t len_in, len_out; char *in_ptr, *out_ptr; - if ((!src) || (!dest)) + if ((!src) || (!dest) || (!dlen)) return 0; - in_ptr = (char *)src; - out_ptr = (char *)dest; + in_ptr = src; + out_ptr = dest; len_in = (slen) ? slen : strlen(in_ptr); len_out = dlen; diff --git a/src/libmdb/index.c b/src/libmdb/index.c index 6c2d031..bcaa9a8 100644 --- a/src/libmdb/index.c +++ b/src/libmdb/index.c @@ -165,17 +165,17 @@ mdb_read_indices(MdbTableDef *table) return NULL; } void -mdb_index_hash_text(guchar *text, guchar *hash) +mdb_index_hash_text(char *text, char *hash) { unsigned int k; for (k=0;koffset + (ipg->len - 4 - idx_sz); - passed = mdb_index_test_sargs(mdb, idx, ipg->cache_value, idx_sz); + passed = mdb_index_test_sargs(mdb, idx, (char *)(ipg->cache_value), idx_sz); ipg->offset += ipg->len; } while (!passed); diff --git a/src/libmdb/table.c b/src/libmdb/table.c index c9d89d4..dc31fd8 100644 --- a/src/libmdb/table.c +++ b/src/libmdb/table.c @@ -77,10 +77,10 @@ MdbTableDef *mdb_read_table(MdbCatalogEntry *entry) MdbHandle *mdb = entry->mdb; MdbFormatConstants *fmt = mdb->fmt; int len, row_start, pg_row; - unsigned char *buf, *pg_buf = mdb->pg_buf; + void *buf, *pg_buf = mdb->pg_buf; mdb_read_pg(mdb, entry->table_pg); - if (pg_buf[0] != 0x02) /* not a valid table def page */ + if (mdb_get_byte(pg_buf, 0) != 0x02) /* not a valid table def page */ return NULL; table = mdb_alloc_tabledef(entry); @@ -168,7 +168,7 @@ read_pg_if_16(MdbHandle *mdb, int *cur_pos) return (high_byte * 256 + low_byte); } guint16 -read_pg_if_n(MdbHandle *mdb, unsigned char *buf, int *cur_pos, int len) +read_pg_if_n(MdbHandle *mdb, void *buf, int *cur_pos, int len) { if (*cur_pos + len < mdb->fmt->pg_size) { memcpy(buf, &mdb->pg_buf[*cur_pos], len); @@ -270,7 +270,7 @@ GPtrArray *mdb_read_columns(MdbTableDef *table) ** column names - ordered the same as the column attributes table */ for (i=0;inum_cols;i++) { - unsigned char *tmp_buf; + char *tmp_buf; pcol = g_ptr_array_index(table->columns, i); if (IS_JET4(mdb)) { @@ -284,7 +284,7 @@ GPtrArray *mdb_read_columns(MdbTableDef *table) fprintf(stderr,"Unknown MDB version\n"); continue; } - tmp_buf = (unsigned char *) g_malloc(name_sz); + tmp_buf = (char *) g_malloc(name_sz); read_pg_if_n(mdb, tmp_buf, &cur_pos, name_sz); mdb_unicode2ascii(mdb, tmp_buf, name_sz, pcol->name, MDB_MAX_OBJ_NAME); g_free(tmp_buf); diff --git a/src/util/mdb-import.c b/src/util/mdb-import.c index a533339..a83bdf5 100644 --- a/src/util/mdb-import.c +++ b/src/util/mdb-import.c @@ -105,7 +105,7 @@ convert_field(MdbColumn *col, char *s, MdbField *field) return 0; } int -prep_row(MdbTableDef *table, unsigned char *line, MdbField *fields, char *delim) +prep_row(MdbTableDef *table, char *line, MdbField *fields, char *delim) { MdbColumn *col; char **sarray, *s; @@ -154,7 +154,7 @@ main(int argc, char **argv) MdbHandle *mdb; MdbTableDef *table; MdbField fields[256]; - unsigned char line[MAX_ROW_SIZE]; + char line[MAX_ROW_SIZE]; int num_fields; /* doesn't handle tables > 256 columns. Can that happen? */ int opt; diff --git a/src/util/prindex.c b/src/util/prindex.c index bb2ec1d..738ffa1 100644 --- a/src/util/prindex.c +++ b/src/util/prindex.c @@ -82,7 +82,7 @@ void check_row(MdbHandle *mdb, MdbIndex *idx, guint32 pg, int row, unsigned char unsigned int num_fields, i, j; int row_start, row_size; MdbColumn *col; - guchar buf[256], key[256]; + gchar buf[256], key[256]; int elem; MdbTableDef *table = idx->table; diff --git a/src/util/updrow.c b/src/util/updrow.c index 1332caf..1fde337 100644 --- a/src/util/updrow.c +++ b/src/util/updrow.c @@ -32,7 +32,7 @@ char *colval; int colnum; char *sargname = NULL; char *updstr = NULL; -unsigned char data[255]; +char data[255]; int len;