So I'm working on recover for pset 4, and when I run the current version of the program, nothing happens and it doesn't seem to even end.
//declare outptr;
FILE* outptr = NULL;
//define the block buffer
BYTE buffer[512];
//initialize for new filename below
int count = 0;
int counter[3] = {0,0,0};
char* title = NULL;
do
{
//read 1 block into buffer
fwrite(&buffer, 512, 1, inptr);
//check to see if new jpg sequence is there
if( new_jpg(buffer) == true)
{
//close current file if one has been opened
if(title != NULL)
{
fclose(outptr);
}
//make title using current counter value
sprintf(title, "%i%i%i.jpg", counter[0], counter[1], counter[2]);
//open new file with new title
outptr = fopen(title, "a");
//make sure correct opening
if (outptr == NULL)
{
printf("Could not open %s", title);
return 3;
}
//increment counter for next file
count++;
int tens = (count / 10) % 10;
int ones = count % 10;
counter[2] = ones;
counter[1] = tens;
}
//already found a jpg?
//no
else if(title==NULL)
{
//do nothing and loop back to move to next block (do I need to use fseek here?)
}
//yes
else if(title != NULL)
{
//add buffer to current outfile
fwrite(&buffer, 512, 1, outptr);
}
}
while (!feof(inptr));
//close current outfile
fclose(outptr);
//close infile
fclose(inptr);
//done
return 0;
}
What could that mean? Is it somehow wrapped up in the loop? If so, why isn't it creating any new files?