DEF: added lwip_strnistr() for case insensitive matching

This commit is contained in:
Jasper Verschueren 2018-12-04 14:52:22 +01:00 committed by Simon Goldschmidt
parent dcb29c591f
commit 75f33081c2
2 changed files with 27 additions and 0 deletions

View File

@ -118,6 +118,29 @@ lwip_strnstr(const char *buffer, const char *token, size_t n)
}
#endif
#ifndef lwip_strnistr
/**
* @ingroup sys_nonstandard
* lwIP default implementation for strnistr() non-standard function.
* This can be \#defined to strnistr() depending on your platform port.
*/
char *
lwip_strnistr(const char *buffer, const char *token, size_t n)
{
const char *p;
size_t tokenlen = strlen(token);
if (tokenlen == 0) {
return LWIP_CONST_CAST(char *, buffer);
}
for (p = buffer; *p && (p + tokenlen <= buffer + n); p++) {
if (lwip_strnicmp(p, token, tokenlen) == 0) {
return LWIP_CONST_CAST(char *, p);
}
}
return NULL;
}
#endif
#ifndef lwip_stricmp
/**
* @ingroup sys_nonstandard

View File

@ -144,6 +144,10 @@ int lwip_stricmp(const char* str1, const char* str2);
/* This can be #defined to strnstr() depending on your platform */
char* lwip_strnstr(const char* buffer, const char* token, size_t n);
#endif
#ifndef lwip_strnistr
/* This can be #defined to strnistr() depending on your platform */
char* lwip_strnistr(const char* buffer, const char* token, size_t n);
#endif
#ifdef __cplusplus
}