Changes for compiling in MSVC (Martin Ellis)

This commit is contained in:
whydoubt
2005-03-13 05:26:38 +00:00
parent 07c9d00283
commit f33a9564d1
5 changed files with 34 additions and 11 deletions

View File

@@ -1,3 +1,9 @@
Sat Mar 12 23:25:48 CST 2005 Jeff Smith <whydoubt@yahoo.com>
* include/mdbtools.h:
* src/libmdb/file.c:
* src/libmdb/iconv.c:
* src/libmdb/money.c: Changes for compiling in MSVC (Martin Ellis)
Fri Mar 11 21:32:19 CST 2005 Jeff Smith <whydoubt@yahoo.com>
* HACKING:
* src/libmdb/data.c:

View File

@@ -19,6 +19,9 @@
#ifndef _mdbtools_h_
#define _mdbtools_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -193,7 +196,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;
@@ -283,7 +286,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;
@@ -406,7 +409,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);
@@ -488,7 +491,7 @@ extern int mdb_index_find_row(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chai
extern void mdb_index_swap_n(unsigned char *src, int sz, unsigned char *dest);
extern void mdb_free_indices(GPtrArray *indices);
void mdb_index_page_reset(MdbIndexPage *ipg);
extern int mdb_index_pack_bitmap(MdbHandle *mdb, MdbIndexPage *ipg);
/* stats.c */
extern void mdb_stats_on(MdbHandle *mdb);
@@ -510,6 +513,7 @@ extern unsigned char *mdb_new_data_pg(MdbCatalogEntry *entry);
/* map.c */
extern guint32 mdb_map_find_next_freepage(MdbTableDef *table, int row_size);
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);
@@ -530,5 +534,11 @@ 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 void mdb_iconv_init(MdbHandle *mdb);
extern void mdb_iconv_close(MdbHandle *mdb);
#ifdef __cplusplus
}
#endif
#endif /* _mdbtools_h_ */

View 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,9 +105,10 @@ 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;
int open_flags;
mdb = (MdbHandle *) g_malloc0(sizeof(MdbHandle));
mdb_set_default_backend(mdb, "access");
@@ -124,11 +125,17 @@ MdbHandle *mdb_open(char *filename, MdbFileFlags flags)
}
if (flags & MDB_WRITABLE) {
mdb->f->writable = TRUE;
mdb->f->fd = open(mdb->f->filename,O_RDWR);
open_flags = O_RDWR;
} else {
mdb->f->fd = open(mdb->f->filename,O_RDONLY);
open_flags = O_RDONLY;
}
#ifdef _WIN32
open_flags |= O_BINARY;
#endif
mdb->f->fd = open(mdb->f->filename, open_flags);
if (mdb->f->fd==-1) {
fprintf(stderr,"Couldn't open file %s\n",mdb->f->filename);
mdb_close(mdb);

View File

@@ -32,7 +32,7 @@ mdb_unicode2ascii(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigne
{
unsigned char *tmp = NULL;
unsigned int tlen = 0;
int len_in, len_out;
unsigned int len_in, len_out;
char *in_ptr, *out_ptr;
if ((!src) || (!dest))
@@ -138,7 +138,7 @@ mdb_ascii2unicode(MdbHandle *mdb, unsigned char *src, unsigned int slen, unsigne
/* Unicode Compression */
if(IS_JET4(mdb) && (dlen>4)) {
char *tmp = g_malloc(dlen);
int tptr = 0, dptr = 0;
unsigned int tptr = 0, dptr = 0;
int comp = 1;
tmp[tptr++] = 0xff;

View File

@@ -43,7 +43,7 @@ static char *array_to_string(unsigned char *array, int unsigned scale, int neg);
*/
char *mdb_money_to_string(MdbHandle *mdb, int start)
{
int num_bytes = 8;
const int num_bytes = 8;
int i;
int neg=0;
unsigned char multiplier[MAXPRECISION], temp[MAXPRECISION];