From d08f2e452ef83abf9ec49a40d376a9d681070838 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 17 Jan 2020 18:21:37 +0100 Subject: move string operations from ramfs.c to strings.c --- src/arm/PL1/kernel/ramfs.c | 27 +-------------------------- src/arm/common/strings.c | 36 +++++++++++++++++++++++++++--------- src/arm/common/strings.h | 6 ++++-- 3 files changed, 32 insertions(+), 37 deletions(-) (limited to 'src') diff --git a/src/arm/PL1/kernel/ramfs.c b/src/arm/PL1/kernel/ramfs.c index cc66b4c..ed3ff73 100644 --- a/src/arm/PL1/kernel/ramfs.c +++ b/src/arm/PL1/kernel/ramfs.c @@ -3,32 +3,7 @@ #include #include "ramfs.h" - -static int strcmp(char const *str1, char const *str2) -{ - while (1) - { - int c1 = (unsigned char) *str1, c2 = (unsigned char) *str2; - - if (!c1 && !c2) - return 0; - - if (c1 != c2) - return c1 - c2; - - str1++; str2++; - } -} - -static uint32_t strlen(char const *str1) -{ - uint32_t len = 0; - - while (str1[len]) - len++; - - return len; -} +#include "strings.h" static inline char *align4(char *addr) { diff --git a/src/arm/common/strings.c b/src/arm/common/strings.c index 368d7dc..0c7a73b 100644 --- a/src/arm/common/strings.c +++ b/src/arm/common/strings.c @@ -69,15 +69,6 @@ void uint32_to_hexstringt(uint32_t number, char buf[9]) trim_0s(buf); } -size_t strlen(char string[]) -{ - size_t len; - - for (len = 0; string[len]; len++); - - return len; -} - void memcpy(void *dst, void *src, size_t nbytes) { size_t iter; @@ -117,3 +108,30 @@ char *strcat(char *dst, const char *src) return dst; } + +int strcmp(char const *str1, char const *str2) +{ + while (1) + { + int c1 = (unsigned char) *str1, c2 = (unsigned char) *str2; + + if (!c1 && !c2) + return 0; + + if (c1 != c2) + return c1 - c2; + + str1++; str2++; + } +} + +size_t strlen(char const *str1) +{ + size_t len = 0; + + while (str1[len]) + len++; + + return len; +} + diff --git a/src/arm/common/strings.h b/src/arm/common/strings.h index aff0533..67c1ab7 100644 --- a/src/arm/common/strings.h +++ b/src/arm/common/strings.h @@ -22,12 +22,14 @@ void uint32_to_decstringt(uint32_t number, char buf[11]); void uint32_to_hexstringt(uint32_t number, char buf[9]); -size_t strlen(char string[]); - void memcpy(void *dst, void *src, size_t nbytes); void *memset(void *s, int c, size_t n); char *strcat(char *dst, const char *src); +int strcmp(char const *str1, char const *str2); + +size_t strlen(char const *str1); + #endif // STRINGS_H -- cgit v1.2.3