* either the boot sector of a FAT filesystem or a DOS-type
* partition table.
*/
- if (blkid_probe_is_vfat(pr)) {
+ if (blkid_probe_is_vfat(pr) == 1) {
DBG(LOWPROBE, ul_debug("probably FAT -- ignore"));
goto nothing;
}
*/
parent = blkid_partlist_get_parent(ls);
if (!parent)
- goto err;
+ goto nothing;
if (blkid_partition_get_type(parent) != MBR_MINIX_PARTITION)
goto nothing;
/*
* Gather PART_ENTRY_* values if the current device is a partition.
*/
- if (rc == BLKID_PROBE_OK && !chn->binary &&
+ if ((rc == BLKID_PROBE_OK || rc == BLKID_PROBE_NONE) && !chn->binary &&
(blkid_partitions_get_flags(pr) & BLKID_PARTS_ENTRY_DETAILS)) {
- rc = blkid_partitions_probe_partition(pr);
+ int xrc = blkid_partitions_probe_partition(pr);
+ if (xrc < 0)
+ rc = xrc; /* optional, care about errors only */
}
return rc;
struct vfat_super_block *vs;
struct msdos_super_block *ms;
const struct blkid_idmag *mag = NULL;
+ int rc;
- if (blkid_probe_get_idmag(pr, &vfat_idinfo, NULL, &mag) || !mag)
+ rc = blkid_probe_get_idmag(pr, &vfat_idinfo, NULL, &mag);
+ if (rc < 0)
+ return rc; /* error */
+ if (rc != BLKID_PROBE_OK || !mag)
return 0;
ms = blkid_probe_get_sb(pr, mag, struct msdos_super_block);