added more cstring find and equals functions

This commit is contained in:
herbglitch 2024-06-12 02:54:54 -06:00
parent d173f943ee
commit 4d7ba1cf4e
2 changed files with 53 additions and 3 deletions

View file

@ -24,7 +24,9 @@ void ARC_String_CreateWithStrlen(ARC_String **string, char *data){
}
void ARC_String_Destroy(ARC_String *string){
free(string->data);
if(string->data){
free(string->data);
}
free(string);
}
@ -100,6 +102,10 @@ uint8_t ARC_String_EqualsCString(ARC_String *string, const char *cstring, uint64
return 1;
}
uint8_t ARC_String_EqualsCStringWithStrlen(ARC_String *string, const char *cstring){
return ARC_String_EqualsCString(string, cstring, strlen(cstring));
}
uint8_t ARC_String_SubstringEqualsCString(ARC_String *string, uint64_t offset, const char *cstring, uint64_t length){
if(string->length - offset < length){
return 0;
@ -183,6 +189,10 @@ uint64_t ARC_String_FindCString(ARC_String *string, const char *cstring, uint64_
return ~(uint64_t)0;
}
uint64_t ARC_String_FindCStringWithStrlen(ARC_String *string, const char *cstring){
return ARC_String_FindCString(string, cstring, strlen(cstring));
}
uint64_t ARC_String_FindBack(ARC_String *string, ARC_String *substring){
if(!string || !substring){
arc_errno = ARC_ERRNO_NULL;
@ -225,6 +235,10 @@ uint64_t ARC_String_FindBackCString(ARC_String *string, const char *cstring, uin
return ~(uint64_t)0;
}
uint64_t ARC_String_FindBackCStringWithStrlen(ARC_String *string, const char *cstring){
return ARC_String_FindBackCString(string, cstring, strlen(cstring));
}
void ARC_String_StripEnds(ARC_String **stripped, ARC_String *original, char charToStrip){
if(!original){
arc_errno = ARC_ERRNO_NULL;