most config fixed, still need to do a bunch more testing
This commit is contained in:
parent
2b2e40921d
commit
5e6ee54473
7 changed files with 730 additions and 424 deletions
|
|
@ -14,6 +14,15 @@ void ARC_String_Create(ARC_String **string, char *data, uint64_t length){
|
|||
(*string)->data[length] = '\0';
|
||||
}
|
||||
|
||||
void ARC_String_CreateWithStrlen(ARC_String **string, char *data){
|
||||
*string = (ARC_String *)malloc(sizeof(ARC_String));
|
||||
(*string)->length = strlen(data);
|
||||
(*string)->data = (char *)malloc((*string)->length + 1);
|
||||
|
||||
strncpy((*string)->data, data, (*string)->length);
|
||||
(*string)->data[(*string)->length] = '\0';
|
||||
}
|
||||
|
||||
void ARC_String_Destroy(ARC_String *string){
|
||||
free(string->data);
|
||||
free(string);
|
||||
|
|
@ -108,13 +117,18 @@ uint8_t ARC_String_Alpha(ARC_String *string){
|
|||
}
|
||||
|
||||
uint64_t ARC_String_ToUint64_t(ARC_String *string){
|
||||
char temp[string->length + 1];
|
||||
strncpy(temp, string->data, string->length);
|
||||
temp[string->length] = '\0';
|
||||
|
||||
return (uint64_t) strtoul(temp, NULL, 10);
|
||||
return (uint64_t) strtoul(string->data, NULL, 10);
|
||||
}
|
||||
|
||||
int64_t ARC_String_ToInt64_t(ARC_String *string){
|
||||
return (int64_t) strtol(string->data, NULL, 10);
|
||||
}
|
||||
|
||||
double ARC_String_ToDouble(ARC_String *string){
|
||||
return strtod(string->data, NULL);
|
||||
}
|
||||
|
||||
|
||||
uint64_t ARC_String_Find(ARC_String *string, ARC_String *substring){
|
||||
if(!string || !substring){
|
||||
arc_errno = ARC_ERRNO_NULL;
|
||||
|
|
@ -128,7 +142,7 @@ uint64_t ARC_String_Find(ARC_String *string, ARC_String *substring){
|
|||
uint64_t max = string->length - (substring->length - 1);
|
||||
for(uint64_t i = 0; max; i++, max--){
|
||||
if(!strncmp(string->data + i, substring->data, substring->length)){
|
||||
return i + 1;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue