Skip to content

Commit

Permalink
fixed code so binary display when less than 16 bytes.
Browse files Browse the repository at this point in the history
  • Loading branch information
Pasquale Rinaldi committed Jan 1, 2023
1 parent e6f563b commit 7d18112
Showing 1 changed file with 29 additions and 12 deletions.
41 changes: 29 additions & 12 deletions wombatregistry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -371,25 +371,42 @@ void WombatRegistry::ValueSelected(void)
libregf_value_get_value_data(curval, data, datasize, &regerr);
QByteArray dataarray = QByteArray::fromRawData((char*)data, datasize);
valuedata += "\n\nBinary Content\n--------------\n\n";
int linecount = datasize / 16;
//int remainder = datasize % 16;
for(int i=0; i < linecount; i++)
if(datasize < 16)
{
valuedata += QString::number(i * 16, 16).rightJustified(8, '0') + "\t";
for(int j=0; j < 16; j++)
valuedata += QString::number(0, 16).rightJustified(8, '0') + "\t";
for(int i=0; i < datasize; i++)
valuedata += QString("%1").arg(data[i], 2, 16, QChar('0')).toUpper() + " ";
for(int i=0; i < datasize; i++)
{
valuedata += QString("%1").arg(data[j+i*16], 2, 16, QChar('0')).toUpper() + " ";
if(!QChar(dataarray.at(i)).isPrint())
valuedata += ".";
else
valuedata += QString("%1").arg(dataarray.at(i));
}
for(int j=0; j < 16; j++)
valuedata += "\n";
}
else
{
int linecount = datasize / 16;
//int remainder = datasize % 16;
for(int i=0; i < linecount; i++)
{
if(!QChar(dataarray.at(j+i*16)).isPrint())
valuedata += QString::number(i * 16, 16).rightJustified(8, '0') + "\t";
for(int j=0; j < 16; j++)
{
valuedata += ".";
valuedata += QString("%1").arg(data[j+i*16], 2, 16, QChar('0')).toUpper() + " ";
}
else
valuedata += QString("%1").arg(dataarray.at(j+i*16));
for(int j=0; j < 16; j++)
{
if(!QChar(dataarray.at(j+i*16)).isPrint())
{
valuedata += ".";
}
else
valuedata += QString("%1").arg(dataarray.at(j+i*16));
}
valuedata += "\n";
}
valuedata += "\n";
}
ui->plaintext->setPlainText(valuedata);

Expand Down

0 comments on commit 7d18112

Please sign in to comment.