summaryrefslogtreecommitdiff
path: root/src/string.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-05-11 22:12:08 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-05-11 22:12:08 +0200
commite382b70880fe82176a086f909a027a2f85a884b6 (patch)
treebb78d2fdf655d17de59000db7eea4c6bcad2ca29 /src/string.c
parent30596991abc9e452fbad8372f1ddcce12b87ce72 (diff)
downloadabaos-e382b70880fe82176a086f909a027a2f85a884b6.tar.gz
abaos-e382b70880fe82176a086f909a027a2f85a884b6.tar.bz2
added strlcpy (and a host test for it)
started to add I/O port code for VGA data and select ports
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c
index 6aa46ef..9be5e43 100644
--- a/src/string.c
+++ b/src/string.c
@@ -40,3 +40,33 @@ size_t strlen( const char *s )
return len;
}
+
+int strcmp( const char *s1, const char *s2 )
+{
+ while( *s1 && *s2 && *s1 == *s2 ) {
+ s1++;
+ s2++;
+ }
+
+ return *s1 - *s2;
+}
+
+size_t strlcpy( char *d, const char *s, size_t n )
+{
+ size_t len = 0;
+
+ while( len < n && s[len] ) {
+ d[len] = s[len];
+ len++;
+ }
+
+ while( s[len] ) {
+ len++;
+ }
+
+ if( len >= n ) {
+ d[n-1] = '\0';
+ }
+
+ return len;
+}