summary refs log tree commit diff
path: root/client.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-27 22:42:33 -0400
committerJune McEnroe <june@causal.agency>2019-10-27 22:42:33 -0400
commit766210d614f249cf04b84b691351d03047f36754 (patch)
treedc21d9ae2c851ff54be19da4c6b8bd4fa3451939 /client.c
parentSet SO_REUSEADDR on binds (diff)
downloadpounce-766210d614f249cf04b84b691351d03047f36754.tar.gz
pounce-766210d614f249cf04b84b691351d03047f36754.zip
Only increment consumer after successful send
Diffstat (limited to 'client.c')
-rw-r--r--client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/client.c b/client.c
index b5fb36a..2b075ec 100644
--- a/client.c
+++ b/client.c
@@ -259,7 +259,7 @@ size_t clientDiff(const struct Client *client) {
 
 void clientConsume(struct Client *client) {
 	time_t time;
-	const char *line = ringConsume(&time, client->consumer);
+	const char *line = ringPeek(&time, client->consumer);
 	if (!line) return;
 	if (client->serverTime) {
 		char ts[sizeof("YYYY-MM-DDThh:mm:ss.sssZ")];
@@ -269,4 +269,5 @@ void clientConsume(struct Client *client) {
 	} else {
 		clientFormat(client, "%s\r\n", line);
 	}
+	if (!client->error) ringConsume(NULL, client->consumer);
 }
2d39bccf50e2c1f5b9c2e91&follow=1'>Mark log when scrolling upJune McEnroe 2018-08-07Remove extraneous slash from unrecognized commandJune McEnroe 2018-08-07Highlight and beep pingsJune McEnroe 2018-08-07Factor out allocating conversion between wcs and mbsJune McEnroe 2018-08-07Match commands case-insensitivelyJune McEnroe 2018-08-07Convert input to multibyte before handlingJune McEnroe 2018-08-07Populate tab-complete listJune McEnroe 2018-08-07Fix /me formatting side-effectsJune McEnroe 2018-08-07Define ui.c BUF_LEN with enumJune McEnroe 2018-08-07Hack clang into checking uiFmt format stringsJune McEnroe 2018-08-07Handle PART and QUIT without messagesJune McEnroe 2018-08-07Make safe filling the who bufferJune McEnroe 2018-08-07Add reverse and reset IRC formatting codesJune McEnroe 2018-08-06Rewrite line editing again, add formattingJune McEnroe 2018-08-06Fix allocation size in vaswprintfJune McEnroe 2018-08-06Implement word wrappingJune McEnroe 2018-08-06Use wchar_t strings for all of UIJune McEnroe 2018-08-06Rename line editing functionsJune McEnroe 2018-08-05Initialize all possible color pairsJune McEnroe 2018-08-05Refactor color initializationJune McEnroe 2018-08-05Add ^L redrawJune McEnroe 2018-08-05Use 16 colors if availableJune McEnroe 2018-08-05Limit parsed colors to number of mIRC colorsJune McEnroe 2018-08-04Show source link on exitJune McEnroe 2018-08-04Implement line editing, scrollingJune McEnroe 2018-08-04Handle /topicJune McEnroe