From 2f712d027b38bebd571e4fa673f0d642b59e3c98 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Wed, 21 Apr 2021 13:18:01 +0200 Subject: Refactoring --- src/libs/string.cc | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'src/libs/string.cc') diff --git a/src/libs/string.cc b/src/libs/string.cc index f8ae3ca..73c3318 100644 --- a/src/libs/string.cc +++ b/src/libs/string.cc @@ -1,16 +1,16 @@ #include "string.hpp" #include "math.hpp" -void memcpy(void* src, void* dst, int size){ - char *c_src=(char*)src; - char *c_dst=(char*)dst; - for(int i=0;i=1) { len++; } // Build string - int max_pow=len-1; - for(int j=0;j<=max_pow;j++){ - int cur_pow=pow(10,max_pow-j); - char digit=i/cur_pow; + u32 max_pow=len-1; + for(u32 j=0;j<=max_pow;j++){ + u32 cur_pow=pow(10,max_pow-j); + u8 digit=i/cur_pow; a[j+neg]='0'+digit; i=i-digit*cur_pow; // Remove first digits (most significant) } @@ -45,7 +45,7 @@ void itoh(u64 i, char *a){ u32 i_a=i&0xFFFFFFFF; u32 i_b=i>>32; - for(char j=0;j<8;j++){ + for(u8 j=0;j<8;j++){ u64 t=(j*4); u64 mask=0xF; mask=mask << t; @@ -53,7 +53,7 @@ void itoh(u64 i, char *a){ a[15-j]=hex[index]; } - for(char j=0;j<8;j++){ + for(u8 j=0;j<8;j++){ u64 t=(j*4); u64 mask=0xF; mask=mask << t; @@ -63,9 +63,15 @@ void itoh(u64 i, char *a){ a[16]='\0'; } -int strlen(char *s){ - int i=0; +u32 strlen(char *s){ + u32 i=0; while(s[i]!='\0') i++; return i; +} + +void substr(u32 s, u32 e, char *src, char *dst){ + u32 size=abs(e-s)+1; + memcpy(src+s, dst, size); + dst[size]='\0'; } \ No newline at end of file -- cgit v1.2.3