summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-01-20 14:24:52 +0100
committertomsmeding <tom.smeding@gmail.com>2017-01-20 14:24:52 +0100
commitc576c7718385f812ca71d815a12c0a1ebf6c135f (patch)
treef701c84dfd6c2ade437eb6cfb48068da7a926e88
parent4aa1848c27da1c45b6204956ae28e9e83bc840c5 (diff)
Error on room_create already exists
-rw-r--r--main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/main.c b/main.c
index 5854542..b195dea 100644
--- a/main.c
+++ b/main.c
@@ -259,7 +259,13 @@ i64 handle_message(Connection *conn){
char *gameid=strdup(args[0]),*roomid=strdup(args[1]);
bool public=args[2][0]=='1';
- Room *room=room_add(gameid,roomid,public,capacity);
+ Room *room=room_find(&rooms,gameid,roomid);
+ if(room!=NULL){
+ free(gameid); free(roomid);
+ return tcp_send_line(conn->sock,"error room_create Room already exists");
+ }
+
+ room=room_add(gameid,roomid,public,capacity);
room_join(room,conn);
return tcp_send_line(conn->sock,"ok room_create");
} else if(strcmp(cmdname,"room_join")==0){ // room_join gameid roomid