42 lines
839 B
C++
42 lines
839 B
C++
|
/**
|
||
|
* @file delete.cpp
|
||
|
* @brief delete drive
|
||
|
* @author hendrik schutter
|
||
|
* @date 23.08.2020
|
||
|
*/
|
||
|
|
||
|
#include "../include/reHDD.h"
|
||
|
|
||
|
/**
|
||
|
* \brief delete drive with wipefs
|
||
|
* \param pointer of Drive instance
|
||
|
* \return void
|
||
|
*/
|
||
|
void Delete::deleteDrive(Drive* drive)
|
||
|
|
||
|
{
|
||
|
size_t len = 0; //lenght of found line
|
||
|
char* cLine = NULL; //found line
|
||
|
|
||
|
#ifndef DRYRUN
|
||
|
string sCMD = ("wipefs -af ");
|
||
|
sCMD.append(drive->getPath());
|
||
|
#endif
|
||
|
|
||
|
#ifdef DRYRUN
|
||
|
//cout << "dryrun for " << drive->getPath() << endl;
|
||
|
string sCMD = ("echo");
|
||
|
#endif
|
||
|
|
||
|
const char* cpComand = sCMD.c_str();
|
||
|
//cout << "delete: " << cpComand << endl;
|
||
|
|
||
|
FILE* deleteCmdOutput = popen(cpComand, "r");
|
||
|
|
||
|
while ((getline(&cLine, &len, deleteCmdOutput)) != -1)
|
||
|
{
|
||
|
//wipefs running
|
||
|
}
|
||
|
fclose(deleteCmdOutput);
|
||
|
}
|