Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Check bounds in SDL_IsGameController. Switch two functions to SDL_bool.
Browse files Browse the repository at this point in the history
       Switches SDL_GameControllerGetAttached and SDL_IsGameController to
       return SDL_bool, instead of int.
  • Loading branch information
jorgenpt committed Feb 13, 2013
1 parent 5530fab commit 8ab0ad6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
4 changes: 2 additions & 2 deletions include/SDL_gamecontroller.h
Expand Up @@ -113,7 +113,7 @@ typedef struct _SDL_GameControllerButtonBind
* Is the joystick on this index supported by the game controller interface?
* returns 1 if supported, 0 otherwise.
*/
extern DECLSPEC int SDLCALL SDL_IsGameController(int joystick_index);
extern DECLSPEC SDL_bool SDLCALL SDL_IsGameController(int joystick_index);


/**
Expand Down Expand Up @@ -141,7 +141,7 @@ extern DECLSPEC const char *SDLCALL SDL_GameControllerName(SDL_GameController *
/**
* Returns 1 if the controller has been opened and currently connected, or 0 if it has not.
*/
extern DECLSPEC int SDLCALL SDL_GameControllerGetAttached(SDL_GameController * gamecontroller);
extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerGetAttached(SDL_GameController * gamecontroller);

/**
* Get the underlying joystick object used by a controller
Expand Down
16 changes: 11 additions & 5 deletions src/joystick/SDL_gamecontroller.c
Expand Up @@ -265,6 +265,10 @@ int SDL_GameControllerEventWatcher(void *userdata, SDL_Event * event)
*/
ControllerMapping_t *SDL_PrivateGetControllerMapping(int device_index)
{
if ( (device_index < 0) || (device_index >= SDL_NumJoysticks()) ) {
return NULL;
}

#ifdef SDL_JOYSTICK_DINPUT
if ( SDL_SYS_IsXInputDeviceIndex(device_index) && s_pXInputMapping )
{
Expand Down Expand Up @@ -741,14 +745,16 @@ SDL_GameControllerNameForIndex(int device_index)
/*
* Return 1 if the joystick at this device index is a supported controller
*/
int SDL_IsGameController(int device_index)
SDL_bool
SDL_IsGameController(int device_index)
{
ControllerMapping_t *pSupportedController = SDL_PrivateGetControllerMapping(device_index);
if ( pSupportedController )
{
return 1;
return SDL_TRUE;
}
return 0;

return SDL_FALSE;
}

/*
Expand Down Expand Up @@ -881,11 +887,11 @@ SDL_GameControllerGetButton(SDL_GameController * gamecontroller, SDL_CONTROLLER_
* Return if the joystick in question is currently attached to the system,
* \return 0 if not plugged in, 1 if still present.
*/
int
SDL_bool
SDL_GameControllerGetAttached( SDL_GameController * gamecontroller )
{
if ( !gamecontroller )
return 0;
return SDL_FALSE;

return SDL_JoystickGetAttached(gamecontroller->joystick);
}
Expand Down

0 comments on commit 8ab0ad6

Please sign in to comment.