summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2017-09-01 00:08:07 -0400
committerJune McEnroe <programble@gmail.com>2017-09-01 00:08:07 -0400
commit34f25ae40a3db9369e9d98b3814f2b93bbc21451 (patch)
tree784b74c846ae47f4453c32270f4af6e20a4a70a4
parentClean up merge tool (diff)
downloadtorus-34f25ae40a3db9369e9d98b3814f2b93bbc21451.tar.gz
torus-34f25ae40a3db9369e9d98b3814f2b93bbc21451.zip
Add client readOnly mode
-rw-r--r--client.c7
-rw-r--r--torus.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/client.c b/client.c
index e674ba2..db03db3 100644
--- a/client.c
+++ b/client.c
@@ -44,6 +44,8 @@
 
 static int client;
 
+static bool readOnly = false;
+
 static void clientMessage(const struct ClientMessage *msg) {
     ssize_t len = send(client, msg, sizeof(*msg), 0);
     if (len < 0) err(EX_IOERR, "send");
@@ -58,6 +60,7 @@ static void clientMove(int8_t dx, int8_t dy) {
 }
 
 static void clientPut(uint8_t color, char cell) {
+    if (readOnly) return;
     struct ClientMessage msg = {
         .type = CLIENT_PUT,
         .data.p = { .color = color, .cell = cell },
@@ -381,7 +384,9 @@ static void initColors(void) {
     }
 }
 
-int main() {
+int main(int argc, char *argv[] UNUSED) {
+    if (argc > 1) readOnly = true;
+
     client = socket(PF_LOCAL, SOCK_STREAM, 0);
     if (client < 0) err(EX_OSERR, "socket");
 
diff --git a/torus.h b/torus.h
index e337557..f2fb6ee 100644
--- a/torus.h
+++ b/torus.h
@@ -20,6 +20,7 @@
 #include <stdint.h>
 #include <time.h>
 
+#define UNUSED __attribute__((unused))
 #define ALIGNED(x) __attribute__((aligned(x)))
 
 enum {