new cptr functions
This commit is contained in:
parent
a7de63bb9d
commit
f32306a6d5
@ -1,4 +1,5 @@
|
|||||||
#include "base.h"
|
#include "base.h"
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
// returns length of char buffer (without \0)
|
// returns length of char buffer (without \0)
|
||||||
u32 cptr_length(char* str){
|
u32 cptr_length(char* str){
|
||||||
@ -72,7 +73,7 @@ u32 cptr_indexOfChar(char* ptr, char fragment){
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
u32 cptr_lastIndexOf(char* ptr, char* fragment){
|
u32 cptr_lastIndexOf(char* ptr, char* fragment){
|
||||||
char sc=*ptr;
|
char sc;
|
||||||
u32 fi_last=cptr_length(fragment)-1;
|
u32 fi_last=cptr_length(fragment)-1;
|
||||||
for(i32 si=cptr_length(ptr)-1, fi=fi_last; si>=0; si--){
|
for(i32 si=cptr_length(ptr)-1, fi=fi_last; si>=0; si--){
|
||||||
sc=ptr[si];
|
sc=ptr[si];
|
||||||
@ -86,7 +87,7 @@ u32 cptr_lastIndexOf(char* ptr, char* fragment){
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
u32 cptr_lastIndexOfChar(char* ptr, char fragment){
|
u32 cptr_lastIndexOfChar(char* ptr, char fragment){
|
||||||
char sc=*ptr;
|
char sc;
|
||||||
for(i32 si=cptr_length(ptr)-1; si>=0; si--){
|
for(i32 si=cptr_length(ptr)-1; si>=0; si--){
|
||||||
sc=ptr[si];
|
sc=ptr[si];
|
||||||
if(sc==fragment){
|
if(sc==fragment){
|
||||||
@ -135,3 +136,21 @@ char* __cptr_concat(u32 n, ...){
|
|||||||
free(lengths);
|
free(lengths);
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* cptr_toLower(char* src) {
|
||||||
|
u32 length=cptr_length(src);
|
||||||
|
char *p=malloc(length+1);
|
||||||
|
p[length]=0;
|
||||||
|
for(u32 i=0; i<length; i++)
|
||||||
|
p[i]=tolower(src[i]);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
char* cptr_toUpper(char* src) {
|
||||||
|
u32 length=cptr_length(src);
|
||||||
|
char *p=malloc(length+1);
|
||||||
|
p[length]=0;
|
||||||
|
for(u32 i=0; i<length; i++)
|
||||||
|
p[i]=toupper(src[i]);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|||||||
@ -47,6 +47,9 @@ void memcopy(void* from, void* to, u32 size);
|
|||||||
char* __cptr_concat(u32 n, ...);
|
char* __cptr_concat(u32 n, ...);
|
||||||
#define cptr_concat(STR...) __cptr_concat(count_args(STR), STR)
|
#define cptr_concat(STR...) __cptr_concat(count_args(STR), STR)
|
||||||
|
|
||||||
|
char* cptr_toLower(char* src);
|
||||||
|
char* cptr_toUpper(char* src);
|
||||||
|
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Loading…
Reference in New Issue
Block a user