diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-21 13:18:01 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2021-04-21 13:18:01 +0200 |
| commit | 2f712d027b38bebd571e4fa673f0d642b59e3c98 (patch) | |
| tree | 2dc9e1b7a2e11b0300b461ea3fc590ad52db3137 /src/libs/string.cc | |
| parent | d9443c7fdf756212bb52ffc934b1166038bc2ad3 (diff) | |
Refactoring
Diffstat (limited to 'src/libs/string.cc')
| -rw-r--r-- | src/libs/string.cc | 36 |
1 files changed, 21 insertions, 15 deletions
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<size;i++) - *c_dst=*c_src; +void memcpy(void* src, void* dst, u32 size){ + u8 *c_src=(u8*)src; + u8 *c_dst=(u8*)dst; + for(u32 i=0;i<size;i++) + *(c_dst+i)=*(c_src+i); } void itoa(u64 i, char *a){ // Check if lower than 0 - char neg=0; + u8 neg=0; if(i<0){ neg=1; i=-i; @@ -18,17 +18,17 @@ void itoa(u64 i, char *a){ } // Count number of digits - int len=1; + u32 len=1; while(i/pow(10,len)>=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 |
