fsparser: check if text is present after : in header comment

This commit is contained in:
Gwenhael Goavec-Merou 2020-01-18 17:06:36 +01:00
parent 414e6ee1b0
commit 0e93774c88
1 changed files with 6 additions and 3 deletions

View File

@ -29,7 +29,7 @@ using namespace std;
FsParser::FsParser(string filename, bool reverseByte, bool verbose): FsParser::FsParser(string filename, bool reverseByte, bool verbose):
ConfigBitstreamParser(filename, ConfigBitstreamParser::ASCII_MODE, ConfigBitstreamParser(filename, ConfigBitstreamParser::ASCII_MODE,
verbose), _reverseByte(reverseByte), _toolVersion(), _partNumber(), verbose), _reverseByte(reverseByte), _toolVersion(), _partNumber(),
_devicePackage(), _backgroundProgramming(false), _checksum(), _devicePackage(), _backgroundProgramming(false), _checksum(0),
_crcCheck(false), _compress(false), _encryption(false), _crcCheck(false), _compress(false), _encryption(false),
_securityBit(false), _jtagAsRegularIO(false), _date() _securityBit(false), _jtagAsRegularIO(false), _date()
{ {
@ -53,7 +53,10 @@ int FsParser::parseHeader()
continue; continue;
string v1, v2; string v1, v2;
v1 = buffer.substr(0, pos); v1 = buffer.substr(0, pos);
v2 = buffer.substr(pos+2); // ':' + ' ' if (pos+2 == buffer.size())
v2 = "None";
else
v2 = buffer.substr(pos+2) + '\0'; // ':' + ' '
if (v1 == "GOWIN Version") if (v1 == "GOWIN Version")
_toolVersion = v2; _toolVersion = v2;
@ -101,7 +104,7 @@ int FsParser::parse()
uint8_t data; uint8_t data;
string buffer, tmp; string buffer, tmp;
printInfo("Parse " + _filename + ": ", false); printInfo("Parse " + _filename + ": ", true);
parseHeader(); parseHeader();
_fd.seekg(0, _fd.beg); _fd.seekg(0, _fd.beg);