chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rules: add persistent /dev/serial/{by-id,by-path} rules
[elogind.git]
/
extras
/
volume_id
/
lib
/
hpfs.c
diff --git
a/extras/volume_id/lib/hpfs.c
b/extras/volume_id/lib/hpfs.c
index 80ba289773619fbe860a4e96393e3c16d62ce543..0f0770f05fc175b904ec434899220991231584cb 100644
(file)
--- a/
extras/volume_id/lib/hpfs.c
+++ b/
extras/volume_id/lib/hpfs.c
@@
-79,8
+79,9
@@
int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size)
struct hpfs_super *hs;
struct hpfs_spare_super *hss;
struct hpfs_boot_block *hbb;
struct hpfs_super *hs;
struct hpfs_spare_super *hss;
struct hpfs_boot_block *hbb;
+ uint8_t version;
- info("probing at offset 0x%
llx\n", (unsigned long long)
off);
+ info("probing at offset 0x%
" PRIx64 "\n",
off);
hs = (struct hpfs_super *) volume_id_get_buffer(id, off + HPFS_SUPERBLOCK_OFFSET, 0x400);
if (hs == NULL)
hs = (struct hpfs_super *) volume_id_get_buffer(id, off + HPFS_SUPERBLOCK_OFFSET, 0x400);
if (hs == NULL)
@@
-94,13
+95,11
@@
int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size)
if (memcmp(hss->magic, "\x49\x18\x91\xf9", 4) != 0)
return -1;
if (memcmp(hss->magic, "\x49\x18\x91\xf9", 4) != 0)
return -1;
- sprintf(id->type_version, "%u", hs->version);
- volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
- id->type = "hpfs";
+ version = hs->version;
/* if boot block looks valid, read label and uuid from there */
hbb = (struct hpfs_boot_block *) volume_id_get_buffer(id, off, 0x200);
/* if boot block looks valid, read label and uuid from there */
hbb = (struct hpfs_boot_block *) volume_id_get_buffer(id, off, 0x200);
- if (h
s
== NULL)
+ if (h
bb
== NULL)
return -1;
if (memcmp(hbb->magic, "\x55\xaa", 2) == 0 &&
memcmp(hbb->sig_hpfs, "HPFS", 4) == 0 &&
return -1;
if (memcmp(hbb->magic, "\x55\xaa", 2) == 0 &&
memcmp(hbb->sig_hpfs, "HPFS", 4) == 0 &&
@@
-109,6
+108,9
@@
int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size)
volume_id_set_label_string(id, hbb->vol_label, 11);
volume_id_set_uuid(id, hbb->vol_serno, 0, UUID_DOS);
}
volume_id_set_label_string(id, hbb->vol_label, 11);
volume_id_set_uuid(id, hbb->vol_serno, 0, UUID_DOS);
}
+ sprintf(id->type_version, "%u", version);
+ volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
+ id->type = "hpfs";
return 0;
}
return 0;
}