aboutsummaryrefslogtreecommitdiff
path: root/src/lib/strings.c
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2021-12-20 19:57:18 -0800
committerChristian Cunningham <cc@localhost>2021-12-20 19:57:18 -0800
commit5768e8059dc3b7f56361fe5b5c578294df3fdf67 (patch)
tree0f9e769c78c5a3bf874c84293c3d10e6693f3fec /src/lib/strings.c
parent234616cc369e056db7987c8217cbee77443be97d (diff)
Implemented memory functions
Diffstat (limited to 'src/lib/strings.c')
-rw-r--r--src/lib/strings.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/strings.c b/src/lib/strings.c
index 8f62391..795caa2 100644
--- a/src/lib/strings.c
+++ b/src/lib/strings.c
@@ -1,6 +1,6 @@
#include "../lib/strings.h"
-unsigned long strlen(char* s) {
+unsigned long strlen(string_t s) {
unsigned long len = 0;
while (s[len] != 0) {
len += 1;
@@ -8,7 +8,7 @@ unsigned long strlen(char* s) {
return len;
}
-unsigned char strcmp(char* a, char* b) {
+unsigned char strcmp(string_t a, string_t b) {
unsigned long idx = 0;
while (a[idx] != 0 && b[idx] != 0) {
if (a[idx] != b[idx]) {
@@ -18,3 +18,14 @@ unsigned char strcmp(char* a, char* b) {
}
return a[idx] == b[idx];
}
+
+unsigned char strcmpn(string_t a, string_t b, unsigned int n) {
+ unsigned long idx = 0;
+ while (a[idx] != 0 && b[idx] != 0 && idx+1 < n) {
+ if (a[idx] != b[idx]) {
+ return 0;
+ }
+ idx += 1;
+ }
+ return a[idx] == b[idx];
+}