Fix ntdll compilation in Darwin

Dmitry Timoshkov dmitry at baikal.ru
Thu Jun 30 08:27:01 CDT 2005


"Phil Krylov" <phil at newstar.rinet.ru> wrote:

> Index: dlls/ntdll/cdrom.c
> ===================================================================
> RCS file: /home/wine/wine/dlls/ntdll/cdrom.c,v
> retrieving revision 1.59
> diff -p -u -r1.59 cdrom.c
> --- dlls/ntdll/cdrom.c 29 Jun 2005 19:18:54 -0000 1.59
> +++ dlls/ntdll/cdrom.c 30 Jun 2005 11:27:41 -0000
> @@ -75,6 +75,11 @@
> # include <sys/scsiio.h>
> #endif
> 
> +#ifdef __APPLE__
> +# include <IOKit/IOKitLib.h>
> +# include <IOKit/scsi/SCSICmds_REQUEST_SENSE_Defs.h>
> +#endif
> +
> #define NONAMELESSUNION
> #define NONAMELESSSTRUCT
> #include "ntstatus.h"
> @@ -1418,6 +1423,8 @@ static NTSTATUS CDROM_ScsiPassThroughDir
> 
> #ifdef SENSEBUFLEN
>     if (pPacket->SenseInfoLength > SENSEBUFLEN)
> +#elif defined( __APPLE__ )
> +    if (pPacket->SenseInfoLength > kSenseDefaultSize)
> #else
>     if (pPacket->SenseInfoLength > sizeof(struct request_sense))
> #endif

Please do not introduce even more platform dependent #ifdefs into cdrom.c,
currently it already has enough mess with all that #if defined(linux)/(__FreeBSD__)/
(__NetBSD__). Add proper configure checks for headers and structures your
platform needs.

-- 
Dmitry.




More information about the wine-devel mailing list