diff options
-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 |