summaryrefslogtreecommitdiffstats
path: root/tester/covoar/CoverageReaderSkyeye.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/CoverageReaderSkyeye.cc
parentCoverageMap.cc: Fix formatting (diff)
downloadrtems-tools-32ff9bb2967f1a5caa503ec06e97b8320b98dad6.tar.bz2
CoverageReader: Convert to C++
Diffstat (limited to 'tester/covoar/CoverageReaderSkyeye.cc')
-rw-r--r--tester/covoar/CoverageReaderSkyeye.cc20
1 files changed, 9 insertions, 11 deletions
diff --git a/tester/covoar/CoverageReaderSkyeye.cc b/tester/covoar/CoverageReaderSkyeye.cc
index 0fe33d7..de0d4ad 100644
--- a/tester/covoar/CoverageReaderSkyeye.cc
+++ b/tester/covoar/CoverageReaderSkyeye.cc
@@ -10,6 +10,7 @@
#include <sys/stat.h>
#include <iostream>
+#include <fstream>
#include <iomanip>
#include "CoverageReaderSkyeye.h"
@@ -28,32 +29,30 @@ namespace Coverage {
}
void CoverageReaderSkyeye::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;
prof_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 ) {
std::ostringstream what;
what << "Unable to open " << file;
throw rld::error( what, "CoverageReaderSkyeye::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, "CoverageReaderSkyeye::processFile" );
@@ -66,8 +65,8 @@ namespace Coverage {
// Read and process each line of the coverage file.
//
for (i = 0; i < length; i += 8) {
- status = ::fread( &cover, sizeof(uint8_t), 1, coverageFile );
- if (status != 1) {
+ coverageFile.read( (char *) &cover, sizeof( uint8_t ) );
+ if ( coverageFile.gcount() != sizeof( uint8_t ) ) {
std::cerr << "CoverageReaderSkyeye::ProcessFile - breaking after 0x"
<< std::hex << std::setfill('0')
<< std::setw(8) << i
@@ -106,6 +105,5 @@ namespace Coverage {
}
}
- ::fclose( coverageFile );
}
}