about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-07-19 15:44:16 -0400
committerJune McEnroe <june@causal.agency>2018-07-19 15:44:16 -0400
commit515992ffca07b2aeb6c13b333b194e42e5a1fe34 (patch)
treeab23be1b7e8a6ee555355153c963d933ace6fe38
parentAdd server map generation (diff)
downloadtorus-515992ffca07b2aeb6c13b333b194e42e5a1fe34.tar.gz
torus-515992ffca07b2aeb6c13b333b194e42e5a1fe34.zip
Add ARRAY_LEN macro
-rw-r--r--client.c2
-rw-r--r--server.c2
-rw-r--r--torus.h3
3 files changed, 4 insertions, 3 deletions
diff --git a/client.c b/client.c
index ee120e5..ea1f6f5 100644
--- a/client.c
+++ b/client.c
@@ -197,7 +197,7 @@ static void readInput(void) {
 
 		break; case 'q': endwin(); exit(EX_OK);
 		break; case 'Q': {
-			if ((input.color & 0x07) < SPAWNS_LEN) {
+			if ((input.color & 0x07) < ARRAY_LEN(SPAWNS)) {
 				clientSpawn(input.color & 0x07);
 			} else {
 				clientSpawn(0);
diff --git a/server.c b/server.c
index 3a27ad4..9d0af0e 100644
--- a/server.c
+++ b/server.c
@@ -218,7 +218,7 @@ static bool clientUpdate(const struct Client *client, const struct Client *old)
 }
 
 static bool clientSpawn(struct Client *client, uint8_t spawn) {
-	if (spawn >= SPAWNS_LEN) return false;
+	if (spawn >= ARRAY_LEN(SPAWNS)) return false;
 	struct Client old = *client;
 	client->tileX = SPAWNS[spawn].tileX;
 	client->tileY = SPAWNS[spawn].tileY;
diff --git a/torus.h b/torus.h
index 918a131..775df3c 100644
--- a/torus.h
+++ b/torus.h
@@ -24,6 +24,8 @@
 #define PACKED __attribute__((packed))
 #define ALIGNED(x) __attribute__((aligned(x)))
 
+#define ARRAY_LEN(a) (sizeof(a) / sizeof((a)[0]))
+
 #undef COLOR_BLACK
 #undef COLOR_RED
 #undef COLOR_GREEN
@@ -86,7 +88,6 @@ static const struct {
 	{ TILE_COLS * 1 / 4, TILE_ROWS * 1 / 4 }, // SE
 	{ TILE_COLS * 3 / 4, TILE_ROWS * 1 / 4 }, // SW
 };
-static const size_t SPAWNS_LEN = sizeof(SPAWNS) / sizeof(SPAWNS[0]);
 
 enum {
 	MAP_ROWS = 11,