1
0
Fork 0
forked from len0rd/rockbox

Version 0.4b from 11 Dec 2006 - 0.4 broke win2k/winnt support, this patch restores it

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11747 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2006-12-13 08:59:58 +00:00
parent 206238d947
commit 8a55822ae3

View file

@ -311,13 +311,14 @@ int main(int argc, char* argv[])
int p = 0;
int diskno = -1;
int sector_size;
DISK_GEOMETRY_EX diskgeometry;
DISK_GEOMETRY_EX diskgeometry_ex;
DISK_GEOMETRY diskgeometry;
char diskname[32];
HANDLE dh;
char* filename = NULL;
off_t inputsize;
fprintf(stderr,"ipodpatcher v0.4 - (C) Dave Chapman 2006\n");
fprintf(stderr,"ipodpatcher v0.4b - (C) Dave Chapman 2006\n");
fprintf(stderr,"This is free software; see the source for copying conditions. There is NO\n");
fprintf(stderr,"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n");
@ -385,16 +386,27 @@ int main(int argc, char* argv[])
IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,
NULL,
0,
&diskgeometry,
sizeof(diskgeometry),
&diskgeometry_ex,
sizeof(diskgeometry_ex),
&n,
NULL)) {
error(" Error reading disk geometry: ");
return 2;
if (!DeviceIoControl(dh,
IOCTL_DISK_GET_DRIVE_GEOMETRY,
NULL,
0,
&diskgeometry,
sizeof(diskgeometry),
&n,
NULL)) {
error(" Error reading disk geometry: ");
return 2;
} else {
sector_size=diskgeometry.BytesPerSector;
}
} else {
sector_size=diskgeometry_ex.Geometry.BytesPerSector;
}
sector_size=diskgeometry.Geometry.BytesPerSector;
fprintf(stderr,"[INFO] Reading partition table from %s\n",diskname);
fprintf(stderr,"[INFO] Sector size is %d bytes\n",sector_size);