aboutsummaryrefslogtreecommitdiffstats
path: root/src/string/strstr.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/string/strstr.c233
1 files changed, 0 insertions, 233 deletions
diff --git a/src/string/strstr.c b/src/string/strstr.c
index f396570..dadbc73 100644
--- a/src/string/strstr.c
+++ b/src/string/strstr.c
@@ -16,13 +16,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <string.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <alloca.h>
-#include <ctype.h>
-
-
-# pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
@@ -42,229 +35,3 @@ char* (strstr)(const char* haystack, const char* needle)
return (memmem)(haystack, strlen(haystack), needle, strlen(needle));
}
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case insensitive.
- *
- * @param haystack The string to search.
- * @param needle The sought after substring.
- * @return Pointer to the first occurrence of the
- * substring, `NULL` if not found.
- */
-char* (strcasestr)(const char* haystack, const char* needle)
-{
- return (memcasemem)(haystack, strlen(haystack), needle, strlen(needle));
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case sensitive.
- *
- * This is a slibc extension added for because it was useful
- * in implementing slibc itself.
- *
- * @param haystack The string to search.
- * @param needle The sought after substring.
- * @param maxlen The maximum number of character to search.
- * @return Pointer to the first occurrence of the
- * substring, `NULL` if not found.
- */
-char* (strnstr)(const char* haystack, const char* needle, size_t maxlen)
-{
- return (memmem)(haystack, strnlen(haystack, maxlen), needle, strlen(needle));
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case insensitive.
- *
- * This is a slibc extension added for completeness.
- *
- * @param haystack The string to search.
- * @param needle The sought after substring.
- * @param maxlen The maximum number of character to search.
- * @return Pointer to the first occurrence of the
- * substring, `NULL` if not found.
- */
-char* (strncasestr)(const char* haystack, const char* needle, size_t maxlen)
-{
- return (memcasemem)(haystack, strnlen(haystack, maxlen), needle, strlen(needle));
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case sensitive.
- * It must already be known that such a substring exists.
- *
- * This is a slibc extension.
- *
- * @param haystack The string to search.
- * @param needle The sought after substring.
- * @return Pointer to the first occurrence of the substring.
- */
-char* (rawstrstr)(const char* haystack, const char* needle)
-{
- return (memmem)(haystack, SIZE_MAX, needle, strlen(needle));
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case insensitive.
- * It must already be known that such a substring exists.
- *
- * This is a slibc extension.
- *
- * @param haystack The string to search.
- * @param needle The sought after substring.
- * @return Pointer to the first occurrence of the substring.
- */
-char* (rawstrcasestr)(const char* haystack, const char* needle)
-{
- return (memcasemem)(haystack, SIZE_MAX, needle, strlen(needle));
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case sensitive.
- *
- * This is a GNU-compliant slibc extension. It was useful
- * in implementing slibc itself.
- *
- * @param haystack The string to search.
- * @param haystack_length The number of character to search.
- * @param needle The sought after substring.
- * @param needle_length The length of `needle`.
- * @return Pointer to the first occurrence of
- * the substring, `NULL` if not found.
- */
-void* (memmem)(const void* __haystack, size_t haystack_length,
- const void* __needle, size_t needle_length)
-{
- const char* haystack = __haystack;
- const char* needle = __needle;
- if (haystack_length < needle_length)
- return NULL;
- if (haystack_length == needle_length)
- return !(memcmp)(haystack, needle, haystack_length) ? haystack : NULL;
-#include "substring.h"
-}
-
-
-/**
- * Finds the first occurrence of a substring.
- * This search is case insensitive.
- *
- * This is a slibc extension added because it was useful
- * in implementing slibc itself.
- *
- * @param haystack The string to search.
- * @param haystack_length The number of character to search.
- * @param needle The sought after substring.
- * @param needle_length The length of `needle`.
- * @return Pointer to the first occurrence of
- * the substring, `NULL` if not found.
- */
-void* (memcasemem)(const void* __haystack, size_t haystack_length,
- const void* __needle, size_t needle_length)
-{
- const char* haystack = __haystack;
- const char* needle = __needle;
- if (haystack_length < needle_length)
- return NULL;
- if (haystack_length == needle_length)
- return !(memcasecmp)(haystack, needle, haystack_length) ? haystack : NULL;
-#define CASE
-#include "substring.h"
-#undef CASE
-}
-
-
-/**
- * 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* string, const char* desired)
-{
- size_t n = strlen(string);
- size_t m = strlen(desired);
- if (n < m)
- return NULL;
- return (memcmp)(string, desired, m) ? NULL : string;
-}
-
-
-/**
- * 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* string, const char* desired)
-{
- size_t n = strlen(string);
- size_t m = strlen(desired);
- if (n < m)
- return NULL;
- return (memcmp)(string + (n - m), desired, m) ? NULL : (string + n);
-}
-
-
-/**
- * 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* string, const char* desired)
-{
- size_t n = strlen(string);
- size_t m = strlen(desired);
- if (n < m)
- return NULL;
- return (memcasecmp)(string, desired, m) ? NULL : string;
-}
-
-
-/**
- * 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* string, const char* desired)
-{
- size_t n = strlen(string);
- size_t m = strlen(desired);
- if (n < m)
- return NULL;
- return (memcasecmp)(string + (n - m), desired, m) ? NULL : (string + n);
-}
-