diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-01-20 14:24:52 +0100 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-01-20 14:24:52 +0100 |
commit | c576c7718385f812ca71d815a12c0a1ebf6c135f (patch) | |
tree | f701c84dfd6c2ade437eb6cfb48068da7a926e88 /main.c | |
parent | 4aa1848c27da1c45b6204956ae28e9e83bc840c5 (diff) |
Error on room_create already exists
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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 |