mirror of https://github.com/encounter/SDL.git
Added SDL_strcasestr() for a case insensitive version of SDL_strstr()
This commit is contained in:
parent
a4626dea8d
commit
297ecb706d
|
@ -583,6 +583,7 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
||||||
|
extern DECLSPEC char *SDLCALL SDL_strcasestr(const char *haystack, const char *needle);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr);
|
extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr);
|
||||||
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
||||||
extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes);
|
extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes);
|
||||||
|
|
|
@ -866,3 +866,4 @@
|
||||||
++'_SDL_GameControllerGetSensorDataWithTimestamp'.'SDL2.dll'.'SDL_GameControllerGetSensorDataWithTimestamp'
|
++'_SDL_GameControllerGetSensorDataWithTimestamp'.'SDL2.dll'.'SDL_GameControllerGetSensorDataWithTimestamp'
|
||||||
++'_SDL_SensorGetDataWithTimestamp'.'SDL2.dll'.'SDL_SensorGetDataWithTimestamp'
|
++'_SDL_SensorGetDataWithTimestamp'.'SDL2.dll'.'SDL_SensorGetDataWithTimestamp'
|
||||||
++'_SDL_ResetHints'.'SDL2.dll'.'SDL_ResetHints'
|
++'_SDL_ResetHints'.'SDL2.dll'.'SDL_ResetHints'
|
||||||
|
++'_SDL_strcasestr'.'SDL2.dll'.'SDL_strcasestr'
|
||||||
|
|
|
@ -892,3 +892,4 @@
|
||||||
#define SDL_GameControllerGetSensorDataWithTimestamp SDL_GameControllerGetSensorDataWithTimestamp_REAL
|
#define SDL_GameControllerGetSensorDataWithTimestamp SDL_GameControllerGetSensorDataWithTimestamp_REAL
|
||||||
#define SDL_SensorGetDataWithTimestamp SDL_SensorGetDataWithTimestamp_REAL
|
#define SDL_SensorGetDataWithTimestamp SDL_SensorGetDataWithTimestamp_REAL
|
||||||
#define SDL_ResetHints SDL_ResetHints_REAL
|
#define SDL_ResetHints SDL_ResetHints_REAL
|
||||||
|
#define SDL_strcasestr SDL_strcasestr_REAL
|
||||||
|
|
|
@ -975,3 +975,4 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_HasPrimarySelectionText,(void),(),return)
|
||||||
SDL_DYNAPI_PROC(int,SDL_GameControllerGetSensorDataWithTimestamp,(SDL_GameController *a, SDL_SensorType b, Uint64 *c, float *d, int e),(a,b,c,d,e),return)
|
SDL_DYNAPI_PROC(int,SDL_GameControllerGetSensorDataWithTimestamp,(SDL_GameController *a, SDL_SensorType b, Uint64 *c, float *d, int e),(a,b,c,d,e),return)
|
||||||
SDL_DYNAPI_PROC(int,SDL_SensorGetDataWithTimestamp,(SDL_Sensor *a, Uint64 *b, float *c, int d),(a,b,c,d),return)
|
SDL_DYNAPI_PROC(int,SDL_SensorGetDataWithTimestamp,(SDL_Sensor *a, Uint64 *b, float *c, int d),(a,b,c,d),return)
|
||||||
SDL_DYNAPI_PROC(void,SDL_ResetHints,(void),(),)
|
SDL_DYNAPI_PROC(void,SDL_ResetHints,(void),(),)
|
||||||
|
SDL_DYNAPI_PROC(char*,SDL_strcasestr,(const char *a, const char *b),(a,b),return)
|
||||||
|
|
|
@ -761,6 +761,23 @@ SDL_strstr(const char *haystack, const char *needle)
|
||||||
#endif /* HAVE_STRSTR */
|
#endif /* HAVE_STRSTR */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
SDL_strcasestr(const char *haystack, const char *needle)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_STRCASESTR)
|
||||||
|
return SDL_const_cast(char*,strcasestr(haystack, needle));
|
||||||
|
#else
|
||||||
|
size_t length = SDL_strlen(needle);
|
||||||
|
while (*haystack) {
|
||||||
|
if (SDL_strncasecmp(haystack, needle, length) == 0) {
|
||||||
|
return (char *) haystack;
|
||||||
|
}
|
||||||
|
++haystack;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
#endif /* HAVE_STRCASESTR */
|
||||||
|
}
|
||||||
|
|
||||||
#if !defined(HAVE__LTOA) || !defined(HAVE__I64TOA) || \
|
#if !defined(HAVE__LTOA) || !defined(HAVE__I64TOA) || \
|
||||||
!defined(HAVE__ULTOA) || !defined(HAVE__UI64TOA)
|
!defined(HAVE__ULTOA) || !defined(HAVE__UI64TOA)
|
||||||
static const char ntoa_table[] = {
|
static const char ntoa_table[] = {
|
||||||
|
|
Loading…
Reference in New Issue