mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-10-15 19:54:53 +08:00
Improved support for Access 2010, 2013, and 2016
Some Access 2010 files use 0x03 as the version number rather than 0x0103. For this reason I have changed the call to mdb_get_int32 to mdb_get_byte. In addition, according to the Library of Congress page: https://www.loc.gov/preservation/digital/formats/fdd/fdd000463.shtml Access 2016 uses 0x05 as the version number. I have inferred from the Wikipedia page that Access 2013 likely uses 0x04.
This commit is contained in:
@@ -221,7 +221,7 @@ MdbHandle *mdb_open(const char *filename, MdbFileFlags flags)
|
||||
mdb_close(mdb);
|
||||
return NULL;
|
||||
}
|
||||
mdb->f->jet_version = mdb_get_int32(mdb->pg_buf, 0x14);
|
||||
mdb->f->jet_version = mdb_get_byte(mdb->pg_buf, 0x14);
|
||||
switch(mdb->f->jet_version) {
|
||||
case MDB_VER_JET3:
|
||||
mdb->fmt = &MdbJet3Constants;
|
||||
@@ -229,6 +229,8 @@ MdbHandle *mdb_open(const char *filename, MdbFileFlags flags)
|
||||
case MDB_VER_JET4:
|
||||
case MDB_VER_ACCDB_2007:
|
||||
case MDB_VER_ACCDB_2010:
|
||||
case MDB_VER_ACCDB_2013:
|
||||
case MDB_VER_ACCDB_2016:
|
||||
mdb->fmt = &MdbJet4Constants;
|
||||
break;
|
||||
default:
|
||||
|
Reference in New Issue
Block a user