1
1
/******************************************************************************
2
* $Id: ogrpgeodriver.cpp 18168 2009-12-03 23:56:59Z warmerdam $
2
* $Id: ogrpgeodriver.cpp 21550 2011-01-22 18:01:57Z rouault $
4
4
* Project: OpenGIS Simple Features Reference Implementation
5
5
* Purpose: Implements Personal Geodatabase driver.
65
65
&& !EQUAL(CPLGetExtension(pszFilename),"mdb") )
68
if( !EQUALN(pszFilename,"PGEO:",5) &&
69
EQUAL(CPLGetExtension(pszFilename),"mdb") )
71
VSILFILE* fp = VSIFOpenL(pszFilename, "rb");
74
GByte* pabyHeader = (GByte*) CPLMalloc(100000);
75
VSIFReadL(pabyHeader, 100000, 1, fp);
78
/* Look for GDB_GeomColumns table */
79
const GByte pabyNeedle[] = { 'G', 0, 'D', 0, 'B', 0, '_', 0, 'G', 0, 'e', 0, 'o', 0, 'm', 0, 'C', 0, 'o', 0, 'l', 0, 'u', 0, 'm', 0, 'n', 0, 's' };
81
for(int i=0;i<100000 - (int)sizeof(pabyNeedle);i++)
83
if (memcmp(pabyHeader + i, pabyNeedle, sizeof(pabyNeedle)) == 0)
69
95
// Try to register MDB Tools driver