diff --git a/core/src/level.c b/core/src/level.c index 83a20bb..30d0798 100644 --- a/core/src/level.c +++ b/core/src/level.c @@ -98,18 +98,7 @@ Variant get_value(FILE* fp, char* buffer, size_t buffer_size, int* out_end_of_ob } while(strcount(buffer, buffer+length, '(') != strcount(buffer, buffer+length, ')') && !(*out_end_of_object)); length--; buffer[length] = '\0'; - if(isdigit(buffer[0])) { - return NumberVariant(atof(buffer)); - } else if(buffer[0] == '"') { - size_t result_length = strfirst(buffer+1, buffer+length, '"'); - char* string = malloc(result_length); - strncpy(string, buffer+1, result_length-1); - string[result_length] = '\0'; - return StringVariant(string, result_length); - } else if(strncmp(buffer, "Vector(", 7) == 0) { - size_t comma_index = strfirst(buffer + 7, buffer + length, ','); - } - return UndefinedVariant(); + return variant_from_str(buffer); } static inline