enh: more logs around exhaustive RS03 search in verbose
This commit is contained in:
@@ -364,7 +364,8 @@ int RS03RecognizeImage(Image *image)
|
|||||||
{ recognize_context *rc = g_malloc0(sizeof(recognize_context));
|
{ recognize_context *rc = g_malloc0(sizeof(recognize_context));
|
||||||
guint64 image_sectors;
|
guint64 image_sectors;
|
||||||
guint64 layer_size;
|
guint64 layer_size;
|
||||||
gint64 triesleft = -1; /* infinity */
|
gint64 trynumber;
|
||||||
|
gint64 maxtries;
|
||||||
int untested_layers;
|
int untested_layers;
|
||||||
int layer, layer_sector;
|
int layer, layer_sector;
|
||||||
int i;
|
int i;
|
||||||
@@ -426,11 +427,13 @@ int RS03RecognizeImage(Image *image)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if(!Closure->examineRS03 && image->type == IMAGE_MEDIUM)
|
if(!Closure->examineRS03 && image->type == IMAGE_MEDIUM)
|
||||||
{ triesleft = 3; /* no exhaustive search asked and reading from optical drive */
|
{ maxtries = 3; /* no exhaustive search asked and reading from optical drive */
|
||||||
Verbose("RS03RecognizeImage: quick RS03 search, attempting up to %" PRId64" sector reads max\n", triesleft);
|
Verbose("RS03RecognizeImage: quick RS03 search, attempting up to %" PRId64" sector reads max\n", maxtries);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{ maxtries = -1; /* infinity */
|
||||||
Verbose("RS03RecognizeImage: No EH, entering exhaustive search\n");
|
Verbose("RS03RecognizeImage: No EH, entering exhaustive search\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* Determine image size in augmented case. */
|
/* Determine image size in augmented case. */
|
||||||
|
|
||||||
@@ -480,6 +483,7 @@ int RS03RecognizeImage(Image *image)
|
|||||||
lay->target = ECC_IMAGE;
|
lay->target = ECC_IMAGE;
|
||||||
}
|
}
|
||||||
untested_layers = 247-84+1;
|
untested_layers = 247-84+1;
|
||||||
|
trynumber = 0;
|
||||||
|
|
||||||
rc->ab = CreateAlignedBuffer(2048);
|
rc->ab = CreateAlignedBuffer(2048);
|
||||||
|
|
||||||
@@ -498,11 +502,17 @@ int RS03RecognizeImage(Image *image)
|
|||||||
if(sector >= image_sectors)
|
if(sector >= image_sectors)
|
||||||
goto mark_invalid_layer;
|
goto mark_invalid_layer;
|
||||||
|
|
||||||
if (triesleft-- == 0) {
|
if (++trynumber > maxtries && maxtries > 0) {
|
||||||
|
Verbose("RS03: max tries reached, stopping search\n");
|
||||||
free_recognize_context(rc);
|
free_recognize_context(rc);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Verbose("RS03: %s = %" PRId64 ", reading sector %" PRId64 "\n",
|
||||||
|
maxtries < 0 ? "try number" : "tries left",
|
||||||
|
maxtries < 0 ? trynumber : maxtries - trynumber,
|
||||||
|
sector);
|
||||||
|
|
||||||
switch(image->type)
|
switch(image->type)
|
||||||
{ case IMAGE_FILE:
|
{ case IMAGE_FILE:
|
||||||
RS03ReadSectors(image, rc->layout[layer], rc->ab->buf,
|
RS03ReadSectors(image, rc->layout[layer], rc->ab->buf,
|
||||||
|
|||||||
Reference in New Issue
Block a user