Fix:Map:Fix a lot of warnings in a lot of messy code
authorhorwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 29 Apr 2009 06:21:00 +0000 (06:21 +0000)
committerhorwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 29 Apr 2009 06:21:00 +0000 (06:21 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2242 ffa7fe5e-494d-0410-b361-a75ebd5db220

14 files changed:
navit/navit/map/poi_geodownload/libmdb/data.c
navit/navit/map/poi_geodownload/libmdb/dump.c
navit/navit/map/poi_geodownload/libmdb/file.c
navit/navit/map/poi_geodownload/libmdb/iconv.c
navit/navit/map/poi_geodownload/libmdb/include/mdbtools.h
navit/navit/map/poi_geodownload/libmdb/index.c
navit/navit/map/poi_geodownload/libmdb/kkd.c
navit/navit/map/poi_geodownload/libmdb/map.c
navit/navit/map/poi_geodownload/libmdb/money.c
navit/navit/map/poi_geodownload/libmdb/options.c
navit/navit/map/poi_geodownload/libmdb/props.c
navit/navit/map/poi_geodownload/libmdb/sargs.c
navit/navit/map/poi_geodownload/libmdb/table.c
navit/navit/map/poi_geodownload/libmdb/write.c

index e50e57d..f874984 100644 (file)
@@ -87,7 +87,7 @@ MdbColumn *col;
  * 
  * 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, unsigned char **buf, int *off, size_t *len)
 {
        unsigned int pg = pg_row >> 8;
        unsigned int row = pg_row & 0xff;
@@ -137,7 +137,8 @@ mdb_find_end_of_row(MdbHandle *mdb, int row)
        return row_end;
 #endif
 }
-int mdb_is_null(unsigned char *null_mask, int col_num)
+#if 0
+static int mdb_is_null(unsigned char *null_mask, int col_num)
 {
 int byte_num = (col_num - 1) / 8;
 int bit_num = (col_num - 1) % 8;
@@ -148,6 +149,7 @@ int bit_num = (col_num - 1) % 8;
                return 1;
        }
 }
+#endif
 /* bool has to be handled specially because it uses the null bit to store its 
 ** value*/
 static int 
@@ -292,7 +294,7 @@ static int _mdb_attempt_bind(MdbHandle *mdb,
        }
        return 1;
 }
-int mdb_read_next_dpg(MdbTableDef *table)
+static int mdb_read_next_dpg(MdbTableDef *table)
 {
        MdbCatalogEntry *entry = table->entry;
        MdbHandle *mdb = entry->mdb;
@@ -427,14 +429,14 @@ int i;
        return text;
 }
 #endif
-in
+size_
 mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr)
 {
        guint16 ole_len;
        guint16 ole_flags;
-       char *buf;
+       unsigned char *buf;
        int pg_row, row_start;
-       int len;
+       size_t len;
 
        ole_len = mdb_get_int16(ole_ptr, 0);
        ole_flags = mdb_get_int16(ole_ptr, 2);
@@ -461,14 +463,14 @@ mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr)
        }
        return 0;
 }
-int 
+size_t
 mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size)
 {
        guint16 ole_len;
        guint16 ole_flags;
-       char *buf;
+       unsigned char *buf;
        int pg_row, row_start;
-       int len;
+       size_t len;
 
        ole_len = mdb_get_int16(ole_ptr, 0);
        ole_flags = mdb_get_int16(ole_ptr, 2);
@@ -534,9 +536,9 @@ int mdb_copy_ole(MdbHandle *mdb, char *dest, int start, int size)
 {
        guint16 ole_len;
        guint16 ole_flags;
-       guint32 row_start, pg_row;
-       guint32 len;
-       char *buf;
+       gint32 row_start, pg_row;
+       size_t len;
+       unsigned char *buf;
 
        if (size<MDB_MEMO_OVERHEAD) {
                return 0;
@@ -597,9 +599,9 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size)
        guint16 memo_len;
        static char text[MDB_BIND_SIZE];
        guint16 memo_flags;
-       guint32 row_start, pg_row;
-       guint32 len;
-       char *buf;
+       gint32 row_start, pg_row;
+       size_t len;
+       unsigned char *buf;
 
        if (size<MDB_MEMO_OVERHEAD) {
                return "";
@@ -617,7 +619,7 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size)
 
        if (memo_flags & 0x8000) {
                /* inline memo field */
-               strncpy(text, &mdb->pg_buf[start + MDB_MEMO_OVERHEAD],
+               strncpy(text, (char *)&mdb->pg_buf[start + MDB_MEMO_OVERHEAD],
                        size - MDB_MEMO_OVERHEAD);
                text[size - MDB_MEMO_OVERHEAD]='\0';
                return text;
@@ -635,7 +637,7 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size)
                buffer_dump(mdb->pg_buf, row_start, row_start + len);
 #endif
                if (IS_JET3(mdb)) {
-                       strncpy(text, buf + row_start, len);
+                       strncpy(text, (char*) buf + row_start, len);
                        text[len]='\0';
                } else {
                        mdb_unicode2ascii(mdb, buf, row_start, len, text);
@@ -655,7 +657,7 @@ static char *mdb_memo_to_string(MdbHandle *mdb, int start, int size)
                        printf("row num %d start %d len %d\n",
                                pg_row & 0xff, row_start, len);
 #endif
-                       strncat(text, buf + row_start + 4, 
+                       strncat(text, (char*) buf + row_start + 4, 
                                strlen(text) + len - 4 > MDB_BIND_SIZE ?
                                MDB_BIND_SIZE - strlen(text) : len - 4);
 
@@ -752,7 +754,7 @@ char *mdb_col_to_string(MdbHandle *mdb, unsigned char *buf, int start, int datat
 */
                                mdb_unicode2ascii(mdb, mdb->pg_buf, start, size, text);
                        } else {
-                               strncpy(text, &buf[start], size);
+                               strncpy(text,(char*) &buf[start], size);
                                text[size]='\0';
                        }
                        return text;
index 7ee17f9..630ce2e 100644 (file)
@@ -1,11 +1,13 @@
 #include <ctype.h>
 #include <string.h>
 #include <stdio.h>
+#include "mdbtools.h"
 
 #ifdef DMALLOC
 #include "dmalloc.h"
 #endif
 
+
 void buffer_dump(const unsigned char* buf, int start, int end)
 {
        char asc[20];
index 941830c..29174f2 100644 (file)
@@ -65,7 +65,7 @@ static ssize_t _mdb_read_pg(MdbHandle *mdb, unsigned char *pg_buf, unsigned long
  * freeing.
  **/
 
-static gchar *mdb_find_file(char *file_name)
+static gchar *mdb_find_file(const char *file_name)
 {
        struct stat status;
        gchar *mdbpath, **dir, *tmpfname;
@@ -105,7 +105,7 @@ static gchar *mdb_find_file(char *file_name)
  *
  * Return value: pointer to MdbHandle structure.
  **/
-MdbHandle *mdb_open(char *filename, MdbFileFlags flags)
+MdbHandle *mdb_open(const char *filename, MdbFileFlags flags)
 {
        MdbHandle *mdb;
 
@@ -361,7 +361,7 @@ double mdb_pg_get_double(MdbHandle *mdb, int offset)
        return mdb_get_double(mdb->pg_buf, offset);
 }
 
-
+#if 0
 int 
 mdb_set_pos(MdbHandle *mdb, int pos)
 {
@@ -370,7 +370,10 @@ mdb_set_pos(MdbHandle *mdb, int pos)
        mdb->cur_pos=pos;
        return pos;
 }
+
 int mdb_get_pos(MdbHandle *mdb)
 {
        return mdb->cur_pos;
 }
+#endif
+
index 9f41afe..4afb604 100644 (file)
@@ -29,7 +29,7 @@ mdb_unicode2ascii(MdbHandle *mdb, unsigned char *buf, int offset, unsigned int l
        unsigned int i;
 
        if (buf[offset]==0xff && buf[offset+1]==0xfe) {
-               strncpy(dest, &buf[offset+2], len-2);
+               strncpy(dest, (char*) &buf[offset+2], len-2);
                dest[len-2]='\0';
        } else {
                /* convert unicode to ascii, rather sloppily */
@@ -48,12 +48,12 @@ mdb_ascii2unicode(MdbHandle *mdb, unsigned char *buf, int offset, unsigned int l
        if (!buf) return 0;
 
        if (IS_JET3(mdb)) {
-               strncpy(dest, &buf[offset], len);
+               strncpy(dest, (char*) &buf[offset], len);
                dest[len]='\0';
                return strlen(dest);
        }
 
-       while (i<strlen(&buf[offset]) && (i*2+2)<len) {
+       while (i<strlen((char*)&buf[offset]) && (i*2+2)<len) {
                dest[i*2] = buf[offset+i];
                dest[i*2+1] = 0;
                i++;
index b17df28..0f8e9aa 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-
 #ifndef _mdbtools_h_
 #define _mdbtools_h_
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
@@ -120,7 +122,8 @@ enum {
        MDB_DEBUG_USAGE = 0x0004,
        MDB_DEBUG_OLE = 0x0008,
        MDB_DEBUG_ROW = 0x0010,
-       MDB_USE_INDEX = 0x0020
+       MDB_USE_INDEX = 0x0020,
+       MDB_NO_MEMO = 0x0040 /* don't follow memo fields */
 };
 
 #define mdb_is_logical_op(x) (x == MDB_OR || \
@@ -192,7 +195,7 @@ typedef struct {
 
 /* offset to row count on data pages...version dependant */
 typedef struct {
-       int             pg_size;
+       ssize_t         pg_size;
        guint16         row_count_offset; 
        guint16         tab_num_rows_offset;
        guint16         tab_num_cols_offset;
@@ -226,6 +229,7 @@ typedef struct {
        MdbFormatConstants *fmt;
        MdbStatistics *stats;
 #ifdef HAVE_ICONV
+       iconv_t iconv_in;
        iconv_t iconv_out;
 #endif
 } MdbHandle; 
@@ -273,7 +277,7 @@ typedef struct {
        int             cur_value_len;
        /* MEMO/OLE readers */
        guint32         cur_blob_pg;
-       int             cur_blob_row;
+       guint32         cur_blob_row;
        int             chunk_size;
        /* numerics only */
        int             col_prec;
@@ -281,7 +285,7 @@ typedef struct {
        MdbProperties   *props;
        /* info needed for handling deleted/added columns */
        int             fixed_offset;
-       int             var_col_num;
+       unsigned int    var_col_num;
        /* row_col_num is the row column number order, 
         * including deleted columns */
        int             row_col_num;
@@ -305,7 +309,7 @@ typedef struct {
        unsigned char cache_value[256];
 } MdbIndexPage;
 
-typedef int (*MdbSargTreeFunc)(MdbSargNode *, gpointer *data);
+typedef int (*MdbSargTreeFunc)(MdbSargNode *, gpointer data);
 
 #define MDB_MAX_INDEX_DEPTH 10
 
@@ -404,7 +408,7 @@ extern long   mdb_pg_get_int32(MdbHandle *mdb, int offset);
 extern float  mdb_pg_get_single(MdbHandle *mdb, int offset);
 extern double mdb_pg_get_double(MdbHandle *mdb, int offset);
 extern gint32 mdb_pg_get_int24_msb(MdbHandle *mdb, int offset);
-extern MdbHandle *mdb_open(char *filename, MdbFileFlags flags);
+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);
@@ -440,13 +444,13 @@ 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 int mdb_find_pg_row(MdbHandle *mdb, int pg_row, unsigned char **buf, int *off, size_t *len);
 extern int mdb_find_end_of_row(MdbHandle *mdb, int row);
 extern int mdb_col_fixed_size(MdbColumn *col);
 extern int mdb_col_disp_size(MdbColumn *col);
 extern void mdb_bind_len(MdbTableDef *table, int col_num, int *len_ptr);
-extern int mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr);
-extern int mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size);
+extern size_t mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr);
+extern size_t mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size);
 extern void mdb_set_date_fmt(const char *);
 extern int mdb_read_row(MdbTableDef *table, unsigned int row);
 
@@ -511,7 +515,7 @@ extern unsigned char *mdb_new_data_pg(MdbCatalogEntry *entry);
 
 /* map.c */
 extern guint32 mdb_map_find_next_freepage(MdbTableDef *table, int row_size);
-guint32 mdb_map_find_next(MdbHandle *mdb, unsigned char *map, unsigned int map_sz, guint32 start_pg);
+extern guint32 mdb_map_find_next(MdbHandle *mdb, unsigned char *map, unsigned int map_sz, guint32 start_pg);
 
 /* props.c */
 extern GPtrArray *mdb_read_props_list(gchar *kkd, int len);
@@ -533,4 +537,8 @@ extern void mdb_debug(int klass, char *fmt, ...);
 extern int mdb_unicode2ascii(MdbHandle *mdb, unsigned char *buf, int offset, unsigned int len, char *dest);
 extern int mdb_ascii2unicode(MdbHandle *mdb, unsigned char *buf, int offset, unsigned int len, char *dest);
 
+#ifdef __cplusplus
+  }
+#endif
+
 #endif /* _mdbtools_h_ */
index e840536..6da04c4 100644 (file)
@@ -73,7 +73,7 @@ mdb_read_indices(MdbTableDef *table)
        int idx_num, key_num, col_num;
        int cur_pos, name_sz, idx2_sz, type_offset;
        int index_start_pg = mdb->cur_pg;
-       gchar *tmpbuf;
+       guchar *tmpbuf;
 
         table->indices = g_ptr_array_new();
 
@@ -87,7 +87,7 @@ mdb_read_indices(MdbTableDef *table)
                type_offset = 19;
        }
 
-       tmpbuf = (gchar *) g_malloc(idx2_sz);
+       tmpbuf = (guchar *) g_malloc(idx2_sz);
        for (i=0;i<table->num_idxs;i++) {
                read_pg_if_n(mdb, tmpbuf, &cur_pos, idx2_sz);
                cur_pos += idx2_sz;
@@ -112,7 +112,7 @@ mdb_read_indices(MdbTableDef *table)
                } else {
                        read_pg_if(mdb, &cur_pos, 0);
                        name_sz=mdb->pg_buf[cur_pos++];
-                       read_pg_if_n(mdb, pidx->name, &cur_pos, name_sz);
+                       read_pg_if_n(mdb, (unsigned char *) pidx->name, &cur_pos, name_sz);
                        cur_pos += name_sz;
                        pidx->name[name_sz]='\0';               
                }
@@ -172,13 +172,13 @@ mdb_index_hash_text(guchar *text, guchar *hash)
 {
        unsigned int k;
 
-       for (k=0;k<strlen(text);k++) {
+       for (k=0;k<strlen((char*) text);k++) {
                hash[k] = idx_to_text[text[k]];
                if (!(hash[k])) fprintf(stderr, 
                                "No translation available for %02x %d\n", 
                                text[k],text[k]);
        }
-       hash[strlen(text)]=0;
+       hash[strlen((char*) text)]=0;
 }
 void
 mdb_index_swap_n(unsigned char *src, int sz, unsigned char *dest)
@@ -189,7 +189,7 @@ mdb_index_swap_n(unsigned char *src, int sz, unsigned char *dest)
                dest[j++] = src[i];
        }
 }
-void 
+static void 
 mdb_index_cache_sarg(MdbColumn *col, MdbSarg *sarg, MdbSarg *idx_sarg)
 {
        //guint32 cache_int;
@@ -197,7 +197,7 @@ mdb_index_cache_sarg(MdbColumn *col, MdbSarg *sarg, MdbSarg *idx_sarg)
 
        switch (col->col_type) {
                case MDB_TEXT:
-               mdb_index_hash_text(sarg->value.s, idx_sarg->value.s);
+               mdb_index_hash_text((unsigned char*) sarg->value.s, (unsigned char*) idx_sarg->value.s);
                break;
 
                case MDB_LONGINT:
@@ -244,7 +244,7 @@ int lastchar;
        return 1;
 }
 #endif
-int
+static int
 mdb_index_test_sargs(MdbHandle *mdb, MdbIndex *idx, unsigned char *buf, int len)
 {
        unsigned int i, j;
@@ -271,7 +271,7 @@ mdb_index_test_sargs(MdbHandle *mdb, MdbIndex *idx, unsigned char *buf, int len)
                 */
                if (col->col_type==MDB_TEXT) {
                        //c_len = strlen(&mdb->pg_buf[offset + c_offset]);
-                       c_len = strlen(buf);
+                       c_len = strlen((char*) buf);
                } else {
                        c_len = col->col_size;
                        //fprintf(stderr,"Only text types currently supported.  How did we get here?\n");
@@ -308,6 +308,7 @@ mdb_index_test_sargs(MdbHandle *mdb, MdbIndex *idx, unsigned char *buf, int len)
        }
        return 1;
 }
+#if 0
 /*
  * pack the pages bitmap
  */
@@ -346,10 +347,11 @@ mdb_index_pack_bitmap(MdbHandle *mdb, MdbIndexPage *ipg)
        }
        return 0;
 }
+#endif
 /*
  * unpack the pages bitmap
  */
-int
+static int
 mdb_index_unpack_bitmap(MdbHandle *mdb, MdbIndexPage *ipg)
 {
        int mask_bit = 0;
@@ -426,7 +428,7 @@ void mdb_index_page_init(MdbIndexPage *ipg)
  * find the next leaf page if any given a chain. Assumes any exhausted leaf 
  * pages at the end of the chain have been peeled off before the call.
  */
-MdbIndexPage *
+static MdbIndexPage *
 mdb_find_next_leaf(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chain)
 {
        MdbIndexPage *ipg, *newipg;
@@ -700,7 +702,7 @@ mdb_index_find_row(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chain, guint32
        return 1;
 }
 
-void mdb_index_walk(MdbTableDef *table, MdbIndex *idx)
+static void mdb_index_walk(MdbTableDef *table, MdbIndex *idx)
 {
 MdbHandle *mdb = table->entry->mdb;
 int cur_pos = 0;
@@ -749,7 +751,7 @@ mdb_index_dump(MdbTableDef *table, MdbIndex *idx)
  * Unique indexes are preferred over non-uniques
  * Operator preference is equal, like, isnull, others 
  */
-int mdb_index_compute_cost(MdbTableDef *table, MdbIndex *idx)
+static int mdb_index_compute_cost(MdbTableDef *table, MdbIndex *idx)
 {
        unsigned int i;
        MdbColumn *col;
@@ -844,7 +846,7 @@ int mdb_index_compute_cost(MdbTableDef *table, MdbIndex *idx)
  *
  * Returns strategy to use (table scan, or index scan)
  */
-MdbStrategy 
+static MdbStrategy 
 mdb_choose_index(MdbTableDef *table, int *choice)
 {
        unsigned int i;
index ea72887..acf38be 100644 (file)
@@ -29,7 +29,8 @@
 **       KKD structures.
 */
 
-GArray *mdb_get_column_props(MdbCatalogEntry *entry, int start)
+#if 0
+static GArray *mdb_get_column_props(MdbCatalogEntry *entry, int start)
 {
 int pos, cnt=0;
 int len, tmp, cplen;
@@ -53,7 +54,7 @@ MdbHandle *mdb = entry->mdb;
        return entry->props;
 }
 
-GHashTable *mdb_get_column_def(MdbCatalogEntry *entry, int start)
+static GHashTable *mdb_get_column_def(MdbCatalogEntry *entry, int start)
 {
 GHashTable *hash = NULL;
 MdbHandle *mdb = entry->mdb;
@@ -99,7 +100,8 @@ int end;
        }
        return hash;
 }
-void mdb_kkd_dump(MdbCatalogEntry *entry)
+
+static void mdb_kkd_dump(MdbCatalogEntry *entry)
 {
 int rows;
 int kkd_start, kkd_end;
@@ -146,4 +148,4 @@ int rowid = entry->kkd_rowid;
                mdb_get_column_def(entry, datapos);
        }
 }
-
+#endif
index 1164b7b..aee6626 100644 (file)
@@ -95,7 +95,7 @@ mdb_map_find_next(MdbHandle *mdb, unsigned char *map, unsigned int map_sz, guint
        fprintf(stderr, "Warning: unrecognized usage map type: %d\n", map[0]);
        return -1;
 }
-guint32
+static guint32
 mdb_alloc_page(MdbTableDef *table)
 {
        printf("Allocating new page\n");
index 7f2cf65..415cdf1 100644 (file)
@@ -33,6 +33,7 @@
 static int multiply_byte(unsigned char *product, int num, unsigned char *multiplier);
 static int do_carry(unsigned char *product);
 static char *array_to_string(unsigned char *array, int unsigned scale, char *s);
+char *mdb_money_to_string(MdbHandle *mdb, int start, char *s);
 
 /**
  * mdb_money_to_string
index cdbbc66..62f2a01 100644 (file)
@@ -33,7 +33,7 @@
 static unsigned long opts;
 static int optset;
 
-static void load_options();
+static void load_options(void);
 
 void
 mdb_debug(int klass, char *fmt, ...)
@@ -52,7 +52,7 @@ mdb_debug(int klass, char *fmt, ...)
 }
 
 static void
-load_options()
+load_options(void)
 {
        char *opt;
        char *s;
index 61db9f5..aaf7e63 100644 (file)
@@ -25,24 +25,24 @@ mdb_read_props_list(gchar *kkd, int len)
 {
        guint32 record_len;
        int pos = 0;
-       gchar *name;
+       guchar *name;
        GPtrArray *names = NULL;
        int i = 0;
 
        names = g_ptr_array_new();
 #ifdef MDB_DEBUG
-       buffer_dump(kkd, 0, len - 1);
+       buffer_dump((const unsigned char*) kkd, 0, len - 1);
 #endif
        pos = 0;
        while (pos < len) {
-               record_len = mdb_get_int16(kkd, pos);
+               record_len = mdb_get_int16((unsigned char*)kkd, pos);
                pos += 2;
 #ifdef MDB_DEBUG
                printf("%02d ",i++);
-               buffer_dump(kkd, pos - 2, pos + record_len - 1);
+               buffer_dump((const unsigned char*)kkd, pos - 2, pos + record_len - 1);
 #endif
                name = g_malloc(record_len + 1);
-               strncpy(name, &kkd[pos], record_len);
+               strncpy((char*)name, (char*)&kkd[pos], record_len);
                name[record_len] = '\0';
                pos += record_len;
                g_ptr_array_add(names, name);
@@ -60,8 +60,8 @@ mdb_free_props(MdbProperties *props)
        if (props->name) g_free(props->name);
        g_free(props);
 }
-MdbProperties *
-mdb_alloc_props()
+static MdbProperties *
+mdb_alloc_props(void)
 {
        MdbProperties *props;
 
@@ -80,19 +80,19 @@ mdb_read_props(MdbHandle *mdb, GPtrArray *names, gchar *kkd, int len)
        int i = 0;
 
 #ifdef MDB_DEBUG
-       buffer_dump(kkd, 0, len - 1);
+       buffer_dump((const unsigned char*)kkd, 0, len - 1);
 #endif
        pos = 0;
 
        /* skip the name record */
-       record_len = mdb_get_int16(kkd, pos);
+       record_len = mdb_get_int16((unsigned char *)kkd, pos);
        pos += 4;
-       name_len = mdb_get_int16(kkd, pos);
+       name_len = mdb_get_int16((unsigned char *)kkd, pos);
        pos += 2;
        props = mdb_alloc_props();
        if (name_len) {
                props->name = g_malloc(name_len + 1);
-               strncpy(props->name, &kkd[pos], name_len);
+               strncpy(props->name, (char*) &kkd[pos], name_len);
                props->name[name_len]='\0';
        }
        pos += name_len;
@@ -100,24 +100,24 @@ mdb_read_props(MdbHandle *mdb, GPtrArray *names, gchar *kkd, int len)
        props->hash = g_hash_table_new(g_str_hash, g_str_equal);
 
        while (pos < len) {
-               record_len = mdb_get_int16(kkd, pos);
-               elem = mdb_get_int16(kkd, pos + 4);
+               record_len = mdb_get_int16((unsigned char *)kkd, pos);
+               elem = mdb_get_int16((unsigned char *)kkd, pos + 4);
                dtype = kkd[pos + 3];
-               dsize = mdb_get_int16(kkd, pos + 6);
+               dsize = mdb_get_int16((unsigned char *)kkd, pos + 6);
                value = g_malloc(dsize + 1);
-               strncpy(value, &kkd[pos + 8], dsize);
+               strncpy(value, (char*) &kkd[pos + 8], dsize);
                value[dsize] = '\0';
                name = g_ptr_array_index(names,elem);
 #ifdef MDB_DEBUG
                printf("%02d ",i++);
-               buffer_dump(kkd, pos, pos + record_len - 1);
+               buffer_dump((const unsigned char *)kkd, pos, pos + record_len - 1);
                printf("elem %d dsize %d dtype %d\n", elem, dsize, dtype);
 #endif
                if (dtype == MDB_MEMO) dtype = MDB_TEXT;
                if (dtype == MDB_BOOL) {
                        g_hash_table_insert(props->hash, g_strdup(name), g_strdup(kkd[pos + 8] ? "yes" : "no"));
                } else {
-                       g_hash_table_insert(props->hash, g_strdup(name), g_strdup(mdb_col_to_string(mdb, kkd, pos + 8, dtype, dsize)));
+                       g_hash_table_insert(props->hash, g_strdup(name), g_strdup(mdb_col_to_string(mdb, (unsigned char *)kkd, pos + 8, dtype, dsize)));
                }
                g_free(value);
                pos += record_len;
index b14aaa9..58d02d4 100644 (file)
@@ -168,7 +168,7 @@ int lastchar;
        }
        return 1;
 }
-int
+static int
 mdb_find_field(int col_num, MdbField *fields, int num_fields)
 {
        int i;
@@ -178,7 +178,7 @@ mdb_find_field(int col_num, MdbField *fields, int num_fields)
        }
        return -1;
 }
-int
+static int
 mdb_test_sarg_node(MdbHandle *mdb, MdbSargNode *node, MdbField *fields, int num_fields)
 {
        int elem;
index 52238ec..1f39f1d 100644 (file)
@@ -74,7 +74,7 @@ MdbTableDef *mdb_read_table(MdbCatalogEntry *entry)
        MdbHandle *mdb = entry->mdb;
        MdbFormatConstants *fmt = mdb->fmt;
        int len, row_start, pg_row;
-       char *buf;
+       unsigned char *buf;
 
        table = mdb_alloc_tabledef(entry);
 
@@ -269,10 +269,10 @@ GPtrArray *mdb_read_columns(MdbTableDef *table)
                pcol = g_ptr_array_index(table->columns, i);
 
                if (IS_JET4(mdb)) {
-                       char *tmp_buf;
+                       unsigned char *tmp_buf;
                        name_sz = read_pg_if_16(mdb, &cur_pos);
                        cur_pos += 2;
-                       tmp_buf = (char *) g_malloc(name_sz);
+                       tmp_buf = (unsigned char *) g_malloc(name_sz);
                        read_pg_if_n(mdb, tmp_buf, &cur_pos, name_sz);
                        mdb_unicode2ascii(mdb, tmp_buf, 0, name_sz, pcol->name);
                        g_free(tmp_buf);
@@ -281,7 +281,7 @@ GPtrArray *mdb_read_columns(MdbTableDef *table)
                        read_pg_if(mdb, &cur_pos, 0);
                        name_sz = mdb->pg_buf[cur_pos];
                        cur_pos++;
-                       read_pg_if_n(mdb, pcol->name, &cur_pos, name_sz);
+                       read_pg_if_n(mdb, (unsigned char*) pcol->name, &cur_pos, name_sz);
                        pcol->name[name_sz]='\0';
                        cur_pos += name_sz;
                } else {
index 1cff96a..a4b82ed 100644 (file)
 //static int mdb_copy_index_pg(MdbTableDef *table, MdbIndex *idx, MdbIndexPage *ipg);
 static int mdb_add_row_to_leaf_pg(MdbTableDef *table, MdbIndex *idx, MdbIndexPage *ipg, MdbField *idx_fields);
 
-void
+static void
 _mdb_put_int16(unsigned char *buf, guint32 offset, guint32 value)
 {
        buf[offset] = value % 256;
        value /= 256;
        buf[offset+1] = value % 256;
 }
-void
+static void
 _mdb_put_int32(unsigned char *buf, guint32 offset, guint32 value)
 {
        buf[offset] = value % 256;
@@ -47,7 +47,7 @@ _mdb_put_int32(unsigned char *buf, guint32 offset, guint32 value)
        value /= 256;
        buf[offset+3] = value % 256;
 }
-ssize_t
+static ssize_t
 mdb_write_pg(MdbHandle *mdb, unsigned long pg)
 {
        ssize_t len;
@@ -115,7 +115,7 @@ mdb_crack_row4(MdbTableDef *table, int row_start, int row_end, MdbField *fields)
        /* read table of variable column locations */
        if (table->num_var_cols > 0) {
                row_var_cols = mdb_pg_get_int16(mdb, row_end - bitmask_sz - 1);
-               var_col_offsets = (int *)g_malloc((row_var_cols+1)*sizeof(int));
+               var_col_offsets = (unsigned int *)g_malloc((row_var_cols+1)*sizeof(int));
                for (i=0; i<row_var_cols+1; i++) {
                        var_col_offsets[i] = mdb_pg_get_int16(mdb,
                                row_end - bitmask_sz - 3 - (i*2));
@@ -198,7 +198,7 @@ mdb_crack_row3(MdbTableDef *table, int row_start, int row_end, MdbField *fields)
                if ((col_ptr-row_start-row_var_cols)/256 < num_jumps)
                        num_jumps--;
 
-               var_col_offsets = (int *)g_malloc((row_var_cols+1)*sizeof(int));
+               var_col_offsets = (unsigned int *)g_malloc((row_var_cols+1)*sizeof(int));
                jumps_used = 0;
                for (i=0; i<row_var_cols+1; i++) {
                        if ((jumps_used < num_jumps)
@@ -475,7 +475,7 @@ mdb_pg_get_freespace(MdbHandle *mdb)
        mdb_debug(MDB_DEBUG_WRITE,"free space left on page = %d", free_end - free_start);
        return (free_end - free_start);
 }
-unsigned char *
+static unsigned char *
 mdb_new_leaf_pg(MdbCatalogEntry *entry)
 {
        MdbHandle *mdb = entry->mdb;
@@ -505,7 +505,8 @@ mdb_new_data_pg(MdbCatalogEntry *entry)
        return new_pg;
 }
 
-int
+#if 0
+static int
 mdb_update_indexes(MdbTableDef *table, int num_fields, MdbField *fields, guint32 pgnum, guint16 rownum)
 {
        unsigned int i;
@@ -521,7 +522,7 @@ mdb_update_indexes(MdbTableDef *table, int num_fields, MdbField *fields, guint32
        return 1;
 }
 
-int
+static int
 mdb_init_index_chain(MdbTableDef *table, MdbIndex *idx)
 {
        MdbCatalogEntry *entry = table->entry;
@@ -534,6 +535,7 @@ mdb_init_index_chain(MdbTableDef *table, MdbIndex *idx)
 
        return 1;
 }
+#endif
 
 int
 mdb_update_index(MdbTableDef *table, MdbIndex *idx, unsigned int num_fields, MdbField *fields, guint32 pgnum, guint16 rownum)
@@ -577,7 +579,8 @@ mdb_update_index(MdbTableDef *table, MdbIndex *idx, unsigned int num_fields, Mdb
        return 1;
 }
 
-int
+#if 0
+static int
 mdb_insert_row(MdbTableDef *table, int num_fields, MdbField *fields)
 {
        int new_row_size;
@@ -618,6 +621,8 @@ mdb_insert_row(MdbTableDef *table, int num_fields, MdbField *fields)
  
        return 1;
 }
+#endif
+
 /*
  * Assumes caller has verfied space is available on page and adds the new 
  * row to the current pg_buf.