Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 77140 | Differences between
and this patch

Collapse All | Expand All

(-)hal-0.4.4/hald/linux/volume_id/volume_id.c (-2 / +11 lines)
Lines 1239-1253 Link Here
1239
		} __attribute__((__packed__)) hs;
1239
		} __attribute__((__packed__)) hs;
1240
	} __attribute__((__packed__)) *is;
1240
	} __attribute__((__packed__)) *is;
1241
1241
1242
	char vd_primary_label[32];
1243
1242
	is = (union iso_super_block *)
1244
	is = (union iso_super_block *)
1243
	     get_buffer(id, off + ISO_SUPERBLOCK_OFFSET, 0x200);
1245
	     get_buffer(id, off + ISO_SUPERBLOCK_OFFSET, 0x200);
1244
	if (is == NULL)
1246
	if (is == NULL)
1245
		return -1;
1247
		return -1;
1246
1248
1249
	memcpy (vd_primary_label, is->iso.volume_id, 32);
1250
1247
	if (strncmp(is->iso.id, "CD001", 5) == 0) {
1251
	if (strncmp(is->iso.id, "CD001", 5) == 0) {
1248
		int vd_offset;
1252
		int vd_offset;
1249
		int i;
1253
		int i, j;
1250
		__u8 found_svd;
1254
		__u8 found_svd;
1255
		char tmp_label[32];
1251
1256
1252
		found_svd = 0;
1257
		found_svd = 0;
1253
		vd_offset = ISO_VD_OFFSET;
1258
		vd_offset = ISO_VD_OFFSET;
Lines 1264-1270 Link Here
1264
			vd_offset += ISO_SECTOR_SIZE;
1269
			vd_offset += ISO_SECTOR_SIZE;
1265
		}
1270
		}
1266
1271
1267
		if (!found_svd) {
1272
		j = 0;
1273
		for (i = 0; i+2 <= 32; i+=2)
1274
			tmp_label[j++] = is->iso.volume_id[i+1];
1275
1276
		if (!found_svd || !strncmp(tmp_label, vd_primary_label, 16)) {
1268
			is = (union iso_super_block *)
1277
			is = (union iso_super_block *)
1269
			     get_buffer(id, off + ISO_SUPERBLOCK_OFFSET, 0x200);
1278
			     get_buffer(id, off + ISO_SUPERBLOCK_OFFSET, 0x200);
1270
			if (is == NULL)
1279
			if (is == NULL)

Return to bug 77140