summaryrefslogtreecommitdiffstats
path: root/tester/covoar/CoverageReaderTSIM.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/CoverageReaderTSIM.cc
parentCoverageMap.cc: Fix formatting (diff)
downloadrtems-tools-32ff9bb2967f1a5caa503ec06e97b8320b98dad6.tar.bz2
CoverageReader: Convert to C++
Diffstat (limited to 'tester/covoar/CoverageReaderTSIM.cc')
-rw-r--r--tester/covoar/CoverageReaderTSIM.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/tester/covoar/CoverageReaderTSIM.cc b/tester/covoar/CoverageReaderTSIM.cc
index d4b037d..9c6ff7d 100644
--- a/tester/covoar/CoverageReaderTSIM.cc
+++ b/tester/covoar/CoverageReaderTSIM.cc
@@ -10,6 +10,7 @@
#include <sys/stat.h>
#include <iostream>
+#include <fstream>
#include <iomanip>
#include <rld.h>
@@ -30,22 +31,22 @@ namespace Coverage {
}
void CoverageReaderTSIM::processFile(
- const char* const file,
+ const std::string& file,
ExecutableInfo* const executableInformation
)
{
CoverageMapBase* aCoverageMap = NULL;
int baseAddress;
int cover;
- FILE* coverageFile;
+ std::ifstream coverageFile;
int i;
- int status;
+ char ignore;
//
// Open the coverage file.
//
- 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, "CoverageReaderTSIM::processFile" );
@@ -55,15 +56,16 @@ namespace Coverage {
// Read and process each line of the coverage file.
//
while ( true ) {
- status = ::fscanf( coverageFile, "%x : ", &baseAddress );
- if (status == EOF || status == 0) {
+ coverageFile >> std::hex >> baseAddress >> ignore >> std::dec;
+ if ( coverageFile.gcount() == 0 || coverageFile.fail() ) {
break;
}
for (i = 0; i < 0x80; i += 4) {
unsigned int a;
- status = ::fscanf( coverageFile, "%x", &cover );
- if (status == EOF || status == 0) {
+
+ coverageFile >> std::hex >> cover >> std::dec;
+ if ( coverageFile.fail() || coverageFile.gcount() == 0 ) {
std::cerr << "CoverageReaderTSIM: WARNING! Short line in "
<< file
<< " at address 0x"
@@ -99,6 +101,5 @@ namespace Coverage {
}
}
- ::fclose( coverageFile );
}
}