SDL_joystick.c: cast the arguments to nibble() to unsigned char.

This commit is contained in:
Ozkan Sezer 2021-12-18 14:01:02 +03:00
parent 47d3e96b43
commit 82fc67ae4d

View File

@ -2646,18 +2646,18 @@ void SDL_JoystickGetGUIDString(SDL_JoystickGUID guid, char *pszGUID, int cbGUID)
* Input : c - * Input : c -
* Output : unsigned char * Output : unsigned char
*-----------------------------------------------------------------------------*/ *-----------------------------------------------------------------------------*/
static unsigned char nibble(char c) static unsigned char nibble(unsigned char c)
{ {
if ((c >= '0') && (c <= '9')) { if ((c >= '0') && (c <= '9')) {
return (unsigned char)(c - '0'); return (c - '0');
} }
if ((c >= 'A') && (c <= 'F')) { if ((c >= 'A') && (c <= 'F')) {
return (unsigned char)(c - 'A' + 0x0a); return (c - 'A' + 0x0a);
} }
if ((c >= 'a') && (c <= 'f')) { if ((c >= 'a') && (c <= 'f')) {
return (unsigned char)(c - 'a' + 0x0a); return (c - 'a' + 0x0a);
} }
/* received an invalid character, and no real way to return an error */ /* received an invalid character, and no real way to return an error */
@ -2681,7 +2681,7 @@ SDL_JoystickGUID SDL_JoystickGetGUIDFromString(const char *pchGUID)
p = (Uint8 *)&guid; p = (Uint8 *)&guid;
for (i = 0; (i < len) && ((p - (Uint8 *)&guid) < maxoutputbytes); i+=2, p++) { for (i = 0; (i < len) && ((p - (Uint8 *)&guid) < maxoutputbytes); i+=2, p++) {
*p = (nibble(pchGUID[i]) << 4) | nibble(pchGUID[i+1]); *p = (nibble((unsigned char)pchGUID[i]) << 4) | nibble((unsigned char)pchGUID[i+1]);
} }
return guid; return guid;