diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/strings.c | 20 | ||||
| -rw-r--r-- | src/lib/strings.h | 7 | ||||
| -rw-r--r-- | src/sys/core.c | 1 | 
3 files changed, 28 insertions, 0 deletions
| diff --git a/src/lib/strings.c b/src/lib/strings.c new file mode 100644 index 0000000..8f62391 --- /dev/null +++ b/src/lib/strings.c @@ -0,0 +1,20 @@ +#include "../lib/strings.h" + +unsigned long strlen(char* s) { +	unsigned long len = 0; +	while (s[len] != 0) { +		len += 1; +	} +	return len; +} + +unsigned char strcmp(char* a, char* b) { +	unsigned long idx = 0; +	while (a[idx] != 0 && b[idx] != 0) { +		if (a[idx] != b[idx]) { +			return 0; +		} +		idx += 1; +	} +	return a[idx] == b[idx]; +} diff --git a/src/lib/strings.h b/src/lib/strings.h new file mode 100644 index 0000000..61dd316 --- /dev/null +++ b/src/lib/strings.h @@ -0,0 +1,7 @@ +#ifndef LIB_STRINGS_H +#define LIB_STRINGS_H + +unsigned long strlen(char* s); +unsigned char strcmp(char* a, char* b); + +#endif diff --git a/src/sys/core.c b/src/sys/core.c index 3bb9651..f4b0581 100644 --- a/src/sys/core.c +++ b/src/sys/core.c @@ -1,6 +1,7 @@  #include "../drivers/uart.a.h"  #include "../drivers/uart.h"  #include "../graphics/draw.h" +#include "../lib/strings.h"  #include "../util/time.h"  #include "../util/mutex.h"  #include "../sys/core.h" | 
