aboutsummaryrefslogtreecommitdiff
path: root/src/utils/string.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-31 00:57:45 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-05-31 00:57:45 +0330
commitb89fc3da7d9f1badde2f4879924b5df5522da203 (patch)
tree1d081ff63564fd2b7c42a374ef62d432761c4124 /src/utils/string.c
parentc91d3a8893b9c53c5c8e4c5cff72d7caf44cfee4 (diff)
add ability to specify int type as extension
Diffstat (limited to 'src/utils/string.c')
-rw-r--r--src/utils/string.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/utils/string.c b/src/utils/string.c
index 1932d89..28c1600 100644
--- a/src/utils/string.c
+++ b/src/utils/string.c
@@ -1,5 +1,6 @@
#include "string.h"
#include "memory.h"
+#include "utils/log.h"
#include "utils/type.h"
size_t strLength(const char *str) {
@@ -28,6 +29,16 @@ bool strnEquals(const char *left, const char *right, size_t len) {
return true;
}
+bool strnEqualsCaseInsensitive(const char *left, const char *right,
+ size_t len) {
+ for (size_t i = 0; i < len; ++i) {
+ if (!charEqualsCaseInsensitive(left[i], right[i])) {
+ return false;
+ }
+ }
+ return true;
+}
+
size_t searchInStringArray(const char *array[], size_t array_size,
const char *str, size_t str_size) {
for (size_t i = 0; i < array_size; ++i) {
@@ -143,3 +154,9 @@ char *strClone(const char *str) {
}
return result;
}
+
+bool charEqualsCaseInsensitive(char left, char right) {
+ return left == right ||
+ ('A' <= right && right <= 'Z' && left == right + ('a' - 'A')) ||
+ ('A' <= left && left <= 'Z' && right == left + ('a' - 'A'));
+}