diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/string.h | 56 | ||||
-rw-r--r-- | include/wchar.h | 56 |
2 files changed, 112 insertions, 0 deletions
diff --git a/include/string.h b/include/string.h index b851a76..08777be 100644 --- a/include/string.h +++ b/include/string.h @@ -969,6 +969,62 @@ char* rawstrcasestr(const char*, const char*) */ void* memcasemem(const void*, size_t, const void*, size_t) __GCC_ONLY(__attribute__((warn_unused_result, pure))); + +/** + * Check whether a string starts with a specific string. + * This check is case sensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired beginning of the string. + * @return `string` if `string` begins with + * `desired`, `NULL` otherwise. + */ +char* strstarts(const char*, const char*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string ends with a specific string. + * This check is case sensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired ending of the string. + * @return The `string`, where `desired` beings if + * `string` ends with `desired`, `NULL` otherwise. + */ +char* strends(const char*, const char*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string starts with a specific string. + * This check is case insensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired beginning of the string. + * @return `string` if `string` begins with + * `desired`, `NULL` otherwise. + */ +char* strcasestarts(const char*, const char*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string ends with a specific string. + * This check is case insensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired ending of the string. + * @return The `string`, where `desired` beings if + * `string` ends with `desired`, `NULL` otherwise. + */ +char* strcaseends(const char*, const char*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); #endif #if (defined(_GNU_SOURCE) || defined(_SLIBC_SOURCE)) && !defined(__PORTABLE) diff --git a/include/wchar.h b/include/wchar.h index 9b57a7e..e9d2daa 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -942,6 +942,62 @@ wchar_t* rawwcscasestr(const wchar_t*, const wchar_t*) */ wchar_t* wmemcasemem(const wchar_t*, size_t, const wchar_t*, size_t) __GCC_ONLY(__attribute__((warn_unused_result, pure))); + +/** + * Check whether a string starts with a specific string. + * This check is case sensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired beginning of the string. + * @return `string` if `string` begins with + * `desired`, `NULL` otherwise. + */ +wchar_t* wcsstarts(const wchar_t*, const wchar_t*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string ends with a specific string. + * This check is case sensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired ending of the string. + * @return The `string`, where `desired` beings if + * `string` ends with `desired`, `NULL` otherwise. + */ +wchar_t* wcsends(const wchar_t*, const wchar_t*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string starts with a specific string. + * This check is case insensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired beginning of the string. + * @return `string` if `string` begins with + * `desired`, `NULL` otherwise. + */ +wchar_t* wcscasestarts(const wchar_t*, const wchar_t*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); + +/** + * Check whether a string ends with a specific string. + * This check is case insensitive. + * + * This is a slibc extension. + * + * @param string The string to inspect. + * @param desired The desired ending of the string. + * @return The `string`, where `desired` beings if + * `string` ends with `desired`, `NULL` otherwise. + */ +wchar_t* wcscaseends(const wchar_t*, const wchar_t*) + __GCC_ONLY(__attribute__((warn_unused_result, nonnull, pure))); #endif #if (defined(_GNU_SOURCE) || defined(_SLIBC_SOURCE)) && !defined(__PORTABLE) |