summaryrefslogtreecommitdiff
path: root/xxx/lib/string
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2015-05-17 20:40:29 +0200
committerMichal Idziorek <m.i@gmx.at>2015-05-17 20:40:29 +0200
commit042e25e19b5fc0cec1d47440c26246c886cf39f6 (patch)
tree9f3e49ccae2ec8a48fdb34d264da3adef06f64bf /xxx/lib/string
parentd98828d08eb1f6c1394f38a1df69c73fef0cfefa (diff)
started big cleanup!
Diffstat (limited to 'xxx/lib/string')
-rw-r--r--xxx/lib/string/string.c37
-rw-r--r--xxx/lib/string/string.h3
2 files changed, 40 insertions, 0 deletions
diff --git a/xxx/lib/string/string.c b/xxx/lib/string/string.c
new file mode 100644
index 0000000..729c509
--- /dev/null
+++ b/xxx/lib/string/string.c
@@ -0,0 +1,37 @@
+#include <stdbool.h>
+
+//length 0 for null terminated strings;
+bool strcmp(char *str1, char *str2, int length)
+{
+ int i=0;
+ while(true)
+ {
+ if(str1[i]!=str2[i])return false;
+ i++;
+
+ if(i==length) return true;
+ if(str1[i]==0||str2[i]==0)
+ {
+ if(str1[i]==str2[i])return true;
+ return false;
+ }
+ }
+
+}
+
+void* memcpy(void* restrict dstptr, const void* restrict srcptr, int size)
+{
+ unsigned char* dst = (unsigned char*) dstptr;
+ const unsigned char* src = (const unsigned char*) srcptr;
+ for ( int i = 0; i < size; i++ )
+ dst[i] = src[i];
+ return dstptr;
+}
+
+int strlen(const char* string)
+{
+ int result = 0;
+ while ( string[result] )
+ result++;
+ return result;
+}
diff --git a/xxx/lib/string/string.h b/xxx/lib/string/string.h
new file mode 100644
index 0000000..a804de9
--- /dev/null
+++ b/xxx/lib/string/string.h
@@ -0,0 +1,3 @@
+#include <stdbool.h>
+bool strcmp(char *str1, char *str2, int length);
+void* memcpy(void* restrict dstptr, const void* restrict srcptr, int size);