Fix POSIX RandomAccessFile

This commit is contained in:
Vinnie Falco
2013-07-17 13:31:01 -07:00
parent 748de3b2e1
commit b7dc115813
2 changed files with 13 additions and 10 deletions

View File

@@ -216,11 +216,11 @@ public:
for (int i = 0; i < numRecords; ++i) for (int i = 0; i < numRecords; ++i)
{ {
Payload p (records [i].bytes); Payload p (records [i].bytes);
p.repeatableRandomFill (records [i].bytes, p.repeatableRandomFill (records [i].bytes,
records [i].bytes, records [i].bytes,
records [i].index + seedValue); records [i].index + seedValue);
file.setPosition (records [i].offset); file.setPosition (records [i].offset);
Result result = file.write (p.data.getData (), p.bytes); Result result = file.write (p.data.getData (), p.bytes);
@@ -228,7 +228,7 @@ public:
expect (result.wasOk (), "Should be ok"); expect (result.wasOk (), "Should be ok");
} }
} }
void readRecords (RandomAccessFile& file, void readRecords (RandomAccessFile& file,
int numRecords, int numRecords,
HeapBlock <Record>const & records, HeapBlock <Record>const & records,
@@ -276,17 +276,20 @@ public:
expect (result.wasOk (), "Should be ok"); expect (result.wasOk (), "Should be ok");
HeapBlock <Record> records (numRecords); if (result.wasOk ())
{
HeapBlock <Record> records (numRecords);
createRecords (records, numRecords, maxPayload, seedValue); createRecords (records, numRecords, maxPayload, seedValue);
writeRecords (file, numRecords, records, seedValue); writeRecords (file, numRecords, records, seedValue);
readRecords (file, numRecords, records, seedValue); readRecords (file, numRecords, records, seedValue);
repeatableShuffle (numRecords, records, seedValue); repeatableShuffle (numRecords, records, seedValue);
readRecords (file, numRecords, records, seedValue); readRecords (file, numRecords, records, seedValue);
}
} }
void runTest () void runTest ()

View File

@@ -551,7 +551,7 @@ Result RandomAccessFile::nativeOpen (File const& path, Mode mode)
} }
else if (mode == readWrite) else if (mode == readWrite)
{ {
const int f = ::open (file.getFullPathName().toUTF8(), O_RDWR + O_CREAT, 00644); const int f = ::open (path.getFullPathName().toUTF8(), O_RDWR + O_CREAT, 00644);
if (f != -1) if (f != -1)
{ {