Using sprintf Instead of snprintf

This commit is contained in:
2025-12-09 21:09:25 +01:00
parent ba2f036d88
commit 7c92386082
3 changed files with 33 additions and 31 deletions

View File

@ -47,6 +47,7 @@ public:
bool bWasDeleted = false;
bool bIsOffline = false;
uint32_t u32DriveChecksumAfterShredding = 0U;
uint16_t u16DriveIndex = 0U; // Index of TUI list
private:
string sPath;

View File

@ -42,17 +42,17 @@ void Printer::print(Drive *drive)
t_msgQueueData msgQueueData;
msgQueueData.msg_queue_type = 1;
sprintf(msgQueueData.driveData.caDriveIndex, "%i", 42); // TODO: get from tui
sprintf(msgQueueData.driveData.caDriveState, "shredded");
snprintf(msgQueueData.driveData.caDriveIndex, STR_BUFFER_SIZE, "%i", drive->u16DriveIndex);
snprintf(msgQueueData.driveData.caDriveState, STR_BUFFER_SIZE, "shredded");
strcpy(msgQueueData.driveData.caDriveModelFamily, drive->getModelFamily().c_str());
strcpy(msgQueueData.driveData.caDriveModelName, drive->getModelName().c_str());
sprintf(msgQueueData.driveData.caDriveCapacity, "%li", drive->getCapacity());
snprintf(msgQueueData.driveData.caDriveCapacity, STR_BUFFER_SIZE, "%li", drive->getCapacity());
strcpy(msgQueueData.driveData.caDriveSerialnumber, drive->getSerial().c_str());
sprintf(msgQueueData.driveData.caDriveHours, "%i", drive->getPowerOnHours());
sprintf(msgQueueData.driveData.caDriveCycles, "%i", drive->getPowerCycles());
sprintf(msgQueueData.driveData.caDriveErrors, "%i", drive->getErrorCount());
sprintf(msgQueueData.driveData.caDriveShredTimestamp, "%li", drive->getActionStartTimestamp());
sprintf(msgQueueData.driveData.caDriveShredDuration, "%li", drive->getTaskDuration());
snprintf(msgQueueData.driveData.caDriveHours, STR_BUFFER_SIZE, "%i", drive->getPowerOnHours());
snprintf(msgQueueData.driveData.caDriveCycles, STR_BUFFER_SIZE, "%i", drive->getPowerCycles());
snprintf(msgQueueData.driveData.caDriveErrors, STR_BUFFER_SIZE, "%i", drive->getErrorCount());
snprintf(msgQueueData.driveData.caDriveShredTimestamp, STR_BUFFER_SIZE, "%li", drive->getActionStartTimestamp());
snprintf(msgQueueData.driveData.caDriveShredDuration, STR_BUFFER_SIZE, "%li", drive->getTaskDuration());
switch (drive->connectionType)
{
@ -70,7 +70,7 @@ void Printer::print(Drive *drive)
strcpy(msgQueueData.driveData.caDriveConnectionType, "na");
}
sprintf(msgQueueData.driveData.caDriveReHddVersion, REHDD_VERSION);
snprintf(msgQueueData.driveData.caDriveReHddVersion, STR_BUFFER_SIZE, "%s", REHDD_VERSION);
if (-1 == msgsnd(this->msqid, &msgQueueData, sizeof(t_msgQueueData) - sizeof(long), 0))
{

View File

@ -19,7 +19,7 @@ static list<Drive> listDrives; // stores all drive data from scan thread
TUI *ui;
static uint8_t u8SelectedEntry;
static uint16_t u16SelectedEntry;
static fd_set selectSet;
@ -30,7 +30,7 @@ static fd_set selectSet;
*/
reHDD::reHDD(void)
{
u8SelectedEntry = 0U;
u16SelectedEntry = 0U;
}
/**
@ -83,7 +83,7 @@ void reHDD::app_logic(void)
Logger::logThis()->info("got progress signal from a shred task");
#endif
}
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
} // endless loop
thDevices.join();
thUserInput.join();
@ -92,10 +92,11 @@ void reHDD::app_logic(void)
Drive *reHDD::getSelectedDrive()
{
if (u8SelectedEntry < listDrives.size())
if (u16SelectedEntry < listDrives.size())
{
list<Drive>::iterator it = listDrives.begin();
advance(it, u8SelectedEntry);
advance(it, u16SelectedEntry);
it->u16DriveIndex = u16SelectedEntry;
return &(*it);
}
else
@ -150,12 +151,12 @@ void reHDD::ThreadUserInput()
case TUI::UserInput::DownKey:
// cout << "Down" << endl;
handleArrowKey(TUI::UserInput::DownKey);
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::UpKey:
// cout << "Up" << endl;
handleArrowKey(TUI::UserInput::UpKey);
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::Undefined:
// cout << "Undefined" << endl;
@ -163,7 +164,7 @@ void reHDD::ThreadUserInput()
case TUI::UserInput::Abort:
// cout << "Abort" << endl;
handleAbort();
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::Delete:
// cout << "Delete" << endl;
@ -176,7 +177,7 @@ void reHDD::ThreadUserInput()
}
}
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::Shred:
// cout << "Shred" << endl;
@ -187,22 +188,22 @@ void reHDD::ThreadUserInput()
tmpSelectedDrive->state = Drive::SHRED_SELECTED;
}
}
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::ShredAll:
// cout << "ShredAll" << endl;
startShredAllDrives(&listDrives);
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::Enter:
// cout << "Enter" << endl;
handleEnter();
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::ESC:
// cout << "ESC" << endl;
handleESC();
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::Terminate:
// cout << "Terminate" << endl;
@ -225,7 +226,7 @@ void reHDD::ThreadShred(Drive *const pDrive)
Shred *pShredTask = new Shred(); // create new shred task
pShredTask->shredDrive(pDrive, &fdShredInformPipe[1]); // start new shred task
delete pShredTask; // delete shred task
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
}
}
@ -239,7 +240,7 @@ void reHDD::ThreadDelete()
tmpSelectedDrive->state = Drive::TaskState::NONE; // delete finished
tmpSelectedDrive->bWasDeleted = true;
Logger::logThis()->info("Finished delete for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
ui->updateTUI(&listDrives, u8SelectedEntry);
ui->updateTUI(&listDrives, u16SelectedEntry);
}
}
@ -599,24 +600,24 @@ void reHDD::handleArrowKey(TUI::UserInput userInput)
switch (userInput)
{
case TUI::UserInput::DownKey:
u8SelectedEntry++;
if (u8SelectedEntry >= u8EntrySize)
u16SelectedEntry++;
if (u16SelectedEntry >= u8EntrySize)
{
u8SelectedEntry = 0;
u16SelectedEntry = 0;
}
break;
case TUI::UserInput::UpKey:
if (u8SelectedEntry == 0)
if (u16SelectedEntry == 0)
{
u8SelectedEntry = (u8EntrySize - 1);
u16SelectedEntry = (u8EntrySize - 1);
}
else
{
u8SelectedEntry--;
u16SelectedEntry--;
}
break;
default:
u8SelectedEntry = 0;
u16SelectedEntry = 0;
break;
}