From b7dc115813825e87364d6b0fe92193f5a6ee5dde Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Wed, 17 Jul 2013 13:31:01 -0700 Subject: [PATCH] Fix POSIX RandomAccessFile --- .../files/beast_RandomAccessFile.cpp | 21 +++++++++++-------- .../native/beast_posix_SharedCode.h | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Subtrees/beast/modules/beast_core/files/beast_RandomAccessFile.cpp b/Subtrees/beast/modules/beast_core/files/beast_RandomAccessFile.cpp index 200b40a13..33febec9c 100644 --- a/Subtrees/beast/modules/beast_core/files/beast_RandomAccessFile.cpp +++ b/Subtrees/beast/modules/beast_core/files/beast_RandomAccessFile.cpp @@ -216,11 +216,11 @@ public: for (int i = 0; i < numRecords; ++i) { Payload p (records [i].bytes); - + p.repeatableRandomFill (records [i].bytes, records [i].bytes, records [i].index + seedValue); - + file.setPosition (records [i].offset); Result result = file.write (p.data.getData (), p.bytes); @@ -228,7 +228,7 @@ public: expect (result.wasOk (), "Should be ok"); } } - + void readRecords (RandomAccessFile& file, int numRecords, HeapBlock const & records, @@ -276,17 +276,20 @@ public: expect (result.wasOk (), "Should be ok"); - HeapBlock records (numRecords); + if (result.wasOk ()) + { + HeapBlock 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 () diff --git a/Subtrees/beast/modules/beast_core/native/beast_posix_SharedCode.h b/Subtrees/beast/modules/beast_core/native/beast_posix_SharedCode.h index 880981f6c..622d48a14 100644 --- a/Subtrees/beast/modules/beast_core/native/beast_posix_SharedCode.h +++ b/Subtrees/beast/modules/beast_core/native/beast_posix_SharedCode.h @@ -551,7 +551,7 @@ Result RandomAccessFile::nativeOpen (File const& path, Mode mode) } 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) {