Browse Source

public: Q_strstr should return pointer to non-const data

pull/911/head
Alibek Omarov 1 month ago
parent
commit
fb43a5590f
  1. 4
      public/crtlib.c
  2. 10
      public/crtlib.h

4
public/crtlib.c

@ -409,7 +409,7 @@ const char* Q_timestamp( int format )
}
#if !defined( HAVE_STRCASESTR )
const char *Q_stristr( const char *string, const char *string2 )
char *Q_stristr( const char *string, const char *string2 )
{
int c;
size_t len;
@ -431,7 +431,7 @@ const char *Q_stristr( const char *string, const char *string2 )
}
else return NULL;
}
return string;
return (char *)string;
}
#endif // !defined( HAVE_STRCASESTR )

10
public/crtlib.h

@ -105,9 +105,9 @@ static inline int Q_strncmp( const char *s1, const char *s2, size_t n )
( unlikely(!s2) ? 1 : strncmp( s1, s2, n ));
}
static inline const char *Q_strstr( const char *s1, const char *s2 )
static inline char *Q_strstr( const char *s1, const char *s2 )
{
return unlikely( !s1 || !s2 ) ? NULL : strstr( s1, s2 );
return unlikely( !s1 || !s2 ) ? NULL : (char*)strstr( s1, s2 );
}
// libc extensions, be careful
@ -135,12 +135,12 @@ static inline int Q_strnicmp( const char *s1, const char *s2, size_t n )
#if XASH_WIN32
#define strcasestr stristr
#endif
static inline const char *Q_stristr( const char *s1, const char *s2 )
static inline char *Q_stristr( const char *s1, const char *s2 )
{
return unlikely( !s1 || !s2 ) ? NULL : strcasestr( s1, s2 );
return unlikely( !s1 || !s2 ) ? NULL : (char *)strcasestr( s1, s2 );
}
#else // defined( HAVE_STRCASESTR )
const char *Q_stristr( const char *s1, const char *s2 );
char *Q_stristr( const char *s1, const char *s2 );
#endif // defined( HAVE_STRCASESTR )

Loading…
Cancel
Save