--- a/libpurple/connection.c Fri Jul 29 01:48:49 2022 -0500
+++ b/libpurple/connection.c Fri Jul 29 01:51:31 2022 -0500
@@ -531,6 +531,7 @@
case PURPLE_CONNECTION_ERROR_NETWORK_ERROR:
case PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR:
+ case PURPLE_CONNECTION_ERROR_CUSTOM_TEMPORARY: case PURPLE_CONNECTION_ERROR_INVALID_USERNAME:
case PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED:
@@ -538,7 +539,6 @@
case PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT:
case PURPLE_CONNECTION_ERROR_NAME_IN_USE:
case PURPLE_CONNECTION_ERROR_INVALID_SETTINGS:
- case PURPLE_CONNECTION_ERROR_OTHER_ERROR:
case PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED:
case PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED:
case PURPLE_CONNECTION_ERROR_CERT_EXPIRED:
@@ -547,6 +547,8 @@
case PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH:
case PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED:
case PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR:
+ case PURPLE_CONNECTION_ERROR_CUSTOM_FATAL: + case PURPLE_CONNECTION_ERROR_OTHER_ERROR: g_return_val_if_reached(TRUE);
--- a/libpurple/connection.h Fri Jul 29 01:48:49 2022 -0500
+++ b/libpurple/connection.h Fri Jul 29 01:51:31 2022 -0500
@@ -187,11 +187,14 @@
PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED = 14,
PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR = 15,
+ PURPLE_CONNECTION_ERROR_CUSTOM_TEMPORARY = 16, + PURPLE_CONNECTION_ERROR_CUSTOM_FATAL = 17, /* purple_connection_error() in connection.c uses the fact that
* this is the last member of the enum when sanity-checking; if other
* reasons are added after it, the check must be updated.
- PURPLE_CONNECTION_ERROR_OTHER_ERROR = 16
+ PURPLE_CONNECTION_ERROR_OTHER_ERROR = 18 --- a/libpurple/protocols/demo/purpledemoprotocolactions.c Fri Jul 29 01:48:49 2022 -0500
+++ b/libpurple/protocols/demo/purpledemoprotocolactions.c Fri Jul 29 01:51:31 2022 -0500
@@ -35,6 +35,7 @@
purple_demo_protocol_failure_tick(gpointer data,
+ PurpleConnectionError error_code, const gchar *tick_plural_str,
const gchar *disconnect_str)
@@ -61,8 +62,7 @@
message = g_strdup_printf(_(disconnect_str), REAPER_BUDDY_NAME);
- purple_connection_error(connection, PURPLE_CONNECTION_ERROR_OTHER_ERROR,
+ purple_connection_error(connection, error_code, message); @@ -71,6 +71,7 @@
purple_demo_protocol_fatal_failure_cb(gpointer data) {
return purple_demo_protocol_failure_tick(data,
+ PURPLE_CONNECTION_ERROR_CUSTOM_FATAL, @@ -79,6 +80,7 @@
purple_demo_protocol_temporary_failure_cb(gpointer data) {
return purple_demo_protocol_failure_tick(data,
+ PURPLE_CONNECTION_ERROR_CUSTOM_TEMPORARY, TEMPORARY_TICK_PLURAL_STR,
TEMPORARY_DISCONNECT_STR);