--- a/libpurple/protocols/zephyr/zephyr.c Mon Jan 18 00:05:33 2021 -0600
+++ b/libpurple/protocols/zephyr/zephyr.c Mon Jan 18 18:00:51 2021 -0600
@@ -112,6 +112,10 @@
extern const char *username;
+static char *local_zephyr_normalize(const zephyr_account *zephyr, const char *); +static void zephyr_chat_set_topic(PurpleConnection *gc, int id, const char *topic); +static char *zephyr_tzc_deescape_str(const char *message); use_tzc(const zephyr_account *zephyr)
@@ -166,10 +170,6 @@
return ZSubscribeTo(&sub, 1, 0);
-char *local_zephyr_normalize(zephyr_account* zephyr,const char *);
-static void zephyr_chat_set_topic(PurpleConnection * gc, int id, const char *topic);
-char* zephyr_tzc_deescape_str(const char *message);
zephyr_strip_local_realm(const zephyr_account *zephyr, const char *user)
@@ -1699,57 +1699,49 @@
/* Munge the outgoing zephyr so that any quotes or backslashes are
escaped and do not confuse tzc: */
-static char* zephyr_tzc_escape_msg(const char *message)
+zephyr_tzc_escape_msg(const char *message) - gsize pos = 0, pos2 = 0;
- if (message && *message) {
- newmsg = g_new0(char,1+strlen(message)*2);
- while(pos < strlen(message)) {
- if (message[pos]=='\\') {
- else if (message[pos]=='"') {
- newmsg[pos2] = message[pos];
+ if (!message || !*message) { + msglen = strlen(message); + newmsg = g_new0(char, msglen*2 + 1); + for (gsize pos = 0, pos2 = 0; pos < msglen; pos++, pos2++) { + if (message[pos] == '\\' || message[pos] == '"') { + newmsg[pos2] = message[pos]; +zephyr_tzc_deescape_str(const char *message) + if (!message || !*message) { + msglen = strlen(message); + newmsg = g_new0(char, msglen + 1); + for (gsize pos = 0, pos2 = 0; pos < msglen; pos++, pos2++) { + if (message[pos] == '\\') {
- /* fprintf(stderr,"newmsg %s message %s\n",newmsg,message); */
-char* zephyr_tzc_deescape_str(const char *message)
- gsize pos = 0, pos2 = 0;
- if (message && *message) {
- newmsg = g_new0(char,strlen(message)+1);
- while(pos < strlen(message)) {
- if (message[pos]=='\\') {
- newmsg[pos2] = message[pos];
+ newmsg[pos2] = message[pos]; @@ -1825,10 +1817,10 @@
-char *local_zephyr_normalize(zephyr_account *zephyr,const char *orig)
+/* Basically the inverse of zephyr_strip_local_realm */ +local_zephyr_normalize(const zephyr_account *zephyr, const char *orig) - /* Basically the inverse of zephyr_strip_local_realm */
if (*orig == '\0' || strchr(orig, '@')) {