diff options
author | Ryan Long <ryan.long@oarcorp.com> | 2021-07-13 14:58:45 -0400 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-09-07 14:26:51 -0500 |
commit | 32ff9bb2967f1a5caa503ec06e97b8320b98dad6 (patch) | |
tree | 8dd7e4fb139cc2aeb2d9faf8abaace64e9b21e14 /tester/covoar/CoverageReaderRTEMS.cc | |
parent | CoverageMap.cc: Fix formatting (diff) | |
download | rtems-tools-32ff9bb2967f1a5caa503ec06e97b8320b98dad6.tar.bz2 |
CoverageReader: Convert to C++
Diffstat (limited to 'tester/covoar/CoverageReaderRTEMS.cc')
-rw-r--r-- | tester/covoar/CoverageReaderRTEMS.cc | 20 |
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 ); } } |