added a few functions to string and added some logs to string
This commit is contained in:
parent
eaef5a584b
commit
d64340525a
2 changed files with 27 additions and 0 deletions
|
|
@ -87,6 +87,18 @@ uint8_t ARC_String_Equals(ARC_String *first, ARC_String *second);
|
||||||
*/
|
*/
|
||||||
uint8_t ARC_String_EqualsCString(ARC_String *string, const char *cstring, uint64_t length);
|
uint8_t ARC_String_EqualsCString(ARC_String *string, const char *cstring, uint64_t length);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief check if ARC_String and cstring match
|
||||||
|
*
|
||||||
|
* @param string ARC_string to check
|
||||||
|
* @param offset postion based on string to start comparing against cstring
|
||||||
|
* @param cstring cstring to check
|
||||||
|
* @param length length of cstring
|
||||||
|
*
|
||||||
|
* @return 1 if match, 0 if they don't match
|
||||||
|
*/
|
||||||
|
uint8_t ARC_String_SubstringEqualsCString(ARC_String *string, uint64_t offset, const char *cstring, uint64_t length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief checks if string is alphabetic
|
* @brief checks if string is alphabetic
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,18 @@ uint8_t ARC_String_EqualsCString(ARC_String *string, const char *cstring, uint64
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t ARC_String_SubstringEqualsCString(ARC_String *string, uint64_t offset, const char *cstring, uint64_t length){
|
||||||
|
if(string->length - offset < length){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strncmp(string->data + offset, cstring, length)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t ARC_String_Alpha(ARC_String *string){
|
uint8_t ARC_String_Alpha(ARC_String *string){
|
||||||
for(uint64_t length = string->length; length; length--){
|
for(uint64_t length = string->length; length; length--){
|
||||||
if(string->data[length - 1] >= 'a' && string->data[length - 1] <= 'z'){
|
if(string->data[length - 1] >= 'a' && string->data[length - 1] <= 'z'){
|
||||||
|
|
@ -131,6 +143,7 @@ double ARC_String_ToDouble(ARC_String *string){
|
||||||
|
|
||||||
uint64_t ARC_String_Find(ARC_String *string, ARC_String *substring){
|
uint64_t ARC_String_Find(ARC_String *string, ARC_String *substring){
|
||||||
if(!string || !substring){
|
if(!string || !substring){
|
||||||
|
ARC_DEBUG_ERR("ARC_String_Find(string, substring), string or substring was null");
|
||||||
arc_errno = ARC_ERRNO_NULL;
|
arc_errno = ARC_ERRNO_NULL;
|
||||||
return ~(uint64_t)0;
|
return ~(uint64_t)0;
|
||||||
}
|
}
|
||||||
|
|
@ -152,6 +165,7 @@ uint64_t ARC_String_Find(ARC_String *string, ARC_String *substring){
|
||||||
uint64_t ARC_String_FindCString(ARC_String *string, const char *cstring, uint64_t length){
|
uint64_t ARC_String_FindCString(ARC_String *string, const char *cstring, uint64_t length){
|
||||||
if(!string || !cstring){
|
if(!string || !cstring){
|
||||||
arc_errno = ARC_ERRNO_NULL;
|
arc_errno = ARC_ERRNO_NULL;
|
||||||
|
ARC_DEBUG_ERR("ARC_String_FindCString(string, cstring, length), string or cstring was null");
|
||||||
return ~(uint64_t)0;
|
return ~(uint64_t)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,6 +186,7 @@ uint64_t ARC_String_FindCString(ARC_String *string, const char *cstring, uint64_
|
||||||
uint64_t ARC_String_FindBack(ARC_String *string, ARC_String *substring){
|
uint64_t ARC_String_FindBack(ARC_String *string, ARC_String *substring){
|
||||||
if(!string || !substring){
|
if(!string || !substring){
|
||||||
arc_errno = ARC_ERRNO_NULL;
|
arc_errno = ARC_ERRNO_NULL;
|
||||||
|
ARC_DEBUG_ERR("ARC_String_FindBack(string, substring), string or substring was null");
|
||||||
return ~(uint64_t)0;
|
return ~(uint64_t)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue