int i, nparts = BSD_MAXPARTITIONS;
const unsigned char *data;
int rc = BLKID_PROBE_NONE;
- uint32_t abs_offset = 0;
+ uint64_t abs_offset = 0;
if (blkid_partitions_need_typeonly(pr))
/* caller does not ask for details about partitions */
for (i = 0, p = l->d_partitions; i < nparts; i++, p++) {
blkid_partition par;
- uint32_t start, size;
+ uint64_t start, size;
if (p->p_fstype == BSD_FS_UNUSED)
continue;
&& le32_to_cpu(l->d_partitions[2].p_offset) == 0)
start += abs_offset;
- if (parent && blkid_partition_get_start(parent) == start
- && blkid_partition_get_size(parent) == size) {
+ if (parent && (uint64_t) blkid_partition_get_start(parent) == start
+ && (uint64_t) blkid_partition_get_size(parent) == size) {
DBG(LOWPROBE, ul_debug(
"WARNING: BSD partition (%d) same like parent, "
"ignore", i));