This commit is contained in:
timerix 2023-06-05 13:55:00 +06:00
parent aba67710c7
commit 61da9ad161
4 changed files with 8 additions and 14 deletions

View File

@ -25,12 +25,12 @@ char* __path_concat(u32 n, ...){
// copying content of all strings to rezult
u16 k=0;
for(; k<n-1; k++){
memcopy(parts[k], totality, lengths[k]);
memcpy(totality, parts[k], lengths[k]);
totality+=lengths[k];
*totality=path_sep;
totality++;
}
memcopy(parts[k], totality, lengths[k]);
memcpy(totality, parts[k], lengths[k]);
free(parts);
free(lengths);

View File

@ -14,8 +14,7 @@ u32 cptr_length(const char* str){
char* cptr_copy(const char* src){
u32 len=cptr_length(src)+1;
char* dst=malloc(len);
while(len--!=0)
dst[len]=src[len];
memcpy(dst, src, len);
return dst;
}
@ -131,13 +130,6 @@ i32 cptr_seekCharReverse(const char* src, char fragment, u32 startIndex, u32 see
return -1;
}
void memcopy(void* from, void* to, u32 size){
if(from==NULL || to==NULL)
throw(ERR_NULLPTR);
for(u32 i=0; i<size; i++)
((char*)to)[i]=((char*)from)[i];
}
char* __cptr_concat(u32 n, ...){
char** strs=(char**)malloc(n*sizeof(char*));
u32* lengths=malloc(n*sizeof(u32));
@ -162,7 +154,7 @@ char* __cptr_concat(u32 n, ...){
// copying content of all strings to rezult
for(u16 k=0; k<n; k++){
memcopy(strs[k], totality, lengths[k]);
memcpy(totality, strs[k], lengths[k]);
totality+=lengths[k];
}

View File

@ -66,8 +66,6 @@ static inline bool cptr_contains(const char* src, const char* fragment){
return cptr_seek(src, fragment, 0, -1) +1;
}
void memcopy(void* from, void* to, u32 size);
char* __cptr_concat(u32 n, ...);
#define cptr_concat(STR...) __cptr_concat(count_args(STR), STR)

View File

@ -38,6 +38,10 @@ typedef u8 bool;
#define false 0
#endif
#ifndef memcpy
extern void* memcpy(void *dest, const void * src, size_t n);
#endif
#define dbg(N) kprintf("\e[95m%d\n",N)
#define nameof(V) #V