diff options
Diffstat (limited to 'usr')
| -rw-r--r-- | usr/sdk/common/string/strcmp.c | 19 | ||||
| -rw-r--r-- | usr/sdk/inc/sdk/string.h | 11 |
2 files changed, 30 insertions, 0 deletions
diff --git a/usr/sdk/common/string/strcmp.c b/usr/sdk/common/string/strcmp.c new file mode 100644 index 0000000..cb47cfb --- /dev/null +++ b/usr/sdk/common/string/strcmp.c @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2025, Ian Moffett. + * Provided under the BSD-3 clause. + */ + +#include <sdk/string.h> +#include <sdk/types.h> + +int +strcmp(const char *s1, const char *s2) +{ + while (*s1 == *s2++) { + if (*s1++ == 0) { + return (0); + } + } + + return (*(UBYTE *)s1 - *(UBYTE *)--s2); +} diff --git a/usr/sdk/inc/sdk/string.h b/usr/sdk/inc/sdk/string.h index 965f66a..9e648d9 100644 --- a/usr/sdk/inc/sdk/string.h +++ b/usr/sdk/inc/sdk/string.h @@ -29,6 +29,17 @@ USIZE strlen(const char *str); void *memcpy(void *dest, const void *src, USIZE count); /* + * Compare two strings to see if they are equal. + * + * @s1: First string + * @s2: Second string + * + * Returns the differences between the two string, zero if + * equal. + */ +int strcmp(const char *s1, const char *s2); + +/* * Convert a given value into a string based on a * specific radix/base * |
