diff --git a/include/X11/Xcursor/Xcursor.h.in b/include/X11/Xcursor/Xcursor.h.in index 1a1438634c89749df224f414dea4bbc8dc197204..36400bf8cdcebbcc167570b0fd696f9b5497d4d9 100644 --- a/include/X11/Xcursor/Xcursor.h.in +++ b/include/X11/Xcursor/Xcursor.h.in @@ -23,11 +23,12 @@ #ifndef _XCURSOR_H_ #define _XCURSOR_H_ #include +#include #include #include typedef int XcursorBool; -typedef unsigned int XcursorUInt; +typedef uint32_t XcursorUInt; typedef XcursorUInt XcursorDim; typedef XcursorUInt XcursorPixel; diff --git a/src/file.c b/src/file.c index da1627734937c629423b5a973dfe8b3a16141c84..c074f71346136ba955586a716f4fc28470fb609a 100644 --- a/src/file.c +++ b/src/file.c @@ -161,11 +161,12 @@ _XcursorReadUInt (XcursorFile *file, XcursorUInt *u) return XcursorFalse; if ((*file->read) (file, bytes, 4) != 4) - return XcursorFalse; - *u = ((bytes[0] << 0) | - (bytes[1] << 8) | - (bytes[2] << 16) | - (bytes[3] << 24)); + return XcursorFalse; + + *u = ((XcursorUInt)(bytes[0]) << 0) | + ((XcursorUInt)(bytes[1]) << 8) | + ((XcursorUInt)(bytes[2]) << 16) | + ((XcursorUInt)(bytes[3]) << 24); return XcursorTrue; }