Mercurial > hg > audiodb
comparison audioDB.cpp @ 210:7562a833a951
Deal with x86-64 OS X vs Linux structure padding ABI.
author | mas01cr |
---|---|
date | Thu, 29 Nov 2007 16:31:09 +0000 |
parents | 7c9feaceeab5 |
children | 3a81da6fb1d7 |
comparison
equal
deleted
inserted
replaced
202:7c9feaceeab5 | 210:7562a833a951 |
---|---|
452 dbH->magic = O2_MAGIC; | 452 dbH->magic = O2_MAGIC; |
453 dbH->version = O2_FORMAT_VERSION; | 453 dbH->version = O2_FORMAT_VERSION; |
454 dbH->numFiles = 0; | 454 dbH->numFiles = 0; |
455 dbH->dim = 0; | 455 dbH->dim = 0; |
456 dbH->flags = 0; | 456 dbH->flags = 0; |
457 dbH->headerSize = O2_HEADERSIZE; | |
457 dbH->length = 0; | 458 dbH->length = 0; |
458 dbH->fileTableOffset = ALIGN_PAGE_UP(O2_HEADERSIZE); | 459 dbH->fileTableOffset = ALIGN_PAGE_UP(O2_HEADERSIZE); |
459 dbH->trackTableOffset = ALIGN_PAGE_UP(dbH->fileTableOffset + O2_FILETABLESIZE*maxfiles); | 460 dbH->trackTableOffset = ALIGN_PAGE_UP(dbH->fileTableOffset + O2_FILETABLESIZE*maxfiles); |
460 dbH->dataOffset = ALIGN_PAGE_UP(dbH->trackTableOffset + O2_TRACKTABLESIZE*maxfiles); | 461 dbH->dataOffset = ALIGN_PAGE_UP(dbH->trackTableOffset + O2_TRACKTABLESIZE*maxfiles); |
461 dbH->l2normTableOffset = ALIGN_PAGE_DOWN(size - maxfiles*O2_MEANNUMVECTORS*sizeof(double)); | 462 dbH->l2normTableOffset = ALIGN_PAGE_DOWN(size - maxfiles*O2_MEANNUMVECTORS*sizeof(double)); |
506 cerr << "expected: " << O2_MAGIC << ", got: " << dbH->magic << endl; | 507 cerr << "expected: " << O2_MAGIC << ", got: " << dbH->magic << endl; |
507 error("database file has incorrect header", dbName); | 508 error("database file has incorrect header", dbName); |
508 } | 509 } |
509 | 510 |
510 if(dbH->version != O2_FORMAT_VERSION) { | 511 if(dbH->version != O2_FORMAT_VERSION) { |
511 error("database file has incorect version", dbName); | 512 error("database file has incorrect version", dbName); |
513 } | |
514 | |
515 if(dbH->headerSize != O2_HEADERSIZE) { | |
516 error("sizeof(dbTableHeader) unexpected: platform ABI mismatch?", dbName); | |
512 } | 517 } |
513 | 518 |
514 #define CHECKED_MMAP(type, var, start, length) \ | 519 #define CHECKED_MMAP(type, var, start, length) \ |
515 { void *tmp = mmap(0, length, (PROT_READ | (forWrite ? PROT_WRITE : 0)), MAP_SHARED, dbfid, (start)); \ | 520 { void *tmp = mmap(0, length, (PROT_READ | (forWrite ? PROT_WRITE : 0)), MAP_SHARED, dbfid, (start)); \ |
516 if(tmp == (void *) -1) { \ | 521 if(tmp == (void *) -1) { \ |