///// Calcular o tamanho da lima nos setores \\\\\
num_sectors = one.entry[i].file_size/512;
if((one.entry[i].file_size%512)>0)
{
num_sectors = num_sectors+1;
}
/* Amortecedor dos dados de 512 bytes com 512 caráteres NULOS */
for(j=0;j<512;j++)
{
wipe_buf[j] = '\0';
}
///// Começando o setor da lima \\\\\
j= one.entry[i].starting_cluster+31;
/* Limpar para fora a área de dados até os setores da extremidade da lima */
while(j!=(one.entry[i].starting_cluster +
num_sectors+31) )
{
if((abswrite(0x00, 1, j, &wipe_buf))!=0)
{
printf("\n Error Writing on Disk Sectors");
getch();
exit(0);
}
j++;
}
printf("\n\n File \"%.8s.%.3s\" Deleted !!!" ,
one.entry[i].filename,
one.entry[i].extension);
one.entry[i].attribute = 0; /* Ajustar o atributo da lima a 0 */
one.entry[i].time = 0; /* Limpar a informação de Tempo da lima */
one.entry[i].date = 0; /* Limpar a informação da data da lima */
one.entry[i].starting_cluster = 0; /* Ajustar o conjunto começando a 0
*/
one.entry[i].file_size = 0; /* Ajustar o tamanho de lima a 0 */
one.entry[i].filename[0]=0xE5; /* Dar o status suprimido da lima à lima */
///// Escrever acima da informação no diretório de raiz \\\\\\
result= abswrite(0x00, 1, 19, &one);
if (result != 0)
{
perror("Error in Reading Sector, Press any key to
Exit...");
getch();
exit(1);
}
}
|