--- a/libpurple/protocols/irc/irc.c Wed Apr 27 23:41:06 2022 -0500
+++ b/libpurple/protocols/irc/irc.c Wed Apr 27 23:44:53 2022 -0500
@@ -101,13 +101,14 @@
-void irc_priority_send(struct irc_conn *irc, const char *buf)
+int irc_priority_send(struct irc_conn *irc, const char *buf) g_queue_insert_after(irc->send_queue, irc->send_queue->head,
- do_send(irc, buf, strlen(buf));
+ return do_send(irc, buf, strlen(buf)); @@ -459,7 +460,7 @@
else /* intended to fall through */
buf = irc_format(irc, "v:", "PASS", pass);
- if (do_send(irc, buf, strlen(buf)) < 0) {
+ if (irc_priority_send(irc, buf) < 0) { @@ -492,7 +493,7 @@
strlen(realname) ? realname : nickname);
- if (do_send(irc, buf, strlen(buf)) < 0) {
+ if (irc_priority_send(irc, buf) < 0) { @@ -501,7 +502,7 @@
buf = irc_format(irc, "vn", "NICK", nickname);
irc->reqnick = g_strdup(nickname);
- if (do_send(irc, buf, strlen(buf)) < 0) {
+ if (irc_priority_send(irc, buf) < 0) { --- a/libpurple/protocols/irc/irc.h Wed Apr 27 23:41:06 2022 -0500
+++ b/libpurple/protocols/irc/irc.h Wed Apr 27 23:44:53 2022 -0500
@@ -129,7 +129,7 @@
void irc_send(struct irc_conn *irc, const char *buf);
void irc_send_len(struct irc_conn *irc, const char *buf, int len);
-void irc_priority_send(struct irc_conn *irc, const char *buf);
+int irc_priority_send(struct irc_conn *irc, const char *buf); gboolean irc_blist_timeout(struct irc_conn *irc);
gboolean irc_who_channel_timeout(struct irc_conn *irc);
void irc_buddy_query(struct irc_conn *irc);
--- a/libpurple/protocols/irc/msgs.c Wed Apr 27 23:41:06 2022 -0500
+++ b/libpurple/protocols/irc/msgs.c Wed Apr 27 23:44:53 2022 -0500
@@ -1579,7 +1579,7 @@
purple_debug_info("irc", "Using SASL: %s\n", irc->current_mech);
buf = irc_format(irc, "vv", "AUTHENTICATE", irc->current_mech);
+ irc_priority_send(irc, buf); @@ -1710,7 +1710,7 @@
authinfo = g_strdup("+");
buf = irc_format(irc, "vv", "AUTHENTICATE", authinfo);
+ irc_priority_send(irc, buf); @@ -1733,7 +1733,7 @@
/* Finish auth session */
buf = irc_format(irc, "vv", "CAP", "END");
+ irc_priority_send(irc, buf); @@ -1812,7 +1812,7 @@
buf = irc_format(irc, "vv", "CAP", "END");
+ irc_priority_send(irc, buf); --- a/libpurple/protocols/irc/parse.c Wed Apr 27 23:41:06 2022 -0500
+++ b/libpurple/protocols/irc/parse.c Wed Apr 27 23:44:53 2022 -0500
@@ -645,7 +645,7 @@
g_string_append_c(string, ':');