aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/coord/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/coord/common.h')
-rw-r--r--src/solvers/coord/common.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/solvers/coord/common.h b/src/solvers/coord/common.h
index f21a903..d570b6d 100644
--- a/src/solvers/coord/common.h
+++ b/src/solvers/coord/common.h
@@ -7,6 +7,7 @@ STATIC void append_coord_name(const coord_t *, char *);
7STATIC coord_t *parse_coord(const char *, int); 7STATIC coord_t *parse_coord(const char *, int);
8STATIC uint8_t parse_axis(const char *, int); 8STATIC uint8_t parse_axis(const char *, int);
9STATIC void parse_coord_and_axis(const char *, int, coord_t **, uint8_t *); 9STATIC void parse_coord_and_axis(const char *, int, coord_t **, uint8_t *);
10STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]);
10 11
11STATIC void 12STATIC void
12append_coord_name(const coord_t *coord, char *str) 13append_coord_name(const coord_t *coord, char *str)
@@ -61,3 +62,20 @@ parse_coord_and_axis(const char *str, int n, coord_t **coord, uint8_t *axis)
61 if (axis != NULL) 62 if (axis != NULL)
62 *axis = i == n ? UINT8_ERROR : parse_axis(str+i+1, n-i-1); 63 *axis = i == n ? UINT8_ERROR : parse_axis(str+i+1, n-i-1);
63} 64}
65
66STATIC int64_t
67dataid_coord(const char *ca, char dataid[static NISSY_DATAID_SIZE])
68{
69 coord_t *c;
70
71 parse_coord_and_axis(ca, strlen(ca), &c, NULL);
72
73 if (c == NULL) {
74 LOG("dataid_coord: cannot parse coordinate from '%s'\n", ca);
75 return NISSY_ERROR_INVALID_SOLVER;
76 }
77
78 strcpy(dataid, c->name);
79
80 return NISSY_OK;
81}

Generated with cgit - Back to sebastiano.tronto.net