X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fvolume_id%2Flib%2Fiso9660.c;h=1d8bdff878b59b1972269c2845740b236a66f4e3;hp=f8f5aa18ea1c55c1e9204fbca773280951905cac;hb=5caa40bea22b9ac07dbe667985d1b8556d8b6b80;hpb=cdf18948639e56d2e3c71606c72e2f2d239c100b diff --git a/extras/volume_id/lib/iso9660.c b/extras/volume_id/lib/iso9660.c index f8f5aa18e..1d8bdff87 100644 --- a/extras/volume_id/lib/iso9660.c +++ b/extras/volume_id/lib/iso9660.c @@ -35,9 +35,9 @@ #define ISO_VD_MAX 16 struct iso_volume_descriptor { - uint8_t vd_type; - uint8_t vd_id[5]; - uint8_t vd_version; + uint8_t type; + uint8_t id[5]; + uint8_t version; uint8_t flags; uint8_t system_id[32]; uint8_t volume_id[32]; @@ -49,7 +49,7 @@ struct iso_volume_descriptor { struct high_sierra_volume_descriptor { uint8_t foo[8]; uint8_t type; - uint8_t id[4]; + uint8_t id[5]; uint8_t version; } PACKED; @@ -67,7 +67,7 @@ int volume_id_probe_iso9660(struct volume_id *id, uint64_t off, uint64_t size) is = (struct iso_volume_descriptor *) buf; - if (memcmp(is->vd_id, "CD001", 5) == 0) { + if (memcmp(is->id, "CD001", 5) == 0) { int vd_offset; int i; @@ -81,9 +81,9 @@ int volume_id_probe_iso9660(struct volume_id *id, uint64_t off, uint64_t size) uint8_t svd_label[64]; is = (struct iso_volume_descriptor *) volume_id_get_buffer(id, off + vd_offset, 0x200); - if (is == NULL || is->vd_type == ISO_VD_END) + if (is == NULL || is->type == ISO_VD_END) break; - if (is->vd_type != ISO_VD_SUPPLEMENTARY) + if (is->type != ISO_VD_SUPPLEMENTARY) continue; dbg("found SVD at offset 0x%llx", (unsigned long long) (off + vd_offset)); @@ -91,7 +91,7 @@ int volume_id_probe_iso9660(struct volume_id *id, uint64_t off, uint64_t size) memcmp(is->escape_sequences, "%/C", 3) == 0|| memcmp(is->escape_sequences, "%/E", 3) == 0) { dbg("Joliet extension found"); - volume_id_set_unicode16((char *)svd_label, sizeof(svd_label), is->volume_id, BE, 32); + volume_id_set_unicode16(svd_label, sizeof(svd_label), is->volume_id, BE, 32); if (memcmp(id->label, svd_label, 16) == 0) { dbg("SVD label is identical, use the possibly longer PVD one"); break;