aboutsummaryrefslogtreecommitdiff
path: root/src/core/io_cube.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-03-22 06:43:11 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2025-03-22 18:45:47 +0100
commitce3f1cc0ef9f46d70ab5387b1458e9098b40711d (patch)
tree4949745670b829f2211381bf14b8440dcc6ca7b1 /src/core/io_cube.h
parent0550a16c1cce868bbc3f3b5ad59f80e35cf2a6cd (diff)
downloadnissy-core-ce3f1cc0ef9f46d70ab5387b1458e9098b40711d.tar.gz
nissy-core-ce3f1cc0ef9f46d70ab5387b1458e9098b40711d.zip
Some safety with move arrays, small refactor appendchar
Diffstat (limited to 'src/core/io_cube.h')
-rw-r--r--src/core/io_cube.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/core/io_cube.h b/src/core/io_cube.h
index 0c18f34..39f3545 100644
--- a/src/core/io_cube.h
+++ b/src/core/io_cube.h
@@ -1,5 +1,5 @@
1STATIC cube_t readcube(const char *, const char *); 1STATIC cube_t readcube(const char *, const char *);
2STATIC int64_t writecube(const char *, cube_t, uint64_t, char *); 2STATIC int64_t writecube(const char *, cube_t, size_t n, char [n]);
3STATIC void log_available_formats(void); 3STATIC void log_available_formats(void);
4STATIC uint8_t readco(const char *); 4STATIC uint8_t readco(const char *);
5STATIC uint8_t readcp(const char *); 5STATIC uint8_t readcp(const char *);
@@ -10,10 +10,10 @@ STATIC cube_t readcube_H48(const char *);
10STATIC uint8_t readpiece_LST(const char **); 10STATIC uint8_t readpiece_LST(const char **);
11STATIC cube_t readcube_LST(const char *); 11STATIC cube_t readcube_LST(const char *);
12 12
13STATIC int64_t writepiece_LST(uint8_t, uint64_t, char *); 13STATIC int64_t writepiece_LST(uint8_t, size_t n, char [n]);
14STATIC int64_t writecube_B32(cube_t, uint64_t, char *); 14STATIC int64_t writecube_B32(cube_t, size_t n, char [n]);
15STATIC int64_t writecube_H48(cube_t, uint64_t, char *); 15STATIC int64_t writecube_H48(cube_t, size_t n, char [n]);
16STATIC int64_t writecube_LST(cube_t, uint64_t, char *); 16STATIC int64_t writecube_LST(cube_t, size_t n, char [n]);
17 17
18STATIC uint8_t b32toedge(char); 18STATIC uint8_t b32toedge(char);
19STATIC uint8_t b32tocorner(char); 19STATIC uint8_t b32tocorner(char);
@@ -23,7 +23,7 @@ STATIC char cornertob32(uint8_t);
23STATIC struct { 23STATIC struct {
24 const char *name; 24 const char *name;
25 cube_t (*read)(const char *); 25 cube_t (*read)(const char *);
26 int64_t (*write)(cube_t, uint64_t, char *); 26 int64_t (*write)(cube_t, size_t n, char [n]);
27} ioformat[] = 27} ioformat[] =
28{ 28{
29 { .name = "B32", .read = readcube_B32, .write = writecube_B32 }, 29 { .name = "B32", .read = readcube_B32, .write = writecube_B32 },
@@ -47,7 +47,7 @@ readcube(const char *format, const char *buf)
47} 47}
48 48
49STATIC int64_t 49STATIC int64_t
50writecube(const char *format, cube_t cube, uint64_t buf_size, char *buf) 50writecube(const char *format, cube_t cube, size_t buf_size, char buf[buf_size])
51{ 51{
52 int i; 52 int i;
53 53
@@ -233,10 +233,10 @@ readcube_LST(const char *buf)
233} 233}
234 234
235STATIC int64_t 235STATIC int64_t
236writepiece_LST(uint8_t piece, uint64_t buf_size, char *buf) 236writepiece_LST(uint8_t piece, size_t buf_size, char buf[buf_size])
237{ 237{
238 char digits[3]; 238 char digits[3];
239 uint64_t i, len; 239 size_t i, len;
240 240
241 if (piece > 99 || buf_size < 3) 241 if (piece > 99 || buf_size < 3)
242 return 0; 242 return 0;
@@ -263,7 +263,7 @@ writepiece_LST(uint8_t piece, uint64_t buf_size, char *buf)
263} 263}
264 264
265STATIC int64_t 265STATIC int64_t
266writecube_B32(cube_t cube, uint64_t buf_size, char *buf) 266writecube_B32(cube_t cube, size_t buf_size, char buf[buf_size])
267{ 267{
268 int i; 268 int i;
269 uint8_t corner[8], edge[12]; 269 uint8_t corner[8], edge[12];
@@ -291,7 +291,7 @@ writecube_B32(cube_t cube, uint64_t buf_size, char *buf)
291} 291}
292 292
293STATIC int64_t 293STATIC int64_t
294writecube_H48(cube_t cube, uint64_t buf_size, char *buf) 294writecube_H48(cube_t cube, size_t buf_size, char buf[buf_size])
295{ 295{
296 uint8_t piece, perm, orient, corner[8], edge[12]; 296 uint8_t piece, perm, orient, corner[8], edge[12];
297 int i; 297 int i;
@@ -331,7 +331,7 @@ writecube_H48(cube_t cube, uint64_t buf_size, char *buf)
331} 331}
332 332
333STATIC int64_t 333STATIC int64_t
334writecube_LST(cube_t cube, uint64_t buf_size, char *buf) 334writecube_LST(cube_t cube, size_t buf_size, char buf[buf_size])
335{ 335{
336 int i; 336 int i;
337 uint64_t ptr; 337 uint64_t ptr;

Generated with cgit - Back to sebastiano.tronto.net