FreeBSD Bugzilla – Attachment 20993 Details for
Bug 36917
DOS active partition flag lost in libdisk and sysinstall
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.25 KB, created by
davidx
on 2002-04-09 08:00:04 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
davidx
Created:
2002-04-09 08:00:04 UTC
Size:
1.25 KB
patch
obsolete
>--- /usr/src/lib/libdisk/disk.c.orig Tue Apr 9 12:46:22 2002 >+++ /usr/src/lib/libdisk/disk.c Tue Apr 9 14:05:56 2002 >@@ -132,7 +132,7 @@ > #else > p = read_block(fd, 0, sector_size); > dp = (struct dos_partition*)(p + DOSPARTOFF); >- for (i = 0; i < NDOSPART; i++) { >+ for (i = 0; i < NDOSPART; i++, dp++) { > if (Read_Int32(&dp->dp_start) >= size) > continue; > if (Read_Int32(&dp->dp_start) + Read_Int32(&dp->dp_size) >= size) >@@ -144,9 +144,7 @@ > d->flags |= DISK_ON_TRACK; > offset = 63; > } >- > } >- free(p); > #endif > > d->bios_sect = dl.d_nsectors; >@@ -178,11 +176,10 @@ > (*(p+1) == 0xff) && > (*(p+2) == 0xff)) { > Add_Chunk(d, 0, size, name, fat, 0xa0a0, 0, name); >- free(p); > goto pc98_mo_done; > } >- free(p); > #endif /* PC98 */ >+ dp = (struct dos_partition*)(p + DOSPARTOFF); > for(i=BASE_SLICE;i<ds.dss_nslices;i++) { > char sname[20]; > chunk_e ce; >@@ -230,6 +227,9 @@ > ce = unknown; > break; > } >+ if (i-BASE_SLICE < NDOSPART && >+ dp[i-BASE_SLICE].dp_flag == 0x80) >+ flags |= CHUNK_ACTIVE; > #ifdef PC98 > if (Add_Chunk(d, ds.dss_slices[i].ds_offset, > ds.dss_slices[i].ds_size, sname, ce, subtype, flags, >@@ -377,6 +377,7 @@ > #ifdef PC98 > pc98_mo_done: > #endif >+ free(p); > close(fd); > Fixup_Names(d); > return d;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 36917
: 20993 |
20994