summary refs log tree commit diff homepage
path: root/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client.c')
-rw-r--r--client.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/client.c b/client.c
index 30a400c..707d50b 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");