diff --git a/src/fdlib.c b/src/fdlib.c index 08d2d395cdae8c182241061f295c5049ad304af5..f7cb658a1a29f58a21f3c113f9df630c768a2858 100644 --- a/src/fdlib.c +++ b/src/fdlib.c @@ -31,6 +31,9 @@ #include <shlobj.h> #include <objbase.h> +#include <wchar.h> +#include <io.h> + #include <time.h> /* Old versions of the headerfiles don't have this constant... */ @@ -199,11 +202,10 @@ static const unsigned long pike_doserrtab[][2] = { static inline void _dosmaperr(unsigned long err) { - int l = 0, h = NELEM(pike_doserrtab); - int m; + unsigned int l = 0, h = NELEM(pike_doserrtab); while (l < h) { - int m = (l+h)>>1; - int e = pike_doserrtab[m][0]; + unsigned int m = (l+h)>>1; + unsigned long e = pike_doserrtab[m][0]; if (e == err) { errno = pike_doserrtab[m][1];