diff options
Diffstat (limited to 'plugins/Db3x_mmap/src/dbheaders.cpp')
-rw-r--r-- | plugins/Db3x_mmap/src/dbheaders.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/plugins/Db3x_mmap/src/dbheaders.cpp b/plugins/Db3x_mmap/src/dbheaders.cpp index 68e7da15e1..e2afc03658 100644 --- a/plugins/Db3x_mmap/src/dbheaders.cpp +++ b/plugins/Db3x_mmap/src/dbheaders.cpp @@ -25,14 +25,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. //the cache has not been loaded when these functions are used
-extern DBSignature dbSignature;
-
-int CDb3Base::CreateDbHeaders()
+int CDb3Base::CreateDbHeaders(const DBSignature& _sign)
{
- DBContact user;
DWORD bytesWritten;
- CopyMemory(m_dbHeader.signature, &dbSignature,sizeof(m_dbHeader.signature));
+ CopyMemory(m_dbHeader.signature, &_sign, sizeof(m_dbHeader.signature));
+
m_dbHeader.version = DB_THIS_VERSION;
m_dbHeader.ofsFileEnd = sizeof(struct DBHeader);
m_dbHeader.slackSpace = 0;
@@ -43,15 +41,13 @@ int CDb3Base::CreateDbHeaders() //create user
m_dbHeader.ofsUser = m_dbHeader.ofsFileEnd;
m_dbHeader.ofsFileEnd += sizeof(DBContact);
- SetFilePointer(m_hDbFile,0,NULL,FILE_BEGIN);
- WriteFile(m_hDbFile,&m_dbHeader,sizeof(m_dbHeader),&bytesWritten,NULL);
+ SetFilePointer(m_hDbFile, 0, NULL, FILE_BEGIN);
+ WriteFile(m_hDbFile, &m_dbHeader, sizeof(m_dbHeader), &bytesWritten,NULL);
+
+ DBContact user = { 0 };
user.signature = DBCONTACT_SIGNATURE;
- user.ofsNext = 0;
- user.ofsFirstSettings = 0;
- user.eventCount = 0;
- user.ofsFirstEvent = user.ofsLastEvent = 0;
- SetFilePointer(m_hDbFile,m_dbHeader.ofsUser,NULL,FILE_BEGIN);
- WriteFile(m_hDbFile,&user,sizeof(DBContact),&bytesWritten,NULL);
+ SetFilePointer(m_hDbFile, m_dbHeader.ofsUser, NULL, FILE_BEGIN);
+ WriteFile(m_hDbFile, &user, sizeof(DBContact), &bytesWritten, NULL);
FlushFileBuffers(m_hDbFile);
return 0;
}
|