Hi, my first patch to WINE ever. Theres a bug in wine/dlls/winedos/int21.c/INT21_GetFreeDiskSpace() It was previously using BL_reg() instead of the correct DL_reg() to get the ID of the drive concerned. This obviously breaks apps using this call (e.g. older installshields such as the trial of XaraX). I've just noticed there are LOTS of occurrences of BL_reg() in this file which look like they might have the same problem as INT21_GetFreeDiskSpace... I'll have a trawl through and check if they're correct as well.
Index: dlls/winedos/int21.c =================================================================== RCS file: /home/wine/wine/dlls/winedos/int21.c,v retrieving revision 1.48 diff -u -r1.48 int21.c --- dlls/winedos/int21.c 15 Nov 2003 00:13:21 -0000 1.48 +++ dlls/winedos/int21.c 28 Nov 2003 03:00:35 -0000 @@ -3168,7 +3168,7 @@ DWORD cluster_sectors, sector_bytes, free_clusters, total_clusters; WCHAR root[] = {'A',':','\\',0}; - root[0] += INT21_MapDrive(BL_reg(context)); + root[0] += INT21_MapDrive(DL_reg(context)); if (!GetDiskFreeSpaceW( root, &cluster_sectors, §or_bytes, &free_clusters, &total_clusters )) return 0; SET_AX( context, cluster_sectors );