summaryrefslogtreecommitdiffstats
path: root/fastlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-01-26 15:41:06 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-01-26 15:59:29 +0000
commit237fe9d1d62d215721f120f5ec6399fc1456119a (patch)
tree64fd0aacaeb15a97b917490277c6e9e5e8bd79cf /fastlib
parent972de79bfeebf0d9f78a28067969494536d65ca5 (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')
-rw-r--r--fastlib/src/vespa/fastlib/io/bufferedfile.cpp13
-rw-r--r--fastlib/src/vespa/fastlib/io/tests/bufferedfiletest.cpp16
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");