diff --git a/usbutils.c b/usbutils.c index 1e479e54..9c3edf15 100644 --- a/usbutils.c +++ b/usbutils.c @@ -2569,15 +2569,18 @@ void usb_initialise() #include #include #include -#include #include #include +#ifndef __APPLE__ union semun { - int sem; - struct semid_ds *seminfo; - ushort *all; + int val; + struct semid_ds *buf; + unsigned short *array; + struct seminfo *__buf; }; +#endif + #else static LPSECURITY_ATTRIBUTES unsec(LPSECURITY_ATTRIBUTES sec) { @@ -2766,7 +2769,7 @@ fail: return false; } - opt.seminfo = &seminfo; + opt.buf = &seminfo; count = 0; while (++count) { // Should NEVER take 100ms @@ -2782,7 +2785,7 @@ fail: dname, sem, name, count, errno, strerror(errno)); return false; } - if (opt.seminfo->sem_otime != 0) + if (opt.buf->sem_otime != 0) break; nmsleep(1); }