back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/server/card_queue.c
diff options
context:
space:
mode:
authorscratko <m@scratko.xyz>2024-08-18 01:33:08 +0300
committerscratko <m@scratko.xyz>2024-08-18 01:33:08 +0300
commit9970a2275a56d7835ba0c12a8586dc25cf7ec1cf (patch)
tree914b9353b2df1ba9dec5481fa3e7e6a8462dea5d /server/card_queue.c
parent4b2fdc91d42a438193d15840e10851c3847fbe80 (diff)
downloaddurak-9970a2275a56d7835ba0c12a8586dc25cf7ec1cf.tar.gz
durak-9970a2275a56d7835ba0c12a8586dc25cf7ec1cf.tar.bz2
durak-9970a2275a56d7835ba0c12a8586dc25cf7ec1cf.zip
Global fixes v4.0
Removed unnecessary comments. Added resource cleanup for client and server. Changed queue display. Added player indicator. It's possible to quit the game while typing or waiting for a connection. Fixed a bug with determining the limit of card tossing.
Diffstat (limited to 'server/card_queue.c')
-rw-r--r--server/card_queue.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/server/card_queue.c b/server/card_queue.c
index 194ea0c..c5d59a8 100644
--- a/server/card_queue.c
+++ b/server/card_queue.c
@@ -45,6 +45,8 @@ const char* pop_card_queue(struct card_queue *cq)
cq->first = cq->first->next;
card = tmp->str;
free(tmp);
+ if(!cq->first)
+ cq->last = NULL;
return card;
}
@@ -59,3 +61,16 @@ int find_out_card_quantity_in_cq(const struct card_queue *cq)
}
return counter;
}
+
+void clear_queue(struct card_queue *cq)
+{
+ struct card_queue_item *tmp;
+
+ while(cq->first) {
+ tmp = cq->first;
+ cq->first = cq->first->next;
+ free(tmp);
+ }
+ cq->first = NULL;
+ cq->last = NULL;
+}