diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-05-11 22:12:08 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-05-11 22:12:08 +0200 |
commit | e382b70880fe82176a086f909a027a2f85a884b6 (patch) | |
tree | bb78d2fdf655d17de59000db7eea4c6bcad2ca29 /src/string.c | |
parent | 30596991abc9e452fbad8372f1ddcce12b87ce72 (diff) | |
download | abaos-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.c | 30 |
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; +} |