diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-26 15:41:06 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-26 15:59:29 +0000 |
commit | 237fe9d1d62d215721f120f5ec6399fc1456119a (patch) | |
tree | 64fd0aacaeb15a97b917490277c6e9e5e8bd79cf /fastlib/src | |
parent | 972de79bfeebf0d9f78a28067969494536d65ca5 (diff) |
- assert result of Close() in destructor of FastOS_File and FastOS_BufferedFile.
- Check result of Close()
- Check result of Sync()
- Scope FastOS_File to avoid explicit Close().
- NULL -> nullptr
Diffstat (limited to 'fastlib/src')
-rw-r--r-- | fastlib/src/vespa/fastlib/io/bufferedfile.cpp | 13 | ||||
-rw-r--r-- | fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp | 16 |
2 files changed, 13 insertions, 16 deletions
diff --git a/fastlib/src/vespa/fastlib/io/bufferedfile.cpp b/fastlib/src/vespa/fastlib/io/bufferedfile.cpp index e6972c501f5..cbe95e286b7 100644 --- a/fastlib/src/vespa/fastlib/io/bufferedfile.cpp +++ b/fastlib/src/vespa/fastlib/io/bufferedfile.cpp @@ -204,9 +204,7 @@ Fast_BufferedFile::SetPosition(const int64_t s) const char * Fast_BufferedFile::GetFileName(void) const { - return (_file.get() == NULL) - ? "" - : _file->GetFileName(); + return _file ? _file->GetFileName() : ""; } char * @@ -228,7 +226,7 @@ Fast_BufferedFile::ReadLine(char *line, size_t buflen) fillReadBuf(); if (_bufi >= _bufe) { if (p == line) - return NULL; + return nullptr; *p = 0; return line; } @@ -394,8 +392,8 @@ Fast_BufferedFile::Fast_BufferedFile(FastOS_FileInterface *file, size_t bufferSi FastOS_FileInterface(), _fileleft(static_cast<uint64_t>(-1)), _buf(vespalib::alloc::Alloc::allocMMap(computeBufLen(bufferSize))), - _bufi(NULL), - _bufe(NULL), + _bufi(nullptr), + _bufe(nullptr), _filepos(0), _directIOEnabled(false), _file(file) @@ -405,7 +403,8 @@ Fast_BufferedFile::Fast_BufferedFile(FastOS_FileInterface *file, size_t bufferSi Fast_BufferedFile::~Fast_BufferedFile(void) { - Close(); + bool close_ok = Close(); + assert(close_ok); } void diff --git a/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp b/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp index 4cc386b2d17..0e27cb525af 100644 --- a/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp +++ b/fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp @@ -4,8 +4,6 @@ TEST("main") { - int i = 0; - int j = 0; int value = 0; FastOS_StatInfo statInfo; @@ -22,7 +20,7 @@ TEST("main") { bufFile.WriteOpen("testfile1"); bufFile.addNum(1,10,' '); bufFile.CheckedWrite("\n",1); - bufFile.Close(); + ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile1", &statInfo); if (statInfo._size != 11) { printf (" -- FAILURE\n\n"); @@ -36,7 +34,7 @@ TEST("main") { char buf[8192]; // allocate 8K buffer memset(buf,0xff,8192); bufFile.CheckedWrite(buf,4095); // write almost 4K - bufFile.Close(); + ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile2", &statInfo); if (statInfo._size != 4095) { printf (" -- FAILURE\n\n"); @@ -48,7 +46,7 @@ TEST("main") { printf ("testing 4096 byte long file\n"); bufFile.WriteOpen("testfile3"); bufFile.CheckedWrite(buf,4096); // write exactly 4K - bufFile.Close(); + ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile3", &statInfo); if (statInfo._size != 4096) { printf (" -- FAILURE\n\n"); @@ -60,7 +58,7 @@ TEST("main") { printf ("testing 4097 byte long file\n"); bufFile.WriteOpen("testfile4"); bufFile.CheckedWrite(buf,4097); // write a bit over 4K - bufFile.Close(); + ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile4", &statInfo); if (statInfo._size != 4097) { printf (" -- FAILURE\n\n"); @@ -71,14 +69,14 @@ TEST("main") { // test 5 printf ("testing 610000 byte long file with repeated addNum\n"); bufFile.WriteOpen("testfile5"); - for (i = 0; i < 10000; i++) { - for (j = 0; j < 10; j++) { + for (int i = 0; i < 10000; i++) { + for (int j = 0; j < 10; j++) { bufFile.addNum(value,6,' '); value++; } bufFile.CheckedWrite("\n",1); } - bufFile.Close(); + ASSERT_TRUE(bufFile.Close()); FastOS_File::Stat("testfile5", &statInfo); if (statInfo._size != 610000) { printf (" -- FAILURE\n\n"); |