summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shlibs/blkid/src/probe.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/shlibs/blkid/src/probe.c b/shlibs/blkid/src/probe.c
index af22e34da..38d42762f 100644
--- a/shlibs/blkid/src/probe.c
+++ b/shlibs/blkid/src/probe.c
@@ -453,17 +453,16 @@ int blkid_do_probe(blkid_probe pr)
{
int i = 0;
- if (!pr)
+ if (!pr || pr->idx < -1)
return -1;
blkid_probe_reset_vals(pr);
- i = pr->idx + 1;
+ DBG(DEBUG_LOWPROBE,
+ printf("--> starting probing loop [idx=%d]\n",
+ pr->idx));
- if (i < 0 && i >= ARRAY_SIZE(idinfos))
- return -1;
-
- DBG(DEBUG_LOWPROBE, printf("--> starting probing loop\n"));
+ i = pr->idx + 1;
for ( ; i < ARRAY_SIZE(idinfos); i++) {
const struct blkid_idinfo *id;
@@ -518,10 +517,13 @@ int blkid_do_probe(blkid_probe pr)
blkid_probe_set_usage(pr, id->usage);
DBG(DEBUG_LOWPROBE,
- printf("<-- leaving probing loop (type=%s)\n", id->name));
+ printf("<-- leaving probing loop (type=%s) [idx=%d]\n",
+ id->name, pr->idx));
return 0;
}
- DBG(DEBUG_LOWPROBE, printf("<-- leaving probing loop (failed)\n"));
+ DBG(DEBUG_LOWPROBE,
+ printf("<-- leaving probing loop (failed) [idx=%d]\n",
+ pr->idx));
return 1;
}