From 4d5958f78c5741031f552b26cd0cb1da5fdab18d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Sat, 28 Mar 2015 12:15:30 -0300 Subject: add a Coord type and init functions --- lib/coordinate.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/coordinate.c (limited to 'lib') diff --git a/lib/coordinate.c b/lib/coordinate.c new file mode 100644 index 0000000..2dc0215 --- /dev/null +++ b/lib/coordinate.c @@ -0,0 +1,31 @@ +#include +#include + +#include "coordinate.h" + +static int _valid_coord(char col, char row) { + if (col >= 'a' && col <= 'h' && row >= '1' && row <= '8') + return 0; + + return 1; +} + +int coord_init(Coord* c, char col, char row) { + char lower_col = tolower(col); + char lower_row = tolower(row); + + if (! _valid_coord(lower_col, lower_row)) + return 1; + + c->row = row; + c->col = col; + + return 0; +} + +int coord_init_from_str(Coord* c, char* s) { + if (strlen(s) != 2) + return 1; + + return coord_init(c, s[0], s[1]); +} -- cgit v1.2.3