day 19
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user