summaryrefslogtreecommitdiffstats
path: root/tester/covoar/CoverageReaderRTEMS.cc
diff options
context:
space:
mode:
authorRyan Long <ryan.long@oarcorp.com>2021-07-13 14:58:45 -0400
committerJoel Sherrill <joel@rtems.org>2021-09-07 14:26:51 -0500
commit32ff9bb2967f1a5caa503ec06e97b8320b98dad6 (patch)
tree8dd7e4fb139cc2aeb2d9faf8abaace64e9b21e14 /tester/covoar/CoverageReaderRTEMS.cc
parentCoverageMap.cc: Fix formatting (diff)
downloadrtems-tools-32ff9bb2967f1a5caa503ec06e97b8320b98dad6.tar.bz2
CoverageReader: Convert to C++
Diffstat (limited to 'tester/covoar/CoverageReaderRTEMS.cc')
-rw-r--r--tester/covoar/CoverageReaderRTEMS.cc20
1 files changed, 9 insertions, 11 deletions
diff --git a/tester/covoar/CoverageReaderRTEMS.cc b/tester/covoar/CoverageReaderRTEMS.cc
index a9e8ae8..e869fc2 100644
--- a/tester/covoar/CoverageReaderRTEMS.cc
+++ b/tester/covoar/CoverageReaderRTEMS.cc
@@ -10,6 +10,7 @@
#include <sys/stat.h>
#include <iostream>
+#include <fstream>
#include <iomanip>
#include <rld.h>
@@ -30,32 +31,30 @@ namespace Coverage {
}
void CoverageReaderRTEMS::processFile(
- const char* const file,
+ const std::string& file,
ExecutableInfo* const executableInformation
)
{
CoverageMapBase* aCoverageMap = NULL;
uintptr_t baseAddress;
uint8_t cover;
- FILE* coverageFile;
+ std::ifstream coverageFile;
rtems_coverage_map_header_t header;
uintptr_t i;
uintptr_t length;
- int status;
//
// Open the coverage file and read the header.
//
- coverageFile = ::fopen( file, "r" );
- if (!coverageFile) {
+ coverageFile.open( file );
+ if ( !coverageFile.is_open() ) {
std::ostringstream what;
what << "Unable to open " << file;
throw rld::error( what, "CoverageReaderRTEMS::processFile" );
}
- status = ::fread( &header, sizeof(header), 1, coverageFile );
- if (status != 1) {
- ::fclose( coverageFile );
+ coverageFile.read( (char *) &header, sizeof( header ) );
+ if ( coverageFile.fail() ) {
std::ostringstream what;
what << "Unable to read header from " << file;
throw rld::error( what, "CoverageReaderRTEMS::processFile" );
@@ -68,8 +67,8 @@ namespace Coverage {
// Read and process each line of the coverage file.
//
for (i = 0; i < length; i++) {
- status = ::fread( &cover, sizeof(uint8_t), 1, coverageFile );
- if (status != 1) {
+ coverageFile.read( (char *) &cover, sizeof( uint8_t ) );
+ if ( coverageFile.fail() ) {
std::cerr << "breaking after 0x"
<< std::hex << std::setfill('0')
<< std::setw(8) << i
@@ -90,6 +89,5 @@ namespace Coverage {
}
}
- ::fclose( coverageFile );
}
}