From 13a7c902c051fa8da1e476687c17bb5431d258e1 Mon Sep 17 00:00:00 2001 From: sanine Date: Tue, 3 Jan 2023 23:31:48 -0600 Subject: add kai_expand_array --- src/geometry/geometry.c | 71 ------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 src/geometry/geometry.c (limited to 'src/geometry/geometry.c') diff --git a/src/geometry/geometry.c b/src/geometry/geometry.c deleted file mode 100644 index be9ce25..0000000 --- a/src/geometry/geometry.c +++ /dev/null @@ -1,71 +0,0 @@ -#include -#include - -#include -#include -#include "geometry.h" - - -static int copy_str(char **dest, const char *src) -{ - if (src == NULL) { - *dest = NULL; - return 0; - } - - size_t len = strlen(src)+1; - *dest = malloc(len * sizeof(char)); - if (*dest == NULL) - return -1; - strncpy(*dest, src, len); - return 0; -} - - -ka_float_array_t * kai_parse_float_array(ezxml_t tag) -{ - if (strcmp(ezxml_name(tag), "float_array") != 0) { - /* wrong tag type */ - return NULL; - } - - /* allocate struct */ - ka_float_array_t *a = malloc(sizeof(ka_float_array_t)); - if (a == NULL) return NULL; - - /* inspect attributes */ - const char *count_str = ezxml_attr(tag, "count"); - a->count = strtol(count_str, NULL, 10); - - const char *id_str = ezxml_attr(tag, "id"); - if (copy_str(&(a->id), id_str) < 0) { - free(a); - return NULL; - } - - /* parse data */ - a->array = malloc(a->count * sizeof(ka_real_t)); - if (a->array == NULL) { - free(a->id); - free(a); - return NULL; - } - - char *data = ezxml_txt(tag); - char *end; - int i; - for (i=0; icount; i++) { - a->array[i] = KA_STR_TO_REAL(data, &end); - data = end; - } - - return a; -} - - -void kai_free_float_array(ka_float_array_t *a) -{ - free(a->array); - free(a->id); - free(a); -} -- cgit v1.2.1