This commit is contained in:
Georgios Samaras
2024-12-19 16:57:25 +01:00
parent 1cb6b9117e
commit 1458e923e6
4 changed files with 553 additions and 13 deletions
+3 -13
View File
@@ -41,6 +41,7 @@ void str_print(str s);
#ifdef STR_IMPLEMENTATION
#include <stdio.h>
#include <string.h>
str make_str(uint8_t *data, size_t len) {
return (str) { .data = data, .len = len };
@@ -108,25 +109,14 @@ bool str_starts_with(str s, str prefix) {
if (prefix.len > s.len) {
return false;
}
for (size_t index = 0; index < prefix.len; ++index) {
if (s.data[index] != prefix.data[index]) {
return false;
}
}
return true;
return memcmp(s.data, prefix.data, prefix.len) == 0;
}
bool str_ends_with(str s, str suffix) {
if (suffix.len > s.len) {
return false;
}
size_t offset = s.len - suffix.len;
for (size_t index = 0; index < suffix.len; ++index) {
if (s.data[offset + index] != suffix.data[index]) {
return false;
}
}
return true;
return memcmp(s.data + s.len - suffix.len, suffix.data, suffix.len) == 0;
}
bool str_empty(str s) {