diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-03-14 16:18:29 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-03-14 16:18:29 +0100 |
| commit | 1e1fd628207034b0412c50e289f146d34c5baf71 (patch) | |
| tree | f21715cf39ef5fcc0a9197b214702fb7d16a1c58 /src/solvers/coord | |
| parent | bfb7b1ab9d2c85a256c42c006060ffe7c2652638 (diff) | |
| download | nissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.tar.gz nissy-core-1e1fd628207034b0412c50e289f146d34c5baf71.zip | |
Replaced datasize with solverinfo
Diffstat (limited to 'src/solvers/coord')
| -rw-r--r-- | src/solvers/coord/common.h | 18 | ||||
| -rw-r--r-- | src/solvers/coord/types_macros.h | 2 |
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 *); | |||
| 7 | STATIC coord_t *parse_coord(const char *, int); | 7 | STATIC coord_t *parse_coord(const char *, int); |
| 8 | STATIC uint8_t parse_axis(const char *, int); | 8 | STATIC uint8_t parse_axis(const char *, int); |
| 9 | STATIC void parse_coord_and_axis(const char *, int, coord_t **, uint8_t *); | 9 | STATIC void parse_coord_and_axis(const char *, int, coord_t **, uint8_t *); |
| 10 | STATIC int64_t dataid_coord(const char *, char [static NISSY_DATAID_SIZE]); | ||
| 10 | 11 | ||
| 11 | STATIC void | 12 | STATIC void |
| 12 | append_coord_name(const coord_t *coord, char *str) | 13 | append_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 | |||
| 66 | STATIC int64_t | ||
| 67 | dataid_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 | ||
| 5 | typedef struct { | 5 | typedef 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 *); |
