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

@@ -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];