aboutsummaryrefslogtreecommitdiff
path: root/src/solvers
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-03-14 16:18:29 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2025-03-14 16:18:29 +0100
commit1e1fd628207034b0412c50e289f146d34c5baf71 (patch)
treef21715cf39ef5fcc0a9197b214702fb7d16a1c58 /src/solvers
parentbfb7b1ab9d2c85a256c42c006060ffe7c2652638 (diff)
downloadnissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.tar.gz
nissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.zip
Replaced datasize with solverinfo
Diffstat (limited to 'src/solvers')
-rw-r--r--src/solvers/coord/common.h18
-rw-r--r--src/solvers/coord/types_macros.h2
2 files changed, 19 insertions, 1 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}
diff --git a/src/solvers/coord/types_macros.h b/src/solvers/coord/types_macros.h
index 594f594..84085ad 100644
--- a/src/solvers/coord/types_macros.h
+++ b/src/solvers/coord/types_macros.h
@@ -3,7 +3,7 @@
3#define COORD_MASK(i) (UINT8_C(0xF) << COORD_SHIFT(i)) 3#define COORD_MASK(i) (UINT8_C(0xF) << COORD_SHIFT(i))
4 4
5typedef struct { 5typedef struct {
6 char name[255]; 6 const char name[255];
7 uint64_t (*coord)(cube_t, const void *); 7 uint64_t (*coord)(cube_t, const void *);
8 cube_t (*cube)(uint64_t, const void *); 8 cube_t (*cube)(uint64_t, const void *);
9 size_t (*gendata)(void *); 9 size_t (*gendata)(void *);

Generated with cgit - Back to sebastiano.tronto.net