summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--[-rwxr-xr-x]doc/oscar/On_Sending_Files_via_OSCAR.odtbin131604 -> 131604 bytes
-rw-r--r--[-rwxr-xr-x]doc/oscar/On_Sending_Files_via_OSCAR.pdfbin323942 -> 323942 bytes
-rw-r--r--[-rwxr-xr-x]doc/oscar/Receive_Codepaths.odgbin20388 -> 20388 bytes
-rw-r--r--[-rwxr-xr-x]doc/oscar/Send_Codepaths.odgbin21711 -> 21711 bytes
-rw-r--r--finch/gntaccount.c4
-rw-r--r--finch/gntblist.c18
-rw-r--r--finch/gntconv.c10
-rw-r--r--finch/gntlog.c6
-rw-r--r--finch/gntplugin.c2
-rw-r--r--finch/gntprefs.c2
-rw-r--r--finch/gntrequest.c2
-rw-r--r--finch/gntsound.c22
-rw-r--r--finch/plugins/gnthistory.c2
-rw-r--r--finch/plugins/lastlog.c8
-rw-r--r--libpurple/buddylist.c10
-rw-r--r--libpurple/dbus-server.c4
-rw-r--r--libpurple/dbus-useful.c4
-rw-r--r--libpurple/media.c10
-rw-r--r--libpurple/media/backend-fs2.c18
-rw-r--r--libpurple/mediamanager.c21
-rw-r--r--libpurple/plugins/joinpart.c2
-rw-r--r--libpurple/plugins/log_reader.c14
-rw-r--r--libpurple/plugins/one_time_password.c2
-rw-r--r--libpurple/plugins/signals-test.c2
-rw-r--r--libpurple/pounce.c2
-rw-r--r--libpurple/protocols/bonjour/bonjour.c4
-rw-r--r--libpurple/protocols/bonjour/bonjour_ft.c60
-rw-r--r--libpurple/protocols/bonjour/buddy.c28
-rw-r--r--libpurple/protocols/bonjour/jabber.c6
-rw-r--r--libpurple/protocols/bonjour/mdns_avahi.c8
-rw-r--r--libpurple/protocols/bonjour/mdns_dns_sd.c8
-rw-r--r--libpurple/protocols/gg/gg.c10
-rw-r--r--libpurple/protocols/irc/cmds.c20
-rw-r--r--libpurple/protocols/irc/irc.c8
-rw-r--r--libpurple/protocols/irc/msgs.c80
-rw-r--r--libpurple/protocols/jabber/adhoccommands.c10
-rw-r--r--libpurple/protocols/jabber/auth.c6
-rw-r--r--libpurple/protocols/jabber/auth_cyrus.c6
-rw-r--r--libpurple/protocols/jabber/auth_scram.c16
-rw-r--r--libpurple/protocols/jabber/bosh.c10
-rw-r--r--libpurple/protocols/jabber/buddy.c80
-rw-r--r--libpurple/protocols/jabber/caps.c38
-rw-r--r--libpurple/protocols/jabber/chat.c6
-rw-r--r--libpurple/protocols/jabber/data.c2
-rw-r--r--libpurple/protocols/jabber/disco.c67
-rw-r--r--libpurple/protocols/jabber/google/gmail.c5
-rw-r--r--libpurple/protocols/jabber/google/google_roster.c4
-rw-r--r--libpurple/protocols/jabber/google/google_session.c30
-rw-r--r--libpurple/protocols/jabber/ibb.c8
-rw-r--r--libpurple/protocols/jabber/iq.c8
-rw-r--r--libpurple/protocols/jabber/jabber.c124
-rw-r--r--libpurple/protocols/jabber/jingle/content.c2
-rw-r--r--libpurple/protocols/jabber/jingle/iceudp.c14
-rw-r--r--libpurple/protocols/jabber/jingle/jingle.c18
-rw-r--r--libpurple/protocols/jabber/jingle/rawudp.c4
-rw-r--r--libpurple/protocols/jabber/jingle/rtp.c8
-rw-r--r--libpurple/protocols/jabber/jingle/session.c10
-rw-r--r--libpurple/protocols/jabber/jutil.c10
-rw-r--r--libpurple/protocols/jabber/message.c172
-rw-r--r--libpurple/protocols/jabber/oob.c4
-rw-r--r--libpurple/protocols/jabber/parser.c4
-rw-r--r--libpurple/protocols/jabber/presence.c29
-rw-r--r--libpurple/protocols/jabber/roster.c16
-rw-r--r--libpurple/protocols/jabber/si.c20
-rw-r--r--libpurple/protocols/jabber/useravatar.c6
-rw-r--r--libpurple/protocols/jabber/usermood.c4
-rw-r--r--libpurple/protocols/jabber/usertune.c12
-rw-r--r--libpurple/protocols/jabber/xdata.c20
-rw-r--r--libpurple/protocols/novell/nmconn.c6
-rw-r--r--libpurple/protocols/novell/nmcontact.c3
-rw-r--r--libpurple/protocols/novell/nmrtf.c3
-rw-r--r--libpurple/protocols/novell/nmuser.c32
-rw-r--r--libpurple/protocols/novell/novell.c36
-rw-r--r--libpurple/protocols/null/nullprpl.c11
-rw-r--r--libpurple/protocols/oscar/clientlogin.c14
-rw-r--r--libpurple/protocols/oscar/family_icbm.c2
-rw-r--r--libpurple/protocols/oscar/family_locate.c6
-rw-r--r--libpurple/protocols/oscar/oscar.c44
-rw-r--r--libpurple/protocols/oscar/peer.c2
-rw-r--r--libpurple/protocols/oscar/rxhandlers.c2
-rw-r--r--libpurple/protocols/oscar/userinfo.c2
-rw-r--r--libpurple/protocols/sametime/sametime.c26
-rw-r--r--libpurple/protocols/silc/buddy.c18
-rw-r--r--libpurple/protocols/silc/chat.c2
-rw-r--r--libpurple/protocols/silc/ops.c12
-rw-r--r--libpurple/protocols/silc/silc.c16
-rw-r--r--libpurple/protocols/simple/simple.c24
-rw-r--r--libpurple/protocols/zephyr/ZAsyncLocate.c7
-rw-r--r--libpurple/protocols/zephyr/ZLocations.c9
-rw-r--r--libpurple/protocols/zephyr/ZRetSubs.c5
-rw-r--r--libpurple/status.c4
-rw-r--r--libpurple/util.c2
-rw-r--r--libpurple/win32/libc_interface.c12
-rw-r--r--libpurple/xfer.c27
-rw-r--r--pidgin/gtkaccount.c10
-rw-r--r--pidgin/gtkblist.c46
-rw-r--r--pidgin/gtkconv.c73
-rw-r--r--pidgin/gtkdialogs.c18
-rw-r--r--pidgin/gtkdocklet.c14
-rw-r--r--pidgin/gtklog.c6
-rw-r--r--pidgin/gtknotify.c30
-rw-r--r--pidgin/gtkpounce.c4
-rw-r--r--pidgin/gtkprefs.c44
-rw-r--r--pidgin/gtkrequest.c16
-rw-r--r--pidgin/gtksavedstatuses.c10
-rw-r--r--pidgin/gtksmiley-manager.c4
-rw-r--r--pidgin/gtksound.c22
-rw-r--r--pidgin/gtkstatusbox.c12
-rw-r--r--pidgin/gtkutils.c28
-rw-r--r--pidgin/pidginstock.c2
-rw-r--r--pidgin/plugins/cap/cap.c2
-rw-r--r--pidgin/plugins/disco/xmppdisco.c28
-rw-r--r--pidgin/plugins/gevolution/add_buddy_dialog.c10
-rw-r--r--pidgin/plugins/gevolution/assoc-buddy.c2
-rw-r--r--pidgin/plugins/gevolution/gevo-util.c10
-rw-r--r--pidgin/plugins/gevolution/gevolution.c4
-rw-r--r--pidgin/plugins/gevolution/new_person_dialog.c10
-rw-r--r--pidgin/plugins/notify.c4
-rw-r--r--pidgin/plugins/pidgininc.c2
-rw-r--r--pidgin/plugins/raw.c6
-rw-r--r--pidgin/plugins/spellchk.c18
-rw-r--r--pidgin/plugins/xmppconsole.c14
123 files changed, 997 insertions, 963 deletions
diff --git a/ChangeLog b/ChangeLog
index 8c919983f9..776df3b8a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -104,10 +104,22 @@ version 3.0.0 (??/??/????):
* A single jabber plugin provides XMPP, GTalk and Facebook protocols.
* A single yahoo plugin provides both Yahoo and Yahoo JAPAN protocols.
+version 2.12.1 (??/??/????):
+ libpurple:
+ * Unified string comparison. (PR #186) (Arkadiy Illarionov)
+
+ XMPP:
+ * Show XEP-0066 OOB URLs in any message, not just headlines
+
+ IRC:
+ * Fix "Registration timeout" on SASL auth with InspIRCd servers
+ (and possibly others not based on charybdis/ratbox/ircd-seven)
+ * Fix issues with plugins that modify outgoing messages
+ (such as the custom PART/QUIT feature of the IRC More plugin)
version 2.12.0 (03/09/2017):
libpurple:
- * Fix an out of bounds memory read in purple_markup_unescape_entity.
+ * Fix an out of bounds memory write in purple_markup_unescape_entity.
CVE-2017-2640
* Fix use of uninitialised memory if running non-debug-enabled versions of glib
* Updated AIM dev and dist ID's to new ones that were assigned by AOL.
diff --git a/doc/oscar/On_Sending_Files_via_OSCAR.odt b/doc/oscar/On_Sending_Files_via_OSCAR.odt
index c26c284d34..c26c284d34 100755..100644
--- a/doc/oscar/On_Sending_Files_via_OSCAR.odt
+++ b/doc/oscar/On_Sending_Files_via_OSCAR.odt
Binary files differ
diff --git a/doc/oscar/On_Sending_Files_via_OSCAR.pdf b/doc/oscar/On_Sending_Files_via_OSCAR.pdf
index 1b19db3f6b..1b19db3f6b 100755..100644
--- a/doc/oscar/On_Sending_Files_via_OSCAR.pdf
+++ b/doc/oscar/On_Sending_Files_via_OSCAR.pdf
Binary files differ
diff --git a/doc/oscar/Receive_Codepaths.odg b/doc/oscar/Receive_Codepaths.odg
index 519675d7a9..519675d7a9 100755..100644
--- a/doc/oscar/Receive_Codepaths.odg
+++ b/doc/oscar/Receive_Codepaths.odg
Binary files differ
diff --git a/doc/oscar/Send_Codepaths.odg b/doc/oscar/Send_Codepaths.odg
index 62a5969750..62a5969750 100755..100644
--- a/doc/oscar/Send_Codepaths.odg
+++ b/doc/oscar/Send_Codepaths.odg
Binary files differ
diff --git a/finch/gntaccount.c b/finch/gntaccount.c
index 0c99d251fc..f8f2dea153 100644
--- a/finch/gntaccount.c
+++ b/finch/gntaccount.c
@@ -162,7 +162,7 @@ save_account_cb(AccountEditDialog *dialog)
} else {
const char *old = purple_account_get_protocol_id(account);
char *oldproto;
- if (strcmp(old, purple_protocol_get_id(protocol))) {
+ if (!purple_strequal(old, purple_protocol_get_id(protocol))) {
purple_notify_error(NULL, _("Error"),
_("Account was not modified"),
_("The account's protocol cannot be "
@@ -450,7 +450,7 @@ add_account_options(AccountEditDialog *dialog)
PurpleKeyValuePair *kvp = opt_iter->data;
gnt_combo_box_add_data(GNT_COMBO_BOX(combo), kvp->value, kvp->key);
- if (g_str_equal(kvp->value, active))
+ if (purple_strequal(kvp->value, active))
gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), kvp->value);
}
}
diff --git a/finch/gntblist.c b/finch/gntblist.c
index 72d3a4e7ab..d1fbada814 100644
--- a/finch/gntblist.c
+++ b/finch/gntblist.c
@@ -1875,16 +1875,16 @@ key_pressed(GntWidget *widget, const char *text, FinchBlist *ggblist)
if (gnt_tree_is_searching(GNT_TREE(ggblist->tree)))
gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "end-search", NULL);
remove_peripherals(ggblist);
- } else if (strcmp(text, GNT_KEY_INS) == 0) {
+ } else if (purple_strequal(text, GNT_KEY_INS)) {
PurpleBlistNode *node = gnt_tree_get_selection_data(GNT_TREE(ggblist->tree));
purple_blist_request_add_buddy(NULL, NULL,
node && PURPLE_IS_GROUP(node) ? purple_group_get_name(PURPLE_GROUP(node)) : NULL,
NULL);
} else if (!gnt_tree_is_searching(GNT_TREE(ggblist->tree))) {
- if (strcmp(text, "t") == 0) {
+ if (purple_strequal(text, "t")) {
finch_blist_toggle_tag_buddy(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)));
gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "move-down", NULL);
- } else if (strcmp(text, "a") == 0) {
+ } else if (purple_strequal(text, "a")) {
finch_blist_place_tagged(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)));
} else
return FALSE;
@@ -1993,13 +1993,13 @@ populate_buddylist(void)
if (ggblist->manager->init)
ggblist->manager->init();
- if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "text") == 0) {
+ if (purple_strequal(purple_prefs_get_string(PREF_ROOT "/sort_type"), "text")) {
gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
(GCompareFunc)blist_node_compare_text);
- } else if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "status") == 0) {
+ } else if (purple_strequal(purple_prefs_get_string(PREF_ROOT "/sort_type"), "status")) {
gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
(GCompareFunc)blist_node_compare_status);
- } else if (strcmp(purple_prefs_get_string(PREF_ROOT "/sort_type"), "log") == 0) {
+ } else if (purple_strequal(purple_prefs_get_string(PREF_ROOT "/sort_type"), "log")) {
gnt_tree_set_compare_func(GNT_TREE(ggblist->tree),
(GCompareFunc)blist_node_compare_log);
}
@@ -3198,7 +3198,7 @@ void finch_blist_install_manager(const FinchBlistManager *manager)
if (!g_list_find(managers, manager)) {
managers = g_list_append(managers, (gpointer)manager);
reconstruct_grouping_menu();
- if (strcmp(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping")) == 0)
+ if (purple_strequal(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping")))
purple_prefs_trigger_callback(PREF_ROOT "/grouping");
}
}
@@ -3208,7 +3208,7 @@ void finch_blist_uninstall_manager(const FinchBlistManager *manager)
if (g_list_find(managers, manager)) {
managers = g_list_remove(managers, manager);
reconstruct_grouping_menu();
- if (strcmp(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping")) == 0)
+ if (purple_strequal(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping")))
purple_prefs_trigger_callback(PREF_ROOT "/grouping");
}
}
@@ -3221,7 +3221,7 @@ FinchBlistManager * finch_blist_manager_find(const char *id)
for (; iter; iter = iter->next) {
FinchBlistManager *m = iter->data;
- if (strcmp(id, m->id) == 0)
+ if (purple_strequal(id, m->id))
return m;
}
return NULL;
diff --git a/finch/gntconv.c b/finch/gntconv.c
index e2d2740b3c..0c8aaa3a37 100644
--- a/finch/gntconv.c
+++ b/finch/gntconv.c
@@ -1368,15 +1368,15 @@ cmd_message_color(PurpleConversation *conv, const char *cmd, char **args, char *
int *msgclass = NULL;
int fg, bg;
- if (strcmp(args[0], "receive") == 0)
+ if (purple_strequal(args[0], "receive"))
msgclass = &color_message_receive;
- else if (strcmp(args[0], "send") == 0)
+ else if (purple_strequal(args[0], "send"))
msgclass = &color_message_send;
- else if (strcmp(args[0], "highlight") == 0)
+ else if (purple_strequal(args[0], "highlight"))
msgclass = &color_message_highlight;
- else if (strcmp(args[0], "action") == 0)
+ else if (purple_strequal(args[0], "action"))
msgclass = &color_message_action;
- else if (strcmp(args[0], "timestamp") == 0)
+ else if (purple_strequal(args[0], "timestamp"))
msgclass = &color_timestamp;
else {
if (error)
diff --git a/finch/gntlog.c b/finch/gntlog.c
index b94fe31a34..d64d05677f 100644
--- a/finch/gntlog.c
+++ b/finch/gntlog.c
@@ -87,7 +87,7 @@ static gboolean log_viewer_equal(gconstpointer y, gconstpointer z)
if (a->username && b->username) {
normal = g_strdup(purple_normalize(a->account, a->username));
ret = (a->account == b->account) &&
- !strcmp(normal, purple_normalize(b->account, b->username));
+ purple_strequal(normal, purple_normalize(b->account, b->username));
g_free(normal);
} else {
ret = (a == b);
@@ -118,7 +118,7 @@ static void search_cb(GntWidget *button, FinchLogViewer *lv)
return;
}
- if (lv->search != NULL && !strcmp(lv->search, search_term)) {
+ if (lv->search != NULL && purple_strequal(lv->search, search_term)) {
return;
}
@@ -234,7 +234,7 @@ static void populate_log_tree(FinchLogViewer *lv)
pmonth = purple_utf8_strftime(_("%B %Y"),
log->tm ? log->tm : localtime(&log->time));
- if (strcmp(pmonth, prev_top_month) != 0) {
+ if (!purple_strequal(pmonth, prev_top_month)) {
month = g_strdup(pmonth);
/* top level */
gnt_tree_add_row_last(GNT_TREE(lv->tree),
diff --git a/finch/gntplugin.c b/finch/gntplugin.c
index b6702104c3..8f7b626e10 100644
--- a/finch/gntplugin.c
+++ b/finch/gntplugin.c
@@ -697,7 +697,7 @@ process_pref_frame(PurplePluginPrefFrame *frame)
}
stringlist = g_list_prepend(stringlist, value);
purple_request_field_list_add_icon(field, label, NULL, value);
- if (strcmp(value, current_value) == 0)
+ if (purple_strequal(value, current_value))
purple_request_field_list_add_selected(field, label);
list = list->next->next;
}
diff --git a/finch/gntprefs.c b/finch/gntprefs.c
index 17a80c6dc8..742ddd667f 100644
--- a/finch/gntprefs.c
+++ b/finch/gntprefs.c
@@ -155,7 +155,7 @@ get_pref_field(Prefs *prefs)
select = TRUE;
break;
case PURPLE_PREF_STRING:
- if (strcmp(purple_prefs_get_string(prefs->pref), iter->data) == 0)
+ if (purple_strequal(purple_prefs_get_string(prefs->pref), iter->data))
select = TRUE;
break;
default:
diff --git a/finch/gntrequest.c b/finch/gntrequest.c
index d53f4548da..4927e1a911 100644
--- a/finch/gntrequest.c
+++ b/finch/gntrequest.c
@@ -446,7 +446,7 @@ create_string_field(PurpleRequestField *field, GntWidget **username)
gnt_entry_set_always_suggest(GNT_ENTRY(entry), TRUE);
if (username)
*username = entry;
- } else if (hint && !strcmp(hint, "group")) {
+ } else if (purple_strequal(hint, "group")) {
PurpleBlistNode *node;
for (node = purple_blist_get_root(); node;
node = purple_blist_node_get_sibling_next(node)) {
diff --git a/finch/gntsound.c b/finch/gntsound.c
index ba3e940820..b8c288697c 100644
--- a/finch/gntsound.c
+++ b/finch/gntsound.c
@@ -465,9 +465,9 @@ finch_sound_play_file(const char *filename)
method = purple_prefs_get_string(make_pref("/method"));
- if (!strcmp(method, "nosound")) {
+ if (purple_strequal(method, "nosound")) {
return;
- } else if (!strcmp(method, "beep")) {
+ } else if (purple_strequal(method, "beep")) {
beep();
return;
}
@@ -478,7 +478,7 @@ finch_sound_play_file(const char *filename)
}
#ifndef _WIN32
- if (!strcmp(method, "custom")) {
+ if (purple_strequal(method, "custom")) {
const char *sound_cmd;
char *command;
char *esc_filename;
@@ -512,7 +512,7 @@ finch_sound_play_file(const char *filename)
#ifdef USE_GSTREAMER
if (gst_init_failed) /* Perhaps do beep instead? */
return;
- if (!strcmp(method, "automatic")) {
+ if (purple_strequal(method, "automatic")) {
if (purple_running_gnome()) {
sink = gst_element_factory_make("gconfaudiosink", "sink");
}
@@ -522,13 +522,13 @@ finch_sound_play_file(const char *filename)
purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
return;
}
- } else if (!strcmp(method, "esd")) {
+ } else if (purple_strequal(method, "esd")) {
sink = gst_element_factory_make("esdsink", "sink");
if (!sink) {
purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
return;
}
- } else if (!strcmp(method, "alsa")) {
+ } else if (purple_strequal(method, "alsa")) {
sink = gst_element_factory_make("alsasink", "sink");
if (!sink) {
purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
@@ -814,7 +814,7 @@ load_pref_window(const char * profile)
static void
reload_pref_window(const char *profile)
{
- if (!strcmp(profile, finch_sound_get_active_profile()))
+ if (purple_strequal(profile, finch_sound_get_active_profile()))
return;
load_pref_window(profile);
}
@@ -825,19 +825,19 @@ prof_del_cb(GntWidget *button, gpointer null)
const char * profile = gnt_entry_get_text(GNT_ENTRY(pref_dialog->new_profile));
gchar * pref;
- if (!strcmp(profile, DEFAULT_PROFILE))
+ if (purple_strequal(profile, DEFAULT_PROFILE))
return;
pref = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s", profile);
purple_prefs_remove(pref);
g_free(pref);
- if (!strcmp(pref_dialog->original_profile, profile)) {
+ if (purple_strequal(pref_dialog->original_profile, profile)) {
g_free(pref_dialog->original_profile);
pref_dialog->original_profile = g_strdup(DEFAULT_PROFILE);
}
- if(!strcmp(profile, finch_sound_get_active_profile()))
+ if(purple_strequal(profile, finch_sound_get_active_profile()))
reload_pref_window(DEFAULT_PROFILE);
gnt_tree_remove(GNT_TREE(pref_dialog->profiles), (gchar *) profile);
@@ -1058,7 +1058,7 @@ gboolean finch_sound_is_enabled(void)
if (!method)
return FALSE;
- if (strcmp(method, "nosound") == 0)
+ if (purple_strequal(method, "nosound"))
return FALSE;
return TRUE;
diff --git a/finch/plugins/gnthistory.c b/finch/plugins/gnthistory.c
index b4cd205522..ca577c75f3 100644
--- a/finch/plugins/gnthistory.c
+++ b/finch/plugins/gnthistory.c
@@ -157,7 +157,7 @@ history_prefs_check(PurplePlugin *plugin)
const char *label = _(list->data);
list = g_list_delete_link(list, list);
purple_request_field_list_add_icon(field, label, NULL, list->data);
- if (system && strcmp(system, list->data) == 0)
+ if (purple_strequal(system, list->data))
purple_request_field_list_add_selected(field, label);
list = g_list_delete_link(list, list);
}
diff --git a/finch/plugins/lastlog.c b/finch/plugins/lastlog.c
index 8a4fcb1c25..f9870de712 100644
--- a/finch/plugins/lastlog.c
+++ b/finch/plugins/lastlog.c
@@ -42,13 +42,13 @@ window_kpress_cb(GntWidget *wid, const char *key, GntTextView *view)
{
if (key[0] == 27)
{
- if (strcmp(key, GNT_KEY_DOWN) == 0)
+ if (purple_strequal(key, GNT_KEY_DOWN))
gnt_text_view_scroll(view, 1);
- else if (strcmp(key, GNT_KEY_UP) == 0)
+ else if (purple_strequal(key, GNT_KEY_UP))
gnt_text_view_scroll(view, -1);
- else if (strcmp(key, GNT_KEY_PGDOWN) == 0)
+ else if (purple_strequal(key, GNT_KEY_PGDOWN))
gnt_text_view_scroll(view, wid->priv.height - 2);
- else if (strcmp(key, GNT_KEY_PGUP) == 0)
+ else if (purple_strequal(key, GNT_KEY_PGUP))
gnt_text_view_scroll(view, -(wid->priv.height - 2));
else
return FALSE;
diff --git a/libpurple/buddylist.c b/libpurple/buddylist.c
index 51da1cdf91..4e18a4d3ae 100644
--- a/libpurple/buddylist.c
+++ b/libpurple/buddylist.c
@@ -123,7 +123,7 @@ static guint _purple_blist_hbuddy_equal(struct _purple_hbuddy *hb1, struct _purp
{
return (hb1->group == hb2->group &&
hb1->account == hb2->account &&
- g_str_equal(hb1->name, hb2->name));
+ purple_strequal(hb1->name, hb2->name));
}
static void _purple_blist_hbuddy_free_key(struct _purple_hbuddy *hb)
@@ -372,7 +372,7 @@ blist_to_xmlnode(void)
child = purple_xmlnode_new_child(node, "blist");
localized_default = localized_default_group_name;
- if (g_strcmp0(_("Buddies"), "Buddies") != 0)
+ if (!purple_strequal(_("Buddies"), "Buddies"))
localized_default = _("Buddies");
if (localized_default != NULL) {
purple_xmlnode_set_attrib(child,
@@ -1636,9 +1636,9 @@ PurpleGroup *purple_blist_find_group(const char *name)
if (name == NULL || name[0] == '\0')
name = PURPLE_BLIST_DEFAULT_GROUP_NAME;
- if (g_strcmp0(name, "Buddies") == 0)
+ if (purple_strequal(name, "Buddies"))
name = PURPLE_BLIST_DEFAULT_GROUP_NAME;
- if (g_strcmp0(name, localized_default_group_name) == 0)
+ if (purple_strqual(name, localized_default_group_name))
name = PURPLE_BLIST_DEFAULT_GROUP_NAME;
key = purple_blist_fold_name(name);
@@ -1704,7 +1704,7 @@ purple_blist_find_chat(PurpleAccount *account, const char *name)
g_list_free(parts);
if (purple_chat_get_account(chat) == account && chat_name != NULL &&
- normname != NULL && !strcmp(purple_normalize(account, chat_name), normname)) {
+ purple_strequal(purple_normalize(account, chat_name), normname)) {
g_free(normname);
return chat;
}
diff --git a/libpurple/dbus-server.c b/libpurple/dbus-server.c
index 66b717e912..70f7a0c930 100644
--- a/libpurple/dbus-server.c
+++ b/libpurple/dbus-server.c
@@ -436,7 +436,7 @@ purple_dbus_dispatch_cb(DBusConnection *connection,
return FALSE;
for (i = 0; bindings[i].name; i++)
- if (!strcmp(name, bindings[i].name))
+ if (purple_strequal(name, bindings[i].name))
{
DBusMessage *reply;
DBusError error;
@@ -782,7 +782,7 @@ purple_dbus_signal_emit_purple(const char *name, int num_values,
* flag for each signal that states whether this signal is to be
* dbus-propagated or not.
*/
- if (!strcmp(name, "dbus-method-called"))
+ if (purple_strequal(name, "dbus-method-called"))
return;
newname = purple_dbus_convert_signal_name(name);
diff --git a/libpurple/dbus-useful.c b/libpurple/dbus-useful.c
index da1658d5b6..3d1cef6d42 100644
--- a/libpurple/dbus-useful.c
+++ b/libpurple/dbus-useful.c
@@ -45,10 +45,10 @@ purple_accounts_find_ext(const char *name, const char *protocol_id,
for (l = purple_accounts_get_all(); l != NULL; l = l->next) {
PurpleAccount *account = (PurpleAccount *)l->data;
- if (who && strcmp(purple_normalize(NULL, purple_account_get_username(account)), who))
+ if (who && !purple_strequal(purple_normalize(NULL, purple_account_get_username(account)), who))
continue;
- if (protocol_id && strcmp(purple_account_get_protocol_id(account), protocol_id))
+ if (protocol_id && !purple_strequal(purple_account_get_protocol_id(account), protocol_id))
continue;
if (account_test && !account_test(account))
diff --git a/libpurple/media.c b/libpurple/media.c
index 02bd4b9b8b..7787eb05fc 100644
--- a/libpurple/media.c
+++ b/libpurple/media.c
@@ -463,8 +463,8 @@ purple_media_get_stream(PurpleMedia *media, const gchar *session, const gchar *p
for (; streams; streams = g_list_next(streams)) {
PurpleMediaStream *stream = streams->data;
- if (!strcmp(stream->session->id, session) &&
- !strcmp(stream->participant, participant))
+ if (purple_strequal(stream->session->id, session) &&
+ purple_strequal(stream->participant, participant))
return stream;
}
@@ -485,9 +485,9 @@ purple_media_get_streams(PurpleMedia *media, const gchar *session,
for (; streams; streams = g_list_next(streams)) {
PurpleMediaStream *stream = streams->data;
if ((session == NULL ||
- !strcmp(stream->session->id, session)) &&
+ purple_strequal(stream->session->id, session)) &&
(participant == NULL ||
- !strcmp(stream->participant, participant)))
+ purple_strequal(stream->participant, participant)))
ret = g_list_append(ret, stream);
}
@@ -934,7 +934,7 @@ purple_media_param_is_supported(PurpleMedia *media, const gchar *param)
params = purple_media_backend_get_available_params(media->priv->backend);
for (; *params != NULL; ++params)
- if (!strcmp(*params, param))
+ if (purple_strequal(*params, param))
return TRUE;
#endif
return FALSE;
diff --git a/libpurple/media/backend-fs2.c b/libpurple/media/backend-fs2.c
index 13b8686e7e..1e537a1b9f 100644
--- a/libpurple/media/backend-fs2.c
+++ b/libpurple/media/backend-fs2.c
@@ -840,8 +840,8 @@ get_stream(PurpleMediaBackendFs2 *self,
for (; streams; streams = g_list_next(streams)) {
PurpleMediaBackendFs2Stream *stream = streams->data;
- if (!strcmp(stream->session->id, sess_id) &&
- !strcmp(stream->participant, name))
+ if (purple_strequal(stream->session->id, sess_id) &&
+ purple_strequal(stream->participant, name))
return stream;
}
@@ -863,9 +863,9 @@ get_streams(PurpleMediaBackendFs2 *self,
for (; streams; streams = g_list_next(streams)) {
PurpleMediaBackendFs2Stream *stream = streams->data;
- if (sess_id != NULL && strcmp(stream->session->id, sess_id))
+ if (sess_id != NULL && !purple_strequal(stream->session->id, sess_id))
continue;
- else if (name != NULL && strcmp(stream->participant, name))
+ else if (name != NULL && !purple_strequal(stream->participant, name))
continue;
else
ret = g_list_prepend(ret, stream);
@@ -1724,7 +1724,7 @@ create_session(PurpleMediaBackendFs2 *self, const gchar *sess_id,
* receiving the src-pad-added signal.
* Only works for non-multicast FsRtpSessions.
*/
- if (!!strcmp(transmitter, "multicast"))
+ if (!purple_strequal(transmitter, "multicast"))
g_object_set(G_OBJECT(session->session),
"no-rtcp-timeout", 0, NULL);
@@ -2003,7 +2003,7 @@ create_stream(PurpleMediaBackendFs2 *self,
++_num_params;
}
- if (turn_ip && !strcmp("nice", transmitter) && !got_turn_from_protocol) {
+ if (turn_ip && purple_strequal("nice", transmitter) && !got_turn_from_protocol) {
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
GValueArray *relay_info = g_value_array_new(0);
G_GNUC_END_IGNORE_DEPRECATIONS
@@ -2019,7 +2019,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
relay_info = append_relay_info(relay_info, turn_ip, port, username,
password, "udp");
}
-
+
/* TCP */
port = purple_prefs_get_int("/purple/network/turn_port_tcp");
if (port > 0) {
@@ -2056,7 +2056,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
stream->participant = g_strdup(who);
stream->session = session;
stream->stream = fsstream;
- stream->supports_add = !strcmp(transmitter, "nice");
+ stream->supports_add = purple_strequal(transmitter, "nice");
priv->streams = g_list_append(priv->streams, stream);
@@ -2463,7 +2463,7 @@ param_to_sdes_type(const gchar *param)
guint i;
for (i = 0; supported[i] != NULL; ++i) {
- if (!strcmp(param, supported[i])) {
+ if (purple_strequal(param, supported[i])) {
return sdes_types[i];
}
}
diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
index b4f5beef55..be7dd4b47e 100644
--- a/libpurple/mediamanager.c
+++ b/libpurple/mediamanager.c
@@ -623,9 +623,9 @@ get_app_data_info_and_lock (PurpleMediaManager *manager,
PurpleMediaAppDataInfo *info = i->data;
if (info->media == media &&
- g_strcmp0 (info->session_id, session_id) == 0 &&
+ purple_strequal (info->session_id, session_id) &&
(participant == NULL ||
- g_strcmp0 (info->participant, participant) == 0)) {
+ purple_strequal (info->participant, participant))) {
return info;
}
}
@@ -1236,7 +1236,7 @@ purple_media_manager_get_element_info(PurpleMediaManager *manager,
for (; iter; iter = g_list_next(iter)) {
gchar *element_id =
purple_media_element_info_get_id(iter->data);
- if (!strcmp(element_id, id)) {
+ if (purple_strequal(element_id, id)) {
g_free(element_id);
g_object_ref(iter->data);
return iter->data;
@@ -1457,11 +1457,8 @@ purple_media_manager_create_output_window(PurpleMediaManager *manager,
PurpleMediaOutputWindow *ow = iter->data;
if (ow->sink == NULL && ow->media == media &&
- ((participant != NULL &&
- ow->participant != NULL &&
- !strcmp(participant, ow->participant)) ||
- (participant == ow->participant)) &&
- !strcmp(session_id, ow->session_id)) {
+ purple_strequal(participant, ow->participant) &&
+ purple_strequal(session_id, ow->session_id)) {
GstBus *bus;
GstElement *queue, *convert, *scale;
GstElement *tee = purple_media_get_tee(media,
@@ -1649,12 +1646,8 @@ purple_media_manager_remove_output_windows(PurpleMediaManager *manager,
iter = g_list_next(iter);
if (media == ow->media &&
- ((session_id != NULL && ow->session_id != NULL &&
- !strcmp(session_id, ow->session_id)) ||
- (session_id == ow->session_id)) &&
- ((participant != NULL && ow->participant != NULL &&
- !strcmp(participant, ow->participant)) ||
- (participant == ow->participant)))
+ purple_strequal(session_id, ow->session_id) &&
+ purple_strequal(participant, ow->participant))
purple_media_manager_remove_output_window(
manager, ow->id);
}
diff --git a/libpurple/plugins/joinpart.c b/libpurple/plugins/joinpart.c
index a850f9d693..aed726cbe3 100644
--- a/libpurple/plugins/joinpart.c
+++ b/libpurple/plugins/joinpart.c
@@ -65,7 +65,7 @@ static gboolean joinpart_key_equal(const struct joinpart_key *a, const struct jo
else if (b == NULL)
return FALSE;
- return (a->conv == b->conv) && !strcmp(a->user, b->user);
+ return (a->conv == b->conv) && purple_strequal(a->user, b->user);
}
static void joinpart_key_destroy(struct joinpart_key *key)
diff --git a/libpurple/plugins/log_reader.c b/libpurple/plugins/log_reader.c
index 1d38daddef..08ce9460da 100644
--- a/libpurple/plugins/log_reader.c
+++ b/libpurple/plugins/log_reader.c
@@ -31,7 +31,7 @@ static int get_month(const char *month)
const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL};
for (iter = 0; months[iter]; iter++) {
- if (strcmp(month, months[iter]) == 0)
+ if (purple_strequal(month, months[iter]))
break;
}
return iter;
@@ -522,7 +522,7 @@ static GList *msn_logger_list(PurpleLogType type, const char *sn, PurpleAccount
g_return_val_if_fail(sn != NULL, NULL);
g_return_val_if_fail(account != NULL, NULL);
- if (strcmp(purple_account_get_protocol_id(account), "prpl-msn"))
+ if (!purple_strequal(purple_account_get_protocol_id(account), "prpl-msn"))
return NULL;
logdir = purple_prefs_get_string("/plugins/core/log_reader/msn/log_directory");
@@ -670,7 +670,7 @@ static GList *msn_logger_list(PurpleLogType type, const char *sn, PurpleAccount
}
path = g_build_filename(path, name, NULL);
- if (!strcmp(c, ".xml") &&
+ if (purple_strequal(c, ".xml") &&
g_file_test(path, G_FILE_TEST_EXISTS)) {
found = TRUE;
g_free(logfile);
@@ -732,7 +732,7 @@ static GList *msn_logger_list(PurpleLogType type, const char *sn, PurpleAccount
continue;
}
- if (strcmp(session_id, old_session_id)) {
+ if (!purple_strequal(session_id, old_session_id)) {
/*
* The session ID differs from the last message.
* Thus, this is the start of a new conversation.
@@ -822,7 +822,7 @@ static char * msn_logger_read (PurpleLog *log, PurpleLogReadFlags *flags)
break;
}
- if (strcmp(new_session_id, data->session_id)) {
+ if (!purple_strequal(new_session_id, data->session_id)) {
/* The session ID differs from the first message.
* Thus, this is the start of a new conversation.
*/
@@ -1671,7 +1671,7 @@ static GList *qip_logger_list(PurpleLogType type, const char *sn, PurpleAccount
memset(&tm, 0, sizeof(tm));
/* QIP only supports ICQ. */
- if (strcmp(purple_account_get_protocol_id(account), "prpl-icq"))
+ if (!purple_strequal(purple_account_get_protocol_id(account), "prpl-icq"))
return NULL;
logdir = purple_prefs_get_string("/plugins/core/log_reader/qip/log_directory");
@@ -2138,7 +2138,7 @@ static GList *amsn_logger_list(PurpleLogType type, const char *sn, PurpleAccount
return NULL;
/* aMSN only works with MSN/WLM */
- if (strcmp(purple_account_get_protocol_id(account), "prpl-msn"))
+ if (!purple_strequal(purple_account_get_protocol_id(account), "prpl-msn"))
return NULL;
username = g_strdup(purple_normalize(account, purple_account_get_username(account)));
diff --git a/libpurple/plugins/one_time_password.c b/libpurple/plugins/one_time_password.c
index 6cffafc130..f74379b83a 100644
--- a/libpurple/plugins/one_time_password.c
+++ b/libpurple/plugins/one_time_password.c
@@ -121,7 +121,7 @@ plugin_unload(PurplePlugin *plugin, GError **error)
options = purple_protocol_get_account_options(protocol);
while (options != NULL) {
option = (PurpleAccountOption *) options->data;
- if (strcmp(PREF_NAME, purple_account_option_get_setting(option)) == 0) {
+ if (purple_strequal(PREF_NAME, purple_account_option_get_setting(option))) {
protocol->account_options = g_list_delete_link(protocol->account_options, options);
purple_account_option_destroy(option);
break;
diff --git a/libpurple/plugins/signals-test.c b/libpurple/plugins/signals-test.c
index 09d1886742..cba1c42f70 100644
--- a/libpurple/plugins/signals-test.c
+++ b/libpurple/plugins/signals-test.c
@@ -675,7 +675,7 @@ jabber_watched_iq(PurpleConnection *pc, const char *type, const char *id,
type, id, from, child, child->name,
purple_xmlnode_get_namespace(child));
- if (g_str_equal(type, "get") || g_str_equal(type, "set")) {
+ if (purple_strequal(type, "get") || purple_strequal(type, "set")) {
/* Send the requisite reply */
PurpleXmlNode *iq = purple_xmlnode_new("iq");
purple_xmlnode_set_attrib(iq, "to", from);
diff --git a/libpurple/pounce.c b/libpurple/pounce.c
index 8b8fc29eda..a722bb67ec 100644
--- a/libpurple/pounce.c
+++ b/libpurple/pounce.c
@@ -730,7 +730,7 @@ purple_pounce_destroy_all_by_buddy(PurpleBuddy *buddy)
pouncer = purple_pounce_get_pouncer(pounce);
pouncee = purple_pounce_get_pouncee(pounce);
- if ( (pouncer == bacct) && (strcmp(pouncee, bname) == 0) )
+ if ( (pouncer == bacct) && (purple_strequal(pouncee, bname)) )
purple_pounce_destroy(pounce);
}
}
diff --git a/libpurple/protocols/bonjour/bonjour.c b/libpurple/protocols/bonjour/bonjour.c
index 81e18e8d26..41c9d31230 100644
--- a/libpurple/protocols/bonjour/bonjour.c
+++ b/libpurple/protocols/bonjour/bonjour.c
@@ -509,9 +509,9 @@ _set_default_name_cb(gpointer data) {
for(; tmp != NULL; tmp = tmp->next) {
option = tmp->data;
- if (strcmp("first", purple_account_option_get_setting(option)) == 0)
+ if (purple_strequal("first", purple_account_option_get_setting(option)))
purple_account_option_set_default_string(option, default_firstname);
- else if (strcmp("last", purple_account_option_get_setting(option)) == 0)
+ else if (purple_strequal("last", purple_account_option_get_setting(option)))
purple_account_option_set_default_string(option, default_lastname);
}
diff --git a/libpurple/protocols/bonjour/bonjour_ft.c b/libpurple/protocols/bonjour/bonjour_ft.c
index 0165998386..a643a174a1 100644
--- a/libpurple/protocols/bonjour/bonjour_ft.c
+++ b/libpurple/protocols/bonjour/bonjour_ft.c
@@ -66,14 +66,14 @@ xep_ft_si_reject(BonjourData *bd, const char *id, const char *to, const char *er
purple_xmlnode_set_attrib(error_node, "type", error_type);
/* TODO: Make this better */
- if (!strcmp(error_code, "403")) {
+ if (purple_strequal(error_code, "403")) {
PurpleXmlNode *tmp_node = purple_xmlnode_new_child(error_node, "forbidden");
purple_xmlnode_set_namespace(tmp_node, "urn:ietf:params:xml:ns:xmpp-stanzas");
tmp_node = purple_xmlnode_new_child(error_node, "text");
purple_xmlnode_set_namespace(tmp_node, "urn:ietf:params:xml:ns:xmpp-stanzas");
purple_xmlnode_insert_data(tmp_node, "Offer Declined", -1);
- } else if (!strcmp(error_code, "404")) {
+ } else if (purple_strequal(error_code, "404")) {
PurpleXmlNode *tmp_node = purple_xmlnode_new_child(error_node, "item-not-found");
purple_xmlnode_set_namespace(tmp_node, "urn:ietf:params:xml:ns:xmpp-stanzas");
}
@@ -164,8 +164,8 @@ bonjour_si_xfer_find(BonjourData *bd, const char *sid, const char *from)
xf = purple_xfer_get_protocol_data(xfer);
if(xf == NULL)
break;
- if(xf->sid && purple_xfer_get_remote_user(xfer) && !strcmp(xf->sid, sid) &&
- !strcmp(purple_xfer_get_remote_user(xfer), from))
+ if(xf->sid && purple_xfer_get_remote_user(xfer) && purple_strequal(xf->sid, sid) &&
+ purple_strequal(purple_xfer_get_remote_user(xfer), from))
return xfer;
}
@@ -451,34 +451,38 @@ xep_si_parse(PurpleConnection *pc, PurpleXmlNode *packet, PurpleBuddy *pb)
if(!type)
return;
- if(!strcmp(type, "set")) {
- const char *profile;
+ if(purple_strequal(type, "set")) {
PurpleXmlNode *si;
gboolean parsed_receive = FALSE;
si = purple_xmlnode_get_child(packet, "si");
purple_debug_info("bonjour", "si offer Message type - SET.\n");
- if (si && (profile = purple_xmlnode_get_attrib(si, "profile"))
- && !strcmp(profile, "http://jabber.org/protocol/si/profile/file-transfer")) {
- const char *filename = NULL, *filesize_str = NULL;
- goffset filesize = 0;
- PurpleXmlNode *file;
-
- const char *sid = purple_xmlnode_get_attrib(si, "id");
-
- if ((file = purple_xmlnode_get_child(si, "file"))) {
- filename = purple_xmlnode_get_attrib(file, "name");
- if((filesize_str = purple_xmlnode_get_attrib(file, "size")))
- filesize = g_ascii_strtoll(filesize_str, NULL, 10);
- }
+ if (si) {
+ const char *profile;
+
+ profile = purple_xmlnode_get_attrib(si, "profile");
+
+ if (purple_strequal(profile, "http://jabber.org/protocol/si/profile/file-transfer")) {
+ const char *filename = NULL, *filesize_str = NULL;
+ goffset filesize = 0;
+ PurpleXmlNode *file;
+
+ const char *sid = purple_xmlnode_get_attrib(si, "id");
+
+ if ((file = purple_xmlnode_get_child(si, "file"))) {
+ filename = purple_xmlnode_get_attrib(file, "name");
+ if((filesize_str = purple_xmlnode_get_attrib(file, "size")))
+ filesize = g_ascii_strtoll(filesize_str, NULL, 10);
+ }
- /* TODO: Make sure that it is advertising a bytestreams transfer */
+ /* TODO: Make sure that it is advertising a bytestreams transfer */
- if (filename) {
- bonjour_xfer_receive(pc, id, sid, name, filesize, filename, XEP_BYTESTREAMS);
+ if (filename) {
+ bonjour_xfer_receive(pc, id, sid, name, filesize, filename, XEP_BYTESTREAMS);
- parsed_receive = TRUE;
+ parsed_receive = TRUE;
+ }
}
}
@@ -489,7 +493,7 @@ xep_si_parse(PurpleConnection *pc, PurpleXmlNode *packet, PurpleBuddy *pb)
xep_ft_si_reject(bd, id, name, "403", "cancel");
/*TODO: Send Cancel (501) */
}
- } else if(!strcmp(type, "result")) {
+ } else if(purple_strequal(type, "result")) {
purple_debug_info("bonjour", "si offer Message type - RESULT.\n");
xfer = bonjour_si_xfer_find(bd, id, name);
@@ -501,7 +505,7 @@ xep_si_parse(PurpleConnection *pc, PurpleXmlNode *packet, PurpleBuddy *pb)
} else
bonjour_bytestreams_init(xfer);
- } else if(!strcmp(type, "error")) {
+ } else if(purple_strequal(type, "error")) {
purple_debug_info("bonjour", "si offer Message type - ERROR.\n");
xfer = bonjour_si_xfer_find(bd, id, name);
@@ -517,7 +521,7 @@ xep_si_parse(PurpleConnection *pc, PurpleXmlNode *packet, PurpleBuddy *pb)
/**
* Will compare a host with a buddy_ip.
*
- * Additionally to a common '!strcmp(host, buddy_ip)', it will also return TRUE
+ * Additionally to a common 'purple_strequal(host, buddy_ip)', it will also return TRUE
* if 'host' is a link local IPv6 address without an appended interface
* identifier and 'buddy_ip' string is "host" + "%iface".
*
@@ -568,7 +572,7 @@ xep_cmp_addr(const char *host, const char *buddy_ip)
out:
#endif
- return !strcmp(host, buddy_ip);
+ return purple_strequal(host, buddy_ip);
}
static inline gint
@@ -723,7 +727,7 @@ xep_bytestreams_parse(PurpleConnection *pc, PurpleXmlNode *packet, PurpleBuddy *
if (!query)
return;
- if(strcmp(type, "set")) {
+ if(!purple_strequal(type, "set")) {
purple_debug_info("bonjour", "bytestream offer Message type - Unknown-%s.\n", type);
return;
}
diff --git a/libpurple/protocols/bonjour/buddy.c b/libpurple/protocols/bonjour/buddy.c
index 3e9e7e2fc3..5a88f46986 100644
--- a/libpurple/protocols/bonjour/buddy.c
+++ b/libpurple/protocols/bonjour/buddy.c
@@ -67,31 +67,31 @@ set_bonjour_buddy_value(BonjourBuddy* buddy, const char *record_key, const char
g_return_if_fail(record_key != NULL);
- if (!strcmp(record_key, "1st"))
+ if (purple_strequal(record_key, "1st"))
fld = &buddy->first;
- else if(!strcmp(record_key, "email"))
+ else if(purple_strequal(record_key, "email"))
fld = &buddy->email;
- else if(!strcmp(record_key, "ext"))
+ else if(purple_strequal(record_key, "ext"))
fld = &buddy->ext;
- else if(!strcmp(record_key, "jid"))
+ else if(purple_strequal(record_key, "jid"))
fld = &buddy->jid;
- else if(!strcmp(record_key, "last"))
+ else if(purple_strequal(record_key, "last"))
fld = &buddy->last;
- else if(!strcmp(record_key, "msg"))
+ else if(purple_strequal(record_key, "msg"))
fld = &buddy->msg;
- else if(!strcmp(record_key, "nick"))
+ else if(purple_strequal(record_key, "nick"))
fld = &buddy->nick;
- else if(!strcmp(record_key, "node"))
+ else if(purple_strequal(record_key, "node"))
fld = &buddy->node;
- else if(!strcmp(record_key, "phsh"))
+ else if(purple_strequal(record_key, "phsh"))
fld = &buddy->phsh;
- else if(!strcmp(record_key, "status"))
+ else if(purple_strequal(record_key, "status"))
fld = &buddy->status;
- else if(!strcmp(record_key, "vc"))
+ else if(purple_strequal(record_key, "vc"))
fld = &buddy->vc;
- else if(!strcmp(record_key, "ver"))
+ else if(purple_strequal(record_key, "ver"))
fld = &buddy->ver;
- else if(!strcmp(record_key, "AIM"))
+ else if(purple_strequal(record_key, "AIM"))
fld = &buddy->AIM;
if(fld == NULL)
@@ -193,7 +193,7 @@ bonjour_buddy_add_to_purple(BonjourBuddy *bonjour_buddy, PurpleBuddy *buddy)
/* Deal with the buddy icon */
old_hash = purple_buddy_icons_get_checksum_for_user(buddy);
new_hash = (bonjour_buddy->phsh && *(bonjour_buddy->phsh)) ? bonjour_buddy->phsh : NULL;
- if (new_hash && (!old_hash || strcmp(old_hash, new_hash) != 0)) {
+ if (new_hash && !purple_strequal(old_hash, new_hash)) {
/* Look up the new icon data */
/* TODO: Make sure the hash assigned to the retrieved buddy icon is the same
* as what we looked up. */
diff --git a/libpurple/protocols/bonjour/jabber.c b/libpurple/protocols/bonjour/jabber.c
index 5c71445b2f..8c8f6a88bb 100644
--- a/libpurple/protocols/bonjour/jabber.c
+++ b/libpurple/protocols/bonjour/jabber.c
@@ -373,9 +373,9 @@ void bonjour_jabber_process_packet(PurpleBuddy *pb, PurpleXmlNode *packet) {
g_return_if_fail(packet != NULL);
g_return_if_fail(pb != NULL);
- if (g_strcmp0(packet->name, "message") == 0)
+ if (purple_strequal(packet->name, "message"))
_jabber_parse_and_write_message_to_ui(packet, pb);
- else if (g_strcmp0(packet->name, "iq") == 0)
+ else if (purple_strequal(packet->name, "iq"))
xep_iq_parse(packet, pb);
else {
purple_debug_warning("bonjour", "Unknown packet: %s\n",
@@ -1168,7 +1168,7 @@ bonjour_jabber_close_conversation(BonjourJabberConversation *bconv)
tmp_next = xfers->next;
/* We only need to cancel this if it hasn't actually started transferring. */
/* This will change if we ever support IBB transfers. */
- if (strcmp(purple_xfer_get_remote_user(xfer), purple_buddy_get_name(bconv->pb)) == 0
+ if (purple_strequal(purple_xfer_get_remote_user(xfer), purple_buddy_get_name(bconv->pb))
&& (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_NOT_STARTED
|| purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_UNKNOWN)) {
purple_xfer_cancel_remote(xfer);
diff --git a/libpurple/protocols/bonjour/mdns_avahi.c b/libpurple/protocols/bonjour/mdns_avahi.c
index 8446bb2466..bdd394c4a6 100644
--- a/libpurple/protocols/bonjour/mdns_avahi.c
+++ b/libpurple/protocols/bonjour/mdns_avahi.c
@@ -71,9 +71,9 @@ _find_resolver_data(gconstpointer a, gconstpointer b) {
if(rd_a->interface == rd_b->interface
&& rd_a->protocol == rd_b->protocol
- && !strcmp(rd_a->name, rd_b->name)
- && !strcmp(rd_a->type, rd_b->type)
- && !strcmp(rd_a->domain, rd_b->domain)) {
+ && purple_strequal(rd_a->name, rd_b->name)
+ && purple_strequal(rd_a->type, rd_b->type)
+ && purple_strequal(rd_a->domain, rd_b->domain)) {
ret = 0;
}
@@ -185,7 +185,7 @@ _resolver_callback(AvahiServiceResolver *r, AvahiIfIndex interface, AvahiProtoco
purple_debug_info("bonjour", "_resolve_callback - name:%s ip:%s prev_ip:%s\n",
name, ip, rd->ip);
- if (rd->ip == NULL || strcmp(rd->ip, ip) != 0) {
+ if (rd->ip == NULL || !purple_strequal(rd->ip, ip)) {
/* We store duplicates in bb->ips, so we always remove the one */
if (rd->ip != NULL) {
bb->ips = g_slist_remove(bb->ips, rd->ip);
diff --git a/libpurple/protocols/bonjour/mdns_dns_sd.c b/libpurple/protocols/bonjour/mdns_dns_sd.c
index fd0186c956..b39f4a7c10 100644
--- a/libpurple/protocols/bonjour/mdns_dns_sd.c
+++ b/libpurple/protocols/bonjour/mdns_dns_sd.c
@@ -79,9 +79,9 @@ _find_resolver_data(gconstpointer a, gconstpointer b) {
gint ret = 1;
if(rd_a->if_idx == rd_b->if_idx
- && !strcmp(rd_a->name, rd_b->name)
- && !strcmp(rd_a->type, rd_b->type)
- && !strcmp(rd_a->domain, rd_b->domain)) {
+ && purple_strequal(rd_a->name, rd_b->name)
+ && purple_strequal(rd_a->type, rd_b->type)
+ && purple_strequal(rd_a->domain, rd_b->domain)) {
ret = 0;
}
@@ -358,7 +358,7 @@ _mdns_service_browse_callback(DNSServiceRef sdRef, DNSServiceFlags flags, uint32
else {
while (tmp) {
BonjourBuddy *bb_tmp = tmp->data;
- if (!strcmp(bb_tmp->name, serviceName)) {
+ if (purple_strequal(bb_tmp->name, serviceName)) {
bb = bb_tmp;
break;
}
diff --git a/libpurple/protocols/gg/gg.c b/libpurple/protocols/gg/gg.c
index 465b20a8e9..85854ed64d 100644
--- a/libpurple/protocols/gg/gg.c
+++ b/libpurple/protocols/gg/gg.c
@@ -706,9 +706,9 @@ static void ggp_login(PurpleAccount *account)
"opportunistic_tls");
purple_debug_info("gg", "Requested encryption type: %s\n",
encryption_type);
- if (strcmp(encryption_type, "opportunistic_tls") == 0)
+ if (purple_strequal(encryption_type, "opportunistic_tls"))
glp->tls = GG_SSL_ENABLED;
- else if (strcmp(encryption_type, "require_tls") == 0) {
+ else if (purple_strequal(encryption_type, "require_tls")) {
if (gg_libgadu_check_feature(GG_LIBGADU_FEATURE_SSL))
glp->tls = GG_SSL_REQUIRED;
else {
@@ -728,9 +728,9 @@ static void ggp_login(PurpleAccount *account)
"protocol_version", "default");
purple_debug_info("gg", "Requested protocol version: %s\n",
protocol_version);
- if (g_strcmp0(protocol_version, "gg10") == 0)
+ if (purple_strequal(protocol_version, "gg10"))
glp->protocol_version = GG_PROTOCOL_VERSION_100;
- else if (g_strcmp0(protocol_version, "gg11") == 0)
+ else if (purple_strequal(protocol_version, "gg11"))
glp->protocol_version = GG_PROTOCOL_VERSION_110;
glp->compatibility = GG_COMPAT_1_12_0;
@@ -828,7 +828,7 @@ static void ggp_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup
gg_add_notify(info->session, ggp_str_to_uin(name));
/* gg server won't tell us our status here */
- if (strcmp(purple_account_get_username(account), name) == 0)
+ if (purple_strequal(purple_account_get_username(account), name))
ggp_status_fake_to_self(gc);
ggp_roster_add_buddy(gc, buddy, group, message);
diff --git a/libpurple/protocols/irc/cmds.c b/libpurple/protocols/irc/cmds.c
index 0cc5ae2231..a7d4d10380 100644
--- a/libpurple/protocols/irc/cmds.c
+++ b/libpurple/protocols/irc/cmds.c
@@ -51,7 +51,7 @@ int irc_cmd_away(struct irc_conn *irc, const char *cmd, const char *target, cons
{
char *buf, *message;
- if (args[0] && strcmp(cmd, "back")) {
+ if (args[0] && !purple_strequal(cmd, "back")) {
message = purple_markup_strip_html(args[0]);
purple_util_chrreplace(message, '\n', ' ');
buf = irc_format(irc, "v:", "AWAY", message);
@@ -277,7 +277,7 @@ int irc_cmd_mode(struct irc_conn *irc, const char *cmd, const char *target, cons
if (!args)
return 0;
- if (!strcmp(cmd, "mode")) {
+ if (purple_strequal(cmd, "mode")) {
if (!args[0] && irc_ischannel(target))
buf = irc_format(irc, "vc", "MODE", target);
else if (args[0] && (*args[0] == '+' || *args[0] == '-'))
@@ -286,7 +286,7 @@ int irc_cmd_mode(struct irc_conn *irc, const char *cmd, const char *target, cons
buf = irc_format(irc, "vn", "MODE", args[0]);
else
return 0;
- } else if (!strcmp(cmd, "umode")) {
+ } else if (purple_strequal(cmd, "umode")) {
if (!args[0])
return 0;
gc = purple_account_get_connection(irc->account);
@@ -340,16 +340,16 @@ int irc_cmd_op(struct irc_conn *irc, const char *cmd, const char *target, const
if (!args || !args[0] || !*args[0])
return 0;
- if (!strcmp(cmd, "op")) {
+ if (purple_strequal(cmd, "op")) {
sign = "+";
mode = "o";
- } else if (!strcmp(cmd, "deop")) {
+ } else if (purple_strequal(cmd, "deop")) {
sign = "-";
mode = "o";
- } else if (!strcmp(cmd, "voice")) {
+ } else if (purple_strequal(cmd, "voice")) {
sign = "+";
mode = "v";
- } else if (!strcmp(cmd, "devoice")) {
+ } else if (purple_strequal(cmd, "devoice")) {
sign = "-";
mode = "v";
} else {
@@ -447,7 +447,7 @@ int irc_cmd_privmsg(struct irc_conn *irc, const char *cmd, const char *target, c
msg = g_strndup(cur, end - cur);
- if(!strcmp(cmd, "notice"))
+ if(purple_strequal(cmd, "notice"))
buf = irc_format(irc, "vt:", "NOTICE", args[0], msg);
else
buf = irc_format(irc, "vt:", "PRIVMSG", args[0], msg);
@@ -619,9 +619,9 @@ int irc_cmd_wallops(struct irc_conn *irc, const char *cmd, const char *target, c
if (!args || !args[0])
return 0;
- if (!strcmp(cmd, "wallops"))
+ if (purple_strequal(cmd, "wallops"))
buf = irc_format(irc, "v:", "WALLOPS", args[0]);
- else if (!strcmp(cmd, "operwall"))
+ else if (purple_strequal(cmd, "operwall"))
buf = irc_format(irc, "v:", "OPERWALL", args[0]);
else
return 0;
diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c
index f71d45fce0..f08683bef3 100644
--- a/libpurple/protocols/irc/irc.c
+++ b/libpurple/protocols/irc/irc.c
@@ -119,12 +119,12 @@ int irc_send(struct irc_conn *irc, const char *buf)
int irc_send_len(struct irc_conn *irc, const char *buf, int buflen)
{
- char *tosend= g_strdup(buf);
+ char *tosend = g_strdup(buf);
int len;
GBytes *data;
purple_signal_emit(_irc_protocol, "irc-sending-text", purple_account_get_connection(irc->account), &tosend);
-
+
if (tosend == NULL)
return 0;
@@ -529,12 +529,12 @@ static void irc_set_status(PurpleAccount *account, PurpleStatus *status)
args[0] = NULL;
- if (!strcmp(status_id, "away")) {
+ if (purple_strequal(status_id, "away")) {
args[0] = purple_status_get_attr_string(status, "message");
if ((args[0] == NULL) || (*args[0] == '\0'))
args[0] = _("Away");
irc_cmd_away(irc, "away", NULL, args);
- } else if (!strcmp(status_id, "available")) {
+ } else if (purple_strequal(status_id, "available")) {
irc_cmd_away(irc, "back", NULL, args);
}
}
diff --git a/libpurple/protocols/irc/msgs.c b/libpurple/protocols/irc/msgs.c
index 58c2e52bca..4aac74a726 100644
--- a/libpurple/protocols/irc/msgs.c
+++ b/libpurple/protocols/irc/msgs.c
@@ -220,13 +220,13 @@ void irc_msg_features(struct irc_conn *irc, const char *name, const char *from,
void irc_msg_luser(struct irc_conn *irc, const char *name, const char *from, char **args)
{
- if (!strcmp(name, "251")) {
+ if (purple_strequal(name, "251")) {
/* 251 is required, so we pluck our nick from here and
* finalize connection */
irc_connected(irc, args[0]);
/* Some IRC servers seem to not send a 255 numeric, so
* I guess we can't require it; 251 will do. */
- /* } else if (!strcmp(name, "255")) { */
+ /* } else if (purple_strequal(name, "255")) { */
}
}
@@ -265,7 +265,7 @@ void irc_msg_ban(struct irc_conn *irc, const char *name, const char *from, char
chat = purple_conversations_find_chat_with_account(args[1], irc->account);
- if (!strcmp(name, "367")) {
+ if (purple_strequal(name, "367")) {
char *msg = NULL;
/* Ban list entry */
if (args[3] && args[4]) {
@@ -286,7 +286,7 @@ void irc_msg_ban(struct irc_conn *irc, const char *name, const char *from, char
purple_debug_info("irc", "%s\n", msg);
}
g_free(msg);
- } else if (!strcmp(name, "368")) {
+ } else if (purple_strequal(name, "368")) {
if (!chat)
return;
/* End of ban list */
@@ -346,44 +346,44 @@ void irc_msg_chanmode(struct irc_conn *irc, const char *name, const char *from,
void irc_msg_whois(struct irc_conn *irc, const char *name, const char *from, char **args)
{
if (!irc->whois.nick) {
- purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected %s reply for %s\n", !strcmp(name, "314") ? "WHOWAS" : "WHOIS"
+ purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected %s reply for %s\n", purple_strequal(name, "314") ? "WHOWAS" : "WHOIS"
, args[1]);
return;
}
if (purple_utf8_strcasecmp(irc->whois.nick, args[1])) {
- purple_debug(PURPLE_DEBUG_WARNING, "irc", "Got %s reply for %s while waiting for %s\n", !strcmp(name, "314") ? "WHOWAS" : "WHOIS"
+ purple_debug(PURPLE_DEBUG_WARNING, "irc", "Got %s reply for %s while waiting for %s\n", purple_strequal(name, "314") ? "WHOWAS" : "WHOIS"
, args[1], irc->whois.nick);
return;
}
- if (!strcmp(name, "301")) {
+ if (purple_strequal(name, "301")) {
irc->whois.away = g_strdup(args[2]);
- } else if (!strcmp(name, "311") || !strcmp(name, "314")) {
+ } else if (purple_strequal(name, "311") || purple_strequal(name, "314")) {
irc->whois.ident = g_strdup(args[2]);
irc->whois.host = g_strdup(args[3]);
irc->whois.real = g_strdup(args[5]);
- } else if (!strcmp(name, "312")) {
+ } else if (purple_strequal(name, "312")) {
irc->whois.server = g_strdup(args[2]);
irc->whois.serverinfo = g_strdup(args[3]);
- } else if (!strcmp(name, "313")) {
+ } else if (purple_strequal(name, "313")) {
irc->whois.ircop = 1;
- } else if (!strcmp(name, "317")) {
+ } else if (purple_strequal(name, "317")) {
irc->whois.idle = atoi(args[2]);
if (args[3])
irc->whois.signon = (time_t)atoi(args[3]);
- } else if (!strcmp(name, "319")) {
+ } else if (purple_strequal(name, "319")) {
if (irc->whois.channels == NULL) {
irc->whois.channels = g_string_new(args[2]);
} else {
irc->whois.channels = g_string_append(irc->whois.channels, args[2]);
}
- } else if (!strcmp(name, "320")) {
+ } else if (purple_strequal(name, "320")) {
irc->whois.identified = 1;
- } else if (!strcmp(name, "330")) {
+ } else if (purple_strequal(name, "330")) {
purple_debug(PURPLE_DEBUG_INFO, "irc", "330 %s: 1=[%s] 2=[%s] 3=[%s]",
name, args[1], args[2], args[3]);
- if (!strcmp(args[3], "is logged in as"))
+ if (purple_strequal(args[3], "is logged in as"))
irc->whois.login = g_strdup(args[2]);
}
}
@@ -395,12 +395,12 @@ void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from,
PurpleNotifyUserInfo *user_info;
if (!irc->whois.nick) {
- purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected End of %s for %s\n", !strcmp(name, "369") ? "WHOWAS" : "WHOIS"
+ purple_debug(PURPLE_DEBUG_WARNING, "irc", "Unexpected End of %s for %s\n", purple_strequal(name, "369") ? "WHOWAS" : "WHOIS"
, args[1]);
return;
}
if (purple_utf8_strcasecmp(irc->whois.nick, args[1])) {
- purple_debug(PURPLE_DEBUG_WARNING, "irc", "Received end of %s for %s, expecting %s\n", !strcmp(name, "369") ? "WHOWAS" : "WHOIS"
+ purple_debug(PURPLE_DEBUG_WARNING, "irc", "Received end of %s for %s, expecting %s\n", purple_strequal(name, "369") ? "WHOWAS" : "WHOIS"
, args[1], irc->whois.nick);
return;
}
@@ -453,7 +453,7 @@ void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from,
purple_notify_user_info_add_pair_plaintext(user_info,
_("Online since"), purple_date_format_full(localtime(&irc->whois.signon)));
}
- if (!strcmp(irc->whois.nick, "elb")) {
+ if (purple_strequal(irc->whois.nick, "elb")) {
purple_notify_user_info_add_pair_plaintext(user_info,
_("<b>Defining adjective:</b>"), _("Glorious"));
}
@@ -469,12 +469,12 @@ void irc_msg_endwhois(struct irc_conn *irc, const char *name, const char *from,
void irc_msg_who(struct irc_conn *irc, const char *name, const char *from, char **args)
{
- if (!strcmp(name, "352")) {
+ if (purple_strequal(name, "352")) {
PurpleChatConversation *chat;
PurpleChatUser *cb;
-
+
char *cur, *userhost, *realname;
-
+
PurpleChatUserFlags flags;
chat = purple_conversations_find_chat_with_account(args[1], irc->account);
@@ -500,10 +500,10 @@ void irc_msg_who(struct irc_conn *irc, const char *name, const char *from, char
}
}
realname = g_strdup(cur);
-
+
g_object_set_data_full(G_OBJECT(cb), "userhost", userhost, (GDestroyNotify)g_free);
g_object_set_data_full(G_OBJECT(cb), "realname", realname, (GDestroyNotify)g_free);
-
+
flags = purple_chat_user_get_flags(cb);
/* FIXME: I'm not sure this is really a good idea, now
@@ -523,19 +523,19 @@ void irc_msg_list(struct irc_conn *irc, const char *name, const char *from, char
if (!irc->roomlist)
return;
- if (!strcmp(name, "321")) {
+ if (purple_strequal(name, "321")) {
purple_roomlist_set_in_progress(irc->roomlist, TRUE);
return;
}
- if (!strcmp(name, "323")) {
+ if (purple_strequal(name, "323")) {
purple_roomlist_set_in_progress(irc->roomlist, FALSE);
g_object_unref(irc->roomlist);
irc->roomlist = NULL;
return;
}
- if (!strcmp(name, "322")) {
+ if (purple_strequal(name, "322")) {
PurpleRoomlistRoom *room;
char *topic;
@@ -559,7 +559,7 @@ void irc_msg_topic(struct irc_conn *irc, const char *name, const char *from, cha
char *chan, *topic, *msg, *nick, *tmp, *tmp2;
PurpleChatConversation *chat;
- if (!strcmp(name, "topic")) {
+ if (purple_strequal(name, "topic")) {
chan = args[0];
topic = irc_mirc2txt (args[1]);
} else {
@@ -578,9 +578,9 @@ void irc_msg_topic(struct irc_conn *irc, const char *name, const char *from, cha
tmp = g_markup_escape_text(topic, -1);
tmp2 = purple_markup_linkify(tmp);
g_free(tmp);
- if (!strcmp(name, "topic")) {
+ if (purple_strequal(name, "topic")) {
const char *current_topic = purple_chat_conversation_get_topic(chat);
- if (!(current_topic != NULL && strcmp(tmp2, current_topic) == 0))
+ if (!(current_topic != NULL && purple_strequal(tmp2, current_topic)))
{
char *nick_esc;
nick = irc_mask_nick(from);
@@ -657,7 +657,7 @@ void irc_msg_names(struct irc_conn *irc, const char *name, const char *from, cha
char *names, *cur, *end, *tmp, *msg;
PurpleConversation *convo;
- if (!strcmp(name, "366")) {
+ if (purple_strequal(name, "366")) {
convo = purple_conversations_find_with_account(args[1], irc->account);
if (!convo) {
purple_debug(PURPLE_DEBUG_ERROR, "irc", "Got a NAMES list for %s, which doesn't exist\n", args[1]);
@@ -734,17 +734,17 @@ void irc_msg_motd(struct irc_conn *irc, const char *name, const char *from, char
{
char *escaped;
- if (!strcmp(name, "375")) {
+ if (purple_strequal(name, "375")) {
if (irc->motd)
g_string_free(irc->motd, TRUE);
irc->motd = g_string_new("");
return;
- } else if (!strcmp(name, "376")) {
+ } else if (purple_strequal(name, "376")) {
/* dircproxy 1.0.5 does not send 251 on reconnection, so
* finalize the connection here if it is not already done. */
irc_connected(irc, args[0]);
return;
- } else if (!strcmp(name, "422")) {
+ } else if (purple_strequal(name, "422")) {
/* in case there is no 251, and no MOTD set, finalize the connection.
* (and clear the motd for good measure). */
@@ -951,12 +951,12 @@ void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char
}
g_object_set_data(G_OBJECT(chat), IRC_NAMES_FLAG,
GINT_TO_POINTER(FALSE));
-
+
// Get the real name and user host for all participants.
buf = irc_format(irc, "vc", "WHO", args[0]);
irc_send(irc, buf);
g_free(buf);
-
+
/* Until purple_conversation_present does something that
* one would expect in Pidgin, this call produces buggy
* behavior both for the /join and auto-join cases. */
@@ -972,15 +972,15 @@ void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char
}
userhost = irc_mask_userhost(from);
-
+
purple_chat_conversation_add_user(chat, nick, userhost, PURPLE_CHAT_USER_NONE, TRUE);
-
+
cb = purple_chat_conversation_find_user(chat, nick);
-
+
if (cb) {
g_object_set_data_full(G_OBJECT(cb), "userhost", userhost, (GDestroyNotify)g_free);
}
-
+
if ((ib = g_hash_table_lookup(irc->buddies, nick)) != NULL) {
ib->new_online_status = TRUE;
irc_buddy_status(nick, ib, irc);
@@ -1567,7 +1567,7 @@ irc_msg_cap(struct irc_conn *irc, const char *name, const char *from, char **arg
char *pos;
size_t index;
- if (strncmp(args[2], "sasl ", 6))
+ if (strncmp(g_strstrip(args[2]), "sasl", 5))
return;
if (strncmp(args[1], "ACK", 4)) {
purple_connection_take_error(gc, g_error_new_literal(
diff --git a/libpurple/protocols/jabber/adhoccommands.c b/libpurple/protocols/jabber/adhoccommands.c
index cc9f734a94..3c215e6732 100644
--- a/libpurple/protocols/jabber/adhoccommands.c
+++ b/libpurple/protocols/jabber/adhoccommands.c
@@ -74,7 +74,7 @@ jabber_adhoc_got_buddy_list(JabberStream *js, const char *from, PurpleXmlNode *q
JabberAdHocCommands *cmd;
if(item->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if(strcmp(item->name, "item"))
+ if(!purple_strequal(item->name, "item"))
continue;
cmd = g_new0(JabberAdHocCommands, 1);
@@ -170,7 +170,7 @@ jabber_adhoc_parse(JabberStream *js, const char *from,
if(!status)
return;
- if(!strcmp(status,"completed")) {
+ if(purple_strequal(status,"completed")) {
/* display result */
PurpleXmlNode *note = purple_xmlnode_get_child(command,"note");
@@ -185,7 +185,7 @@ jabber_adhoc_parse(JabberStream *js, const char *from,
jabber_x_data_request(js, xdata, (jabber_x_data_cb)do_adhoc_ignoreme, NULL);
return;
}
- if(!strcmp(status,"executing")) {
+ if(purple_strequal(status,"executing")) {
/* this command needs more steps */
PurpleXmlNode *actions, *action;
int actionindex = 0;
@@ -209,7 +209,7 @@ jabber_adhoc_parse(JabberStream *js, const char *from,
newaction->name = g_strdup(_(action->name));
newaction->handle = g_strdup(action->name);
actionslist = g_list_append(actionslist, newaction);
- if(defaultactionhandle && !strcmp(defaultactionhandle, action->name))
+ if(defaultactionhandle && purple_strequal(defaultactionhandle, action->name))
actionindex = index;
}
}
@@ -260,7 +260,7 @@ jabber_adhoc_got_server_list(JabberStream *js, const char *from, PurpleXmlNode *
JabberAdHocCommands *cmd;
if(item->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if(strcmp(item->name, "item"))
+ if(!purple_strequal(item->name, "item"))
continue;
cmd = g_new0(JabberAdHocCommands, 1);
cmd->jid = g_strdup(purple_xmlnode_get_attrib(item,"jid"));
diff --git a/libpurple/protocols/jabber/auth.c b/libpurple/protocols/jabber/auth.c
index 800db3ff0c..eca029c4ce 100644
--- a/libpurple/protocols/jabber/auth.c
+++ b/libpurple/protocols/jabber/auth.c
@@ -166,7 +166,7 @@ jabber_auth_start(JabberStream *js, PurpleXmlNode *packet)
JabberSaslMech *possible = l->data;
/* Is this the Cyrus SASL mechanism? */
- if (g_str_equal(possible->name, "*")) {
+ if (purple_strequal(possible->name, "*")) {
js->auth_mech = possible;
break;
}
@@ -223,7 +223,7 @@ static void auth_old_result_cb(JabberStream *js, const char *from,
/* FIXME: Why is this not in jabber_parse_error? */
if((error = purple_xmlnode_get_child(packet, "error")) &&
(err_code = purple_xmlnode_get_attrib(error, "code")) &&
- g_str_equal(err_code, "401")) {
+ purple_strequal(err_code, "401")) {
reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED;
/* Clear the pasword if it isn't being saved */
if (!purple_account_get_remember_password(account))
@@ -342,7 +342,7 @@ void jabber_auth_start_old(JabberStream *js)
* is requiring SSL/TLS, we need to enforce it.
*/
if (!jabber_stream_is_ssl(js) &&
- g_str_equal("require_tls",
+ purple_strequal("require_tls",
purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) {
purple_connection_error(js->gc,
PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR,
diff --git a/libpurple/protocols/jabber/auth_cyrus.c b/libpurple/protocols/jabber/auth_cyrus.c
index 085c1126d6..37adb07572 100644
--- a/libpurple/protocols/jabber/auth_cyrus.c
+++ b/libpurple/protocols/jabber/auth_cyrus.c
@@ -271,7 +271,7 @@ jabber_auth_start_cyrus(JabberStream *js, PurpleXmlNode **reply, char **error)
js->auth_fail_count++;
if (js->auth_fail_count == 1 &&
- (js->sasl_mechs->str && g_str_equal(js->sasl_mechs->str, "GSSAPI"))) {
+ purple_strequal(js->sasl_mechs->str, "GSSAPI")) {
/* If we tried GSSAPI first, it failed, and it was the only method we had to try, try jabber:iq:auth
* for compatibility with iChat 10.5 Server and other jabberd based servers.
*
@@ -420,7 +420,7 @@ jabber_cyrus_start(JabberStream *js, PurpleXmlNode *mechanisms,
* mechanisms"... Easiest just to blacklist it (for now).
*/
if (!mech_name || !*mech_name ||
- g_str_equal(mech_name, "EXTERNAL")) {
+ purple_strequal(mech_name, "EXTERNAL")) {
g_free(mech_name);
continue;
}
@@ -565,7 +565,7 @@ jabber_cyrus_handle_failure(JabberStream *js, PurpleXmlNode *packet,
return jabber_auth_start_cyrus(js, reply, error);
} else if ((js->auth_fail_count == 1) &&
- (js->current_mech && g_str_equal(js->current_mech, "GSSAPI"))) {
+ purple_strequal(js->current_mech, "GSSAPI")) {
/* If we tried GSSAPI first, it failed, and it was the only method we had to try, try jabber:iq:auth
* for compatibility with iChat 10.5 Server and other jabberd based servers.
*
diff --git a/libpurple/protocols/jabber/auth_scram.c b/libpurple/protocols/jabber/auth_scram.c
index 854e24213d..1465bc963a 100644
--- a/libpurple/protocols/jabber/auth_scram.c
+++ b/libpurple/protocols/jabber/auth_scram.c
@@ -131,12 +131,12 @@ guchar *jabber_scram_hi(const JabberScramHash *hash, const GString *str,
* is the hash algorithm. All buffers must be of the appropriate size
* according to the JabberScramHash.
*
- * "str" is a NULL-terminated string for hmac().
+ * "str" is a NULL-terminated string for jabber_scram_hmac().
*
* Needless to say, these are fragile.
*/
static void
-hmac(const JabberScramHash *hash, guchar *out, const guchar *key, const gchar *str)
+jabber_scram_hmac(const JabberScramHash *hash, guchar *out, const guchar *key, const gchar *str)
{
GHmac *hmac;
gsize digest_len = g_checksum_type_get_length(hash->type);
@@ -148,7 +148,7 @@ hmac(const JabberScramHash *hash, guchar *out, const guchar *key, const gchar *s
}
static void
-hash(const JabberScramHash *hash, guchar *out, const guchar *data)
+jabber_scram_hash(const JabberScramHash *hash, guchar *out, const guchar *data)
{
GChecksum *checksum;
gsize digest_len = g_checksum_type_get_length(hash->type);
@@ -189,18 +189,18 @@ jabber_scram_calc_proofs(JabberScramData *data, GString *salt, guint iterations)
server_key = g_new0(guchar, hash_len);
/* client_key = HMAC(salted_password, "Client Key") */
- hmac(data->hash, client_key, salted_password, "Client Key");
+ jabber_scram_hmac(data->hash, client_key, salted_password, "Client Key");
/* server_key = HMAC(salted_password, "Server Key") */
- hmac(data->hash, server_key, salted_password, "Server Key");
+ jabber_scram_hmac(data->hash, server_key, salted_password, "Server Key");
g_free(salted_password);
/* stored_key = HASH(client_key) */
- hash(data->hash, stored_key, client_key);
+ jabber_scram_hash(data->hash, stored_key, client_key);
/* client_signature = HMAC(stored_key, auth_message) */
- hmac(data->hash, client_signature, stored_key, data->auth_message->str);
+ jabber_scram_hmac(data->hash, client_signature, stored_key, data->auth_message->str);
/* server_signature = HMAC(server_key, auth_message) */
- hmac(data->hash, (guchar *)data->server_signature->str, server_key, data->auth_message->str);
+ jabber_scram_hmac(data->hash, (guchar *)data->server_signature->str, server_key, data->auth_message->str);
/* client_proof = client_key XOR client_signature */
for (i = 0; i < hash_len; ++i)
diff --git a/libpurple/protocols/jabber/bosh.c b/libpurple/protocols/jabber/bosh.c
index 5dd0b81eb0..c7eeb61f94 100644
--- a/libpurple/protocols/jabber/bosh.c
+++ b/libpurple/protocols/jabber/bosh.c
@@ -203,7 +203,7 @@ jabber_bosh_connection_parse(PurpleJabberBOSHConnection *conn,
root = purple_xmlnode_from_str(data, data_len);
type = purple_xmlnode_get_attrib(root, "type");
- if (g_strcmp0(type, "terminate") == 0) {
+ if (purple_strequal(type, "terminate")) {
purple_connection_error(conn->js->gc,
PURPLE_CONNECTION_ERROR_OTHER_ERROR, _("The BOSH "
"connection manager terminated your session."));
@@ -245,10 +245,10 @@ jabber_bosh_connection_recv(PurpleHttpConnection *http_conn,
* the right xmlns on these packets. See #11315.
*/
xmlns = purple_xmlnode_get_namespace(child);
- if ((xmlns == NULL || g_strcmp0(xmlns, NS_BOSH) == 0) &&
- (g_strcmp0(child->name, "iq") == 0 ||
- g_strcmp0(child->name, "message") == 0 ||
- g_strcmp0(child->name, "presence") == 0))
+ if ((xmlns == NULL || purple_strequal(xmlns, NS_BOSH)) &&
+ (purple_strequal(child->name, "iq") ||
+ purple_strequal(child->name, "message") ||
+ purple_strequal(child->name, "presence")))
{
purple_xmlnode_set_namespace(child, NS_XMPP_CLIENT);
}
diff --git a/libpurple/protocols/jabber/buddy.c b/libpurple/protocols/jabber/buddy.c
index d5363a8b4e..771bd57eaf 100644
--- a/libpurple/protocols/jabber/buddy.c
+++ b/libpurple/protocols/jabber/buddy.c
@@ -218,7 +218,7 @@ JabberBuddyResource *jabber_buddy_find_resource(JabberBuddy *jb,
for (l = jb->resources; l; l = l->next)
{
JabberBuddyResource *jbr = l->data;
- if (jbr->name && g_str_equal(resource, jbr->name))
+ if (purple_strequal(resource, jbr->name))
return jbr;
}
@@ -407,7 +407,7 @@ static PurpleXmlNode *insert_tag_to_parent_tag(PurpleXmlNode *start, const char
const struct vcard_template *vc_tp = vcard_template_data;
while(vc_tp->label != NULL) {
- if(strcmp(vc_tp->tag, new_tag) == 0) {
+ if(purple_strequal(vc_tp->tag, new_tag)) {
parent_tag = vc_tp->ptag;
break;
}
@@ -667,7 +667,7 @@ void jabber_setup_set_info(PurpleProtocolAction *action)
cdata = purple_xmlnode_get_data(data_node);
}
- if(strcmp(vc_tp->tag, "DESC") == 0) {
+ if(purple_strequal(vc_tp->tag, "DESC")) {
field = purple_request_field_string_new(vc_tp->tag,
_(vc_tp->label), cdata,
TRUE);
@@ -899,7 +899,7 @@ static void jabber_buddy_info_remove_id(JabberBuddyInfo *jbi, const char *id)
while(l) {
comp_id = l->data;
- if(!strcmp(id, comp_id)) {
+ if(purple_strequal(id, comp_id)) {
jbi->ids = g_slist_remove(jbi->ids, comp_id);
g_free(comp_id);
return;
@@ -1042,12 +1042,12 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
continue;
text = purple_xmlnode_get_data(child);
- if(text && !strcmp(child->name, "FN")) {
+ if(text && purple_strequal(child->name, "FN")) {
if (!serverside_alias)
serverside_alias = g_strdup(text);
purple_notify_user_info_add_pair_plaintext(user_info, _("Full Name"), text);
- } else if(!strcmp(child->name, "N")) {
+ } else if(purple_strequal(child->name, "N")) {
for(child2 = child->child; child2; child2 = child2->next)
{
char *text2;
@@ -1056,16 +1056,16 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
continue;
text2 = purple_xmlnode_get_data(child2);
- if(text2 && !strcmp(child2->name, "FAMILY")) {
+ if(text2 && purple_strequal(child2->name, "FAMILY")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Family Name"), text2);
- } else if(text2 && !strcmp(child2->name, "GIVEN")) {
+ } else if(text2 && purple_strequal(child2->name, "GIVEN")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Given Name"), text2);
- } else if(text2 && !strcmp(child2->name, "MIDDLE")) {
+ } else if(text2 && purple_strequal(child2->name, "MIDDLE")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Middle Name"), text2);
}
g_free(text2);
}
- } else if(text && !strcmp(child->name, "NICKNAME")) {
+ } else if(text && purple_strequal(child->name, "NICKNAME")) {
/* Prefer the Nickcname to the Full Name as the serverside alias if it's not just part of the jid.
* Ignore it if it's part of the jid. */
if (strstr(bare_jid, text) == NULL) {
@@ -1074,9 +1074,9 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
purple_notify_user_info_add_pair_plaintext(user_info, _("Nickname"), text);
}
- } else if(text && !strcmp(child->name, "BDAY")) {
+ } else if(text && purple_strequal(child->name, "BDAY")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Birthday"), text);
- } else if(!strcmp(child->name, "ADR")) {
+ } else if(purple_strequal(child->name, "ADR")) {
gboolean address_line_added = FALSE;
for(child2 = child->child; child2; child2 = child2->next)
@@ -1098,25 +1098,25 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
address_line_added = TRUE;
}
- if(!strcmp(child2->name, "POBOX")) {
+ if(purple_strequal(child2->name, "POBOX")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("P.O. Box"), text2);
- } else if (g_str_equal(child2->name, "EXTADD") || g_str_equal(child2->name, "EXTADR")) {
+ } else if (purple_strequal(child2->name, "EXTADD") || purple_strequal(child2->name, "EXTADR")) {
/*
* EXTADD is correct, EXTADR is generated by other
* clients. The next time someone reads this, remove
* EXTADR.
*/
purple_notify_user_info_add_pair_plaintext(user_info, _("Extended Address"), text2);
- } else if(!strcmp(child2->name, "STREET")) {
+ } else if(purple_strequal(child2->name, "STREET")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Street Address"), text2);
- } else if(!strcmp(child2->name, "LOCALITY")) {
+ } else if(purple_strequal(child2->name, "LOCALITY")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Locality"), text2);
- } else if(!strcmp(child2->name, "REGION")) {
+ } else if(purple_strequal(child2->name, "REGION")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Region"), text2);
- } else if(!strcmp(child2->name, "PCODE")) {
+ } else if(purple_strequal(child2->name, "PCODE")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Postal Code"), text2);
- } else if(!strcmp(child2->name, "CTRY")
- || !strcmp(child2->name, "COUNTRY")) {
+ } else if(purple_strequal(child2->name, "CTRY")
+ || purple_strequal(child2->name, "COUNTRY")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Country"), text2);
}
g_free(text2);
@@ -1125,7 +1125,7 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
if (address_line_added)
purple_notify_user_info_add_section_break(user_info);
- } else if(!strcmp(child->name, "TEL")) {
+ } else if(purple_strequal(child->name, "TEL")) {
char *number;
if((child2 = purple_xmlnode_get_child(child, "NUMBER"))) {
/* show what kind of number it is */
@@ -1140,7 +1140,7 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
purple_notify_user_info_add_pair_plaintext(user_info, _("Telephone"), number);
g_free(number);
}
- } else if(!strcmp(child->name, "EMAIL")) {
+ } else if(purple_strequal(child->name, "EMAIL")) {
char *userid, *escaped;
if((child2 = purple_xmlnode_get_child(child, "USERID"))) {
/* show what kind of email it is */
@@ -1168,7 +1168,7 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
g_free(escaped);
g_free(userid);
}
- } else if(!strcmp(child->name, "ORG")) {
+ } else if(purple_strequal(child->name, "ORG")) {
for(child2 = child->child; child2; child2 = child2->next)
{
char *text2;
@@ -1177,21 +1177,21 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
continue;
text2 = purple_xmlnode_get_data(child2);
- if(text2 && !strcmp(child2->name, "ORGNAME")) {
+ if(text2 && purple_strequal(child2->name, "ORGNAME")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Organization Name"), text2);
- } else if(text2 && !strcmp(child2->name, "ORGUNIT")) {
+ } else if(text2 && purple_strequal(child2->name, "ORGUNIT")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Organization Unit"), text2);
}
g_free(text2);
}
- } else if(text && !strcmp(child->name, "TITLE")) {
+ } else if(text && purple_strequal(child->name, "TITLE")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Job Title"), text);
- } else if(text && !strcmp(child->name, "ROLE")) {
+ } else if(text && purple_strequal(child->name, "ROLE")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Role"), text);
- } else if(text && !strcmp(child->name, "DESC")) {
+ } else if(text && purple_strequal(child->name, "DESC")) {
purple_notify_user_info_add_pair_plaintext(user_info, _("Description"), text);
- } else if(!strcmp(child->name, "PHOTO") ||
- !strcmp(child->name, "LOGO")) {
+ } else if(purple_strequal(child->name, "PHOTO") ||
+ purple_strequal(child->name, "LOGO")) {
char *bintext = NULL;
PurpleXmlNode *binval;
@@ -1199,7 +1199,7 @@ static void jabber_vcard_parse(JabberStream *js, const char *from,
(bintext = purple_xmlnode_get_data(binval))) {
gsize size;
guchar *data;
- gboolean photo = (strcmp(child->name, "PHOTO") == 0);
+ gboolean photo = purple_strequal(child->name, "PHOTO");
data = g_base64_decode(bintext, &size);
if (data) {
@@ -1512,12 +1512,12 @@ static gboolean _client_is_blacklisted(JabberBuddyResource *jbr, const char *ns)
if(!jbr->client.name)
return FALSE;
- if(!strcmp(ns, NS_LAST_ACTIVITY)) {
- if(!strcmp(jbr->client.name, "Trillian")) {
+ if(purple_strequal(ns, NS_LAST_ACTIVITY)) {
+ if(purple_strequal(jbr->client.name, "Trillian")) {
/* verified by nwalp 2007/05/09 */
- if(!strcmp(jbr->client.version, "3.1.0.121") ||
+ if(purple_strequal(jbr->client.version, "3.1.0.121") ||
/* verified by nwalp 2007/09/19 */
- !strcmp(jbr->client.version, "3.1.7.0")) {
+ purple_strequal(jbr->client.version, "3.1.7.0")) {
return TRUE;
}
}
@@ -2005,7 +2005,7 @@ static void user_search_result_cb(JabberStream *js, const char *from,
field = purple_xmlnode_get_next_twin(field))
{
if ((var = purple_xmlnode_get_attrib(field, "var")) &&
- !strcmp(var, l->data) &&
+ purple_strequal(var, l->data) &&
(valuenode = purple_xmlnode_get_child(field, "value")))
{
char *value = purple_xmlnode_get_data(valuenode);
@@ -2076,7 +2076,7 @@ static void user_search_x_data_cb(JabberStream *js, PurpleXmlNode *result, gpoin
* just going to get an error if we send
* a cancel, so skip it */
type = purple_xmlnode_get_attrib(result, "type");
- if(type && !strcmp(type, "cancel")) {
+ if(purple_strequal(type, "cancel")) {
g_free(dir_server);
return;
}
@@ -2120,7 +2120,7 @@ static void user_search_cb(struct user_search_info *usi, PurpleRequestFields *fi
const char *id = purple_request_field_get_id(field);
const char *value = purple_request_field_string_get_value(field);
- if(value && (!strcmp(id, "first") || !strcmp(id, "last") || !strcmp(id, "nick") || !strcmp(id, "email"))) {
+ if(value && (purple_strequal(id, "first") || purple_strequal(id, "last") || purple_strequal(id, "nick") || purple_strequal(id, "email"))) {
PurpleXmlNode *y = purple_xmlnode_new_child(query, id);
purple_xmlnode_insert_data(y, value, -1);
}
@@ -2266,7 +2266,7 @@ void jabber_user_search(JabberStream *js, const char *directory)
/* If the value provided isn't the disco#info default, persist it. Otherwise,
make sure we aren't persisting an old value */
if(js->user_directories && js->user_directories->data &&
- !strcmp(directory, js->user_directories->data)) {
+ purple_strequal(directory, js->user_directories->data)) {
purple_account_set_string(purple_connection_get_account(js->gc), "user_directory", "");
}
else {
@@ -2357,7 +2357,7 @@ jabber_resource_get_identity_category_type(const JabberBuddyResource *jbr,
const JabberIdentity *identity =
(JabberIdentity *) iter->data;
- if (strcmp(identity->category, category) == 0) {
+ if (purple_strequal(identity->category, category)) {
return identity->type;
}
}
diff --git a/libpurple/protocols/jabber/caps.c b/libpurple/protocols/jabber/caps.c
index 0b0821be1f..43ba948002 100644
--- a/libpurple/protocols/jabber/caps.c
+++ b/libpurple/protocols/jabber/caps.c
@@ -92,8 +92,8 @@ static gboolean jabber_caps_compare(gconstpointer v1, gconstpointer v2) {
const JabberCapsTuple *name1 = v1;
const JabberCapsTuple *name2 = v2;
- return g_str_equal(name1->node, name2->node) &&
- g_str_equal(name1->ver, name2->ver) &&
+ return purple_strequal(name1->node, name2->node) &&
+ purple_strequal(name1->ver, name2->ver) &&
purple_strequal(name1->hash, name2->hash);
}
@@ -232,7 +232,7 @@ jabber_caps_load(void)
if(!capsdata)
return;
- if (!g_str_equal(capsdata->name, "capabilities")) {
+ if (!purple_strequal(capsdata->name, "capabilities")) {
purple_xmlnode_free(capsdata);
return;
}
@@ -240,7 +240,7 @@ jabber_caps_load(void)
for (client = capsdata->child; client; client = client->next) {
if (client->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if (g_str_equal(client->name, "client")) {
+ if (purple_strequal(client->name, "client")) {
JabberCapsClientInfo *value = g_new0(JabberCapsClientInfo, 1);
JabberCapsTuple *key = (JabberCapsTuple*)&value->tuple;
PurpleXmlNode *child;
@@ -256,12 +256,12 @@ jabber_caps_load(void)
for (child = client->child; child; child = child->next) {
if (child->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if (g_str_equal(child->name, "feature")) {
+ if (purple_strequal(child->name, "feature")) {
const char *var = purple_xmlnode_get_attrib(child, "var");
if(!var)
continue;
value->features = g_list_append(value->features,g_strdup(var));
- } else if (g_str_equal(child->name, "identity")) {
+ } else if (purple_strequal(child->name, "identity")) {
const char *category = purple_xmlnode_get_attrib(child, "category");
const char *type = purple_xmlnode_get_attrib(child, "type");
const char *name = purple_xmlnode_get_attrib(child, "name");
@@ -278,13 +278,13 @@ jabber_caps_load(void)
id->lang = g_strdup(lang);
value->identities = g_list_append(value->identities,id);
- } else if (g_str_equal(child->name, "x")) {
+ } else if (purple_strequal(child->name, "x")) {
/* TODO: See #7814 -- this might cause problems if anyone
* ever actually specifies forms. In fact, for this to
* work properly, that bug needs to be fixed in
* purple_xmlnode_from_str, not the output version... */
value->forms = g_list_append(value->forms, purple_xmlnode_copy(child));
- } else if (g_str_equal(child->name, "ext")) {
+ } else if (purple_strequal(child->name, "ext")) {
if (key->hash != NULL)
purple_debug_warning("jabber", "Ignoring exts when reading new-style caps\n");
else {
@@ -299,7 +299,7 @@ jabber_caps_load(void)
for (node = child->child; node; node = node->next) {
if (node->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if (g_str_equal(node->name, "feature")) {
+ if (purple_strequal(node->name, "feature")) {
const char *var = purple_xmlnode_get_attrib(node, "var");
if (!var)
continue;
@@ -356,7 +356,7 @@ gboolean jabber_caps_exts_known(const JabberCapsClientInfo *info,
for (i = 0; exts[i]; ++i) {
/* Hack since we advertise the ext along with v1.5 caps but don't
* store any exts */
- if (g_str_equal(exts[i], "voice-v1") && !info->exts)
+ if (purple_strequal(exts[i], "voice-v1") && !info->exts)
continue;
if (!info->exts ||
!g_hash_table_lookup(info->exts->exts, exts[i]))
@@ -457,9 +457,9 @@ jabber_caps_client_iqcb(JabberStream *js, const char *from, JabberIqType type,
GChecksumType hash_type;
gboolean supported_hash = TRUE;
- if (g_str_equal(userdata->hash, "sha-1")) {
+ if (purple_strequal(userdata->hash, "sha-1")) {
hash_type = G_CHECKSUM_SHA1;
- } else if (g_str_equal(userdata->hash, "md5")) {
+ } else if (purple_strequal(userdata->hash, "md5")) {
hash_type = G_CHECKSUM_MD5;
} else {
supported_hash = FALSE;
@@ -469,7 +469,7 @@ jabber_caps_client_iqcb(JabberStream *js, const char *from, JabberIqType type,
hash = jabber_caps_calculate_hash(info, hash_type);
}
- if (!hash || !g_str_equal(hash, userdata->ver)) {
+ if (!hash || !purple_strequal(hash, userdata->ver)) {
purple_debug_warning("jabber", "Could not validate caps info from "
"%s. Expected %s, got %s\n",
purple_xmlnode_get_attrib(packet, "from"),
@@ -738,7 +738,7 @@ JabberCapsClientInfo *jabber_caps_parse_client_info(PurpleXmlNode *query)
PurpleXmlNode *child;
JabberCapsClientInfo *info;
- if (!query || !g_str_equal(query->name, "query") ||
+ if (!query || !purple_strequal(query->name, "query") ||
!purple_strequal(query->xmlns, NS_DISCO_INFO))
return NULL;
@@ -747,7 +747,7 @@ JabberCapsClientInfo *jabber_caps_parse_client_info(PurpleXmlNode *query)
for(child = query->child; child; child = child->next) {
if (child->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if (g_str_equal(child->name, "identity")) {
+ if (purple_strequal(child->name, "identity")) {
/* parse identity */
const char *category = purple_xmlnode_get_attrib(child, "category");
const char *type = purple_xmlnode_get_attrib(child, "type");
@@ -765,12 +765,12 @@ JabberCapsClientInfo *jabber_caps_parse_client_info(PurpleXmlNode *query)
id->lang = g_strdup(lang);
info->identities = g_list_append(info->identities, id);
- } else if (g_str_equal(child->name, "feature")) {
+ } else if (purple_strequal(child->name, "feature")) {
/* parse feature */
const char *var = purple_xmlnode_get_attrib(child, "var");
if (var)
info->features = g_list_prepend(info->features, g_strdup(var));
- } else if (g_str_equal(child->name, "x")) {
+ } else if (purple_strequal(child->name, "x")) {
if (purple_strequal(child->xmlns, "jabber:x:data")) {
/* x-data form */
PurpleXmlNode *dataform = purple_xmlnode_copy(child);
@@ -896,7 +896,7 @@ gchar *jabber_caps_calculate_hash(JabberCapsClientInfo *info,
while (fields) {
JabberDataFormField *field = (JabberDataFormField*)fields->data;
- if (!g_str_equal(field->var, "FORM_TYPE")) {
+ if (!purple_strequal(field->var, "FORM_TYPE")) {
/* Append the "var" attribute */
append_escaped_string(hash, field->var);
/* Append <value/> elements' cdata */
@@ -982,7 +982,7 @@ void jabber_caps_broadcast_change()
for (node = accounts; node; node = node->next) {
PurpleAccount *account = node->data;
const char *protocol_id = purple_account_get_protocol_id(account);
- if (g_str_equal("prpl-jabber", protocol_id) && purple_account_is_connected(account)) {
+ if (purple_strequal("prpl-jabber", protocol_id) && purple_account_is_connected(account)) {
PurpleConnection *gc = purple_account_get_connection(account);
jabber_presence_send(purple_connection_get_protocol_data(gc), TRUE);
}
diff --git a/libpurple/protocols/jabber/chat.c b/libpurple/protocols/jabber/chat.c
index a8636542a6..8b7019596d 100644
--- a/libpurple/protocols/jabber/chat.c
+++ b/libpurple/protocols/jabber/chat.c
@@ -527,7 +527,7 @@ static void jabber_chat_room_configure_cb(JabberStream *js, const char *from,
if(!(xmlns = purple_xmlnode_get_namespace(x)))
continue;
- if(!strcmp(xmlns, "jabber:x:data")) {
+ if(purple_strequal(xmlns, "jabber:x:data")) {
chat->config_dialog_type = PURPLE_REQUEST_FIELDS;
chat->config_dialog_handle = jabber_x_data_request(js, x, jabber_chat_room_configure_x_data_cb, chat);
return;
@@ -678,7 +678,7 @@ static void jabber_chat_register_cb(JabberStream *js, const char *from,
if(!(xmlns = purple_xmlnode_get_namespace(x)))
continue;
- if(!strcmp(xmlns, "jabber:x:data")) {
+ if(purple_strequal(xmlns, "jabber:x:data")) {
jabber_x_data_request(js, x, jabber_chat_register_x_data_cb, chat);
return;
}
@@ -1241,7 +1241,7 @@ static void jabber_chat_disco_traffic_cb(JabberStream *js, const char *from,
for(x = purple_xmlnode_get_child(query, "feature"); x; x = purple_xmlnode_get_next_twin(x)) {
const char *var = purple_xmlnode_get_attrib(x, "var");
- if(var && !strcmp(var, NS_XHTML_IM)) {
+ if(purple_strequal(var, NS_XHTML_IM)) {
chat->xhtml = TRUE;
}
}
diff --git a/libpurple/protocols/jabber/data.c b/libpurple/protocols/jabber/data.c
index 11ffebd99b..628156ffed 100644
--- a/libpurple/protocols/jabber/data.c
+++ b/libpurple/protocols/jabber/data.c
@@ -87,7 +87,7 @@ jabber_data_create_from_xml(PurpleXmlNode *tag)
g_return_val_if_fail(tag != NULL, NULL);
/* check if this is a "data" tag */
- if (strcmp(tag->name, "data") != 0) {
+ if (!purple_strequal(tag->name, "data")) {
purple_debug_error("jabber", "Invalid data element\n");
return NULL;
}
diff --git a/libpurple/protocols/jabber/disco.c b/libpurple/protocols/jabber/disco.c
index 58776abc3d..712c8f13c8 100644
--- a/libpurple/protocols/jabber/disco.c
+++ b/libpurple/protocols/jabber/disco.c
@@ -65,14 +65,14 @@ jabber_disco_bytestream_server_cb(JabberStream *js, const char *from,
PurpleXmlNode *query = purple_xmlnode_get_child_with_namespace(packet, "query",
NS_BYTESTREAMS);
- if (from && !strcmp(from, sh->jid) && query != NULL) {
+ if (from && purple_strequal(from, sh->jid) && query != NULL) {
PurpleXmlNode *sh_node = purple_xmlnode_get_child(query, "streamhost");
if (sh_node) {
const char *jid = purple_xmlnode_get_attrib(sh_node, "jid");
const char *port = purple_xmlnode_get_attrib(sh_node, "port");
- if (jid == NULL || strcmp(jid, from) != 0)
+ if (jid == NULL || !purple_strequal(jid, from))
purple_debug_error("jabber", "Invalid jid(%s) for bytestream.\n",
jid ? jid : "(null)");
@@ -123,7 +123,7 @@ void jabber_disco_info_parse(JabberStream *js, const char *from,
if(node)
purple_xmlnode_set_attrib(query, "node", node);
- if(!node || g_str_equal(node, node_uri)) {
+ if(!node || purple_strequal(node, node_uri)) {
GList *features, *identities;
for(identities = jabber_identities; identities; identities = identities->next) {
JabberIdentity *ident = (JabberIdentity*)identities->data;
@@ -143,7 +143,7 @@ void jabber_disco_info_parse(JabberStream *js, const char *from,
}
}
#ifdef USE_VV
- } else if (g_str_equal(node, CAPS0115_NODE "#" "voice-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "voice-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add <c/> to the <presence/>) for the Google Talk
@@ -155,7 +155,7 @@ void jabber_disco_info_parse(JabberStream *js, const char *from,
*/
PurpleXmlNode *feature = purple_xmlnode_new_child(query, "feature");
purple_xmlnode_set_attrib(feature, "var", NS_GOOGLE_VOICE);
- } else if (g_str_equal(node, CAPS0115_NODE "#" "video-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "video-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add <c/> to the <presence/>) for the Google Talk
@@ -167,7 +167,7 @@ void jabber_disco_info_parse(JabberStream *js, const char *from,
*/
PurpleXmlNode *feature = purple_xmlnode_new_child(query, "feature");
purple_xmlnode_set_attrib(feature, "var", NS_GOOGLE_VIDEO);
- } else if (g_str_equal(node, CAPS0115_NODE "#" "camera-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "camera-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add <c/> to the <presence/>) for the Google Talk
@@ -245,20 +245,20 @@ static void jabber_disco_info_cb(JabberStream *js, const char *from,
if(child->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if(!strcmp(child->name, "identity")) {
+ if(purple_strequal(child->name, "identity")) {
const char *category = purple_xmlnode_get_attrib(child, "category");
const char *type = purple_xmlnode_get_attrib(child, "type");
if(!category || !type)
continue;
- if(!strcmp(category, "conference") && !strcmp(type, "text")) {
+ if(purple_strequal(category, "conference") && purple_strequal(type, "text")) {
/* we found a groupchat or MUC server, add it to the list */
/* XXX: actually check for protocol/muc or gc-1.0 support */
js->chat_servers = g_list_prepend(js->chat_servers, g_strdup(from));
- } else if(!strcmp(category, "directory") && !strcmp(type, "user")) {
+ } else if(purple_strequal(category, "directory") && purple_strequal(type, "user")) {
/* we found a JUD */
js->user_directories = g_list_prepend(js->user_directories, g_strdup(from));
- } else if(!strcmp(category, "proxy") && !strcmp(type, "bytestreams")) {
+ } else if(purple_strequal(category, "proxy") && purple_strequal(type, "bytestreams")) {
/* This is a bytestream proxy */
JabberIq *iq;
JabberBytestreamsStreamhost *sh;
@@ -276,29 +276,29 @@ static void jabber_disco_info_cb(JabberStream *js, const char *from,
jabber_iq_send(iq);
}
- } else if(!strcmp(child->name, "feature")) {
+ } else if(purple_strequal(child->name, "feature")) {
const char *var = purple_xmlnode_get_attrib(child, "var");
if(!var)
continue;
- if(!strcmp(var, "http://jabber.org/protocol/si"))
+ if(purple_strequal(var, "http://jabber.org/protocol/si"))
capabilities |= JABBER_CAP_SI;
- else if(!strcmp(var, "http://jabber.org/protocol/si/profile/file-transfer"))
+ else if(purple_strequal(var, "http://jabber.org/protocol/si/profile/file-transfer"))
capabilities |= JABBER_CAP_SI_FILE_XFER;
- else if(!strcmp(var, NS_BYTESTREAMS))
+ else if(purple_strequal(var, NS_BYTESTREAMS))
capabilities |= JABBER_CAP_BYTESTREAMS;
- else if(!strcmp(var, "jabber:iq:search"))
+ else if(purple_strequal(var, "jabber:iq:search"))
capabilities |= JABBER_CAP_IQ_SEARCH;
- else if(!strcmp(var, "jabber:iq:register"))
+ else if(purple_strequal(var, "jabber:iq:register"))
capabilities |= JABBER_CAP_IQ_REGISTER;
- else if(!strcmp(var, NS_PING))
+ else if(purple_strequal(var, NS_PING))
capabilities |= JABBER_CAP_PING;
- else if(!strcmp(var, NS_DISCO_ITEMS))
+ else if(purple_strequal(var, NS_DISCO_ITEMS))
capabilities |= JABBER_CAP_ITEMS;
- else if(!strcmp(var, "http://jabber.org/protocol/commands")) {
+ else if(purple_strequal(var, "http://jabber.org/protocol/commands")) {
capabilities |= JABBER_CAP_ADHOC;
}
- else if(!strcmp(var, NS_IBB)) {
+ else if(purple_strequal(var, NS_IBB)) {
purple_debug_info("jabber", "remote supports IBB\n");
capabilities |= JABBER_CAP_IBB;
}
@@ -463,7 +463,7 @@ jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
{
PurpleXmlNode *query, *child;
- if (!from || strcmp(from, js->user->domain)) {
+ if (!from || !purple_strequal(from, js->user->domain)) {
jabber_disco_finish_server_info_result_cb(js);
return;
}
@@ -486,7 +486,7 @@ jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
const char *category, *type, *name;
category = purple_xmlnode_get_attrib(child, "category");
type = purple_xmlnode_get_attrib(child, "type");
- if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) {
+ if(purple_strequal(category, "pubsub") && purple_strequal(type, "pep")) {
PurpleConnection *gc = js->gc;
js->pep = TRUE;
purple_connection_set_flags(gc,
@@ -494,9 +494,9 @@ jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
| PURPLE_CONNECTION_FLAG_SUPPORT_MOODS
| PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES);
}
- if (!category || strcmp(category, "server"))
+ if (!purple_strequal(category, "server"))
continue;
- if (!type || strcmp(type, "im"))
+ if (!purple_strequal(type, "im"))
continue;
name = purple_xmlnode_get_attrib(child, "name");
@@ -505,17 +505,16 @@ jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
g_free(js->server_name);
js->server_name = g_strdup(name);
- if (!strcmp(name, "Google Talk")) {
+ stun_ip = purple_network_get_stun_ip();
+ if (purple_strequal(name, "Google Talk")) {
purple_debug_info("jabber", "Google Talk!\n");
js->googletalk = TRUE;
/* autodiscover stun and relays */
- if (purple_network_get_stun_ip() == NULL ||
- purple_strequal(purple_network_get_stun_ip(), "")) {
+ if (!stun_ip || !*stun_ip) {
jabber_google_send_jingle_info(js);
}
- } else if (purple_network_get_stun_ip() == NULL ||
- purple_strequal(purple_network_get_stun_ip(), "")) {
+ } else if (!stun_ip || !*stun_ip) {
GResolver *resolver = g_resolver_get_default();
g_resolver_lookup_service_async(resolver,
@@ -537,14 +536,14 @@ jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
if (!var)
continue;
- if (!strcmp(NS_GOOGLE_MAIL_NOTIFY, var)) {
+ if (purple_strequal(NS_GOOGLE_MAIL_NOTIFY, var)) {
js->server_caps |= JABBER_CAP_GMAIL_NOTIFY;
jabber_gmail_init(js);
- } else if (!strcmp(NS_GOOGLE_ROSTER, var)) {
+ } else if (purple_strequal(NS_GOOGLE_ROSTER, var)) {
js->server_caps |= JABBER_CAP_GOOGLE_ROSTER;
- } else if (!strcmp("http://jabber.org/protocol/commands", var)) {
+ } else if (purple_strequal("http://jabber.org/protocol/commands", var)) {
js->server_caps |= JABBER_CAP_ADHOC;
- } else if (!strcmp(NS_SIMPLE_BLOCKING, var)) {
+ } else if (purple_strequal(NS_SIMPLE_BLOCKING, var)) {
js->server_caps |= JABBER_CAP_BLOCKING;
}
}
@@ -559,7 +558,7 @@ jabber_disco_server_items_result_cb(JabberStream *js, const char *from,
{
PurpleXmlNode *query, *child;
- if (!from || strcmp(from, js->user->domain) != 0)
+ if (!from || !purple_strequal(from, js->user->domain))
return;
if (type == JABBER_IQ_ERROR)
diff --git a/libpurple/protocols/jabber/google/gmail.c b/libpurple/protocols/jabber/google/gmail.c
index 3d857642e4..f0dfe9e007 100644
--- a/libpurple/protocols/jabber/google/gmail.c
+++ b/libpurple/protocols/jabber/google/gmail.c
@@ -95,7 +95,7 @@ jabber_gmail_parse(JabberStream *js, const char *from,
sender_node = purple_xmlnode_get_child(sender_node, "sender");
while (sender_node && (!purple_xmlnode_get_attrib(sender_node, "unread") ||
- !strcmp(purple_xmlnode_get_attrib(sender_node, "unread"),"0")))
+ purple_strequal(purple_xmlnode_get_attrib(sender_node, "unread"),"0")))
sender_node = purple_xmlnode_get_next_twin(sender_node);
if (!sender_node) {
@@ -116,8 +116,7 @@ jabber_gmail_parse(JabberStream *js, const char *from,
urls[i] = url;
tid = purple_xmlnode_get_attrib(message, "tid");
- if (tid &&
- (js->gmail_last_tid == NULL || strcmp(tid, js->gmail_last_tid) > 0)) {
+ if (g_strcmp0(tid, js->gmail_last_tid) > 0) {
g_free(js->gmail_last_tid);
js->gmail_last_tid = g_strdup(tid);
}
diff --git a/libpurple/protocols/jabber/google/google_roster.c b/libpurple/protocols/jabber/google/google_roster.c
index 92935cbb63..5ffe810c35 100644
--- a/libpurple/protocols/jabber/google/google_roster.c
+++ b/libpurple/protocols/jabber/google/google_roster.c
@@ -34,7 +34,7 @@ void jabber_google_roster_outgoing(JabberStream *js, PurpleXmlNode *query, Purpl
char *jid_norm = (char *)jabber_normalize(account, jid);
while (list) {
- if (!strcmp(jid_norm, (char*)list->data)) {
+ if (purple_strequal(jid_norm, (char*)list->data)) {
purple_xmlnode_set_attrib(query, "xmlns:gr", NS_GOOGLE_ROSTER);
purple_xmlnode_set_attrib(query, "gr:ext", "2");
purple_xmlnode_set_attrib(item, "gr:t", "B");
@@ -56,7 +56,7 @@ gboolean jabber_google_roster_incoming(JabberStream *js, PurpleXmlNode *item)
const char *subscription = purple_xmlnode_get_attrib(item, "subscription");
const char *ask = purple_xmlnode_get_attrib(item, "ask");
- if ((!subscription || !strcmp(subscription, "none")) && !ask) {
+ if ((!subscription || purple_strequal(subscription, "none")) && !ask) {
/* The Google Talk servers will automatically add people from your Gmail address book
* with subscription=none. If we see someone with subscription=none, ignore them.
*/
diff --git a/libpurple/protocols/jabber/google/google_session.c b/libpurple/protocols/jabber/google/google_session.c
index 5b2b84160c..3dc0df9da3 100644
--- a/libpurple/protocols/jabber/google/google_session.c
+++ b/libpurple/protocols/jabber/google/google_session.c
@@ -42,7 +42,7 @@ google_session_id_equal(gconstpointer a, gconstpointer b)
GoogleSessionId *c = (GoogleSessionId*)a;
GoogleSessionId *d = (GoogleSessionId*)b;
- return !strcmp(c->id, d->id) && !strcmp(c->initiator, d->initiator);
+ return purple_strequal(c->id, d->id) && purple_strequal(c->initiator, d->initiator);
}
static void
@@ -91,7 +91,7 @@ google_session_send_candidates(PurpleMedia *media, gchar *session_id,
PurpleMediaCandidate *transport;
gboolean video = FALSE;
- if (!strcmp(session_id, "google-video"))
+ if (purple_strequal(session_id, "google-video"))
video = TRUE;
for (iter = candidates; iter; iter = iter->next) {
@@ -179,7 +179,7 @@ google_session_ready(GoogleSession *session)
JabberIq *iq;
PurpleXmlNode *sess, *desc, *payload;
GList *codecs, *iter;
- gboolean is_initiator = !strcmp(session->id.initiator, me);
+ gboolean is_initiator = purple_strequal(session->id.initiator, me);
if (!is_initiator &&
!purple_media_accepted(media, NULL, NULL)) {
@@ -504,7 +504,7 @@ jabber_google_relay_response_session_handle_initiate_cb(GoogleSession *session,
const char *id, *encoding_name, *clock_rate;
gboolean video;
if (codec_element->name &&
- strcmp(codec_element->name, "payload-type"))
+ !purple_strequal(codec_element->name, "payload-type"))
continue;
xmlns = purple_xmlnode_get_namespace(codec_element);
@@ -512,7 +512,7 @@ jabber_google_relay_response_session_handle_initiate_cb(GoogleSession *session,
id = purple_xmlnode_get_attrib(codec_element, "id");
if (!session_data->video ||
- (xmlns && !strcmp(xmlns, NS_GOOGLE_SESSION_PHONE))) {
+ purple_strequal(xmlns, NS_GOOGLE_SESSION_PHONE)) {
clock_rate = purple_xmlnode_get_attrib(
codec_element, "clockrate");
video = FALSE;
@@ -638,11 +638,11 @@ google_session_handle_candidates(JabberStream *js, GoogleSession *session, Purp
g_snprintf(n, sizeof(n), "S%d", name++);
- if (g_str_equal(type, "local"))
+ if (purple_strequal(type, "local"))
candidate_type = PURPLE_MEDIA_CANDIDATE_TYPE_HOST;
- else if (g_str_equal(type, "stun"))
+ else if (purple_strequal(type, "stun"))
candidate_type = PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX;
- else if (g_str_equal(type, "relay"))
+ else if (purple_strequal(type, "relay"))
candidate_type = PURPLE_MEDIA_CANDIDATE_TYPE_RELAY;
else
candidate_type = PURPLE_MEDIA_CANDIDATE_TYPE_HOST;
@@ -709,7 +709,7 @@ google_session_handle_accept(JabberStream *js, GoogleSession *session, PurpleXml
GList *codecs = NULL, *video_codecs = NULL;
JabberIq *result = NULL;
const gchar *xmlns = purple_xmlnode_get_namespace(desc_element);
- gboolean video = (xmlns && !strcmp(xmlns, NS_GOOGLE_SESSION_VIDEO));
+ gboolean video = purple_strequal(xmlns, NS_GOOGLE_SESSION_VIDEO);
GoogleAVSessionData *session_data =
(GoogleAVSessionData *) session->session_data;
@@ -788,15 +788,15 @@ google_session_parse_iq(JabberStream *js, GoogleSession *session, PurpleXmlNode
{
const char *type = purple_xmlnode_get_attrib(sess, "type");
- if (!strcmp(type, "initiate")) {
+ if (purple_strequal(type, "initiate")) {
google_session_handle_initiate(js, session, sess, iq_id);
- } else if (!strcmp(type, "accept")) {
+ } else if (purple_strequal(type, "accept")) {
google_session_handle_accept(js, session, sess, iq_id);
- } else if (!strcmp(type, "reject")) {
+ } else if (purple_strequal(type, "reject")) {
google_session_handle_reject(js, session, sess);
- } else if (!strcmp(type, "terminate")) {
+ } else if (purple_strequal(type, "terminate")) {
google_session_handle_terminate(js, session, sess);
- } else if (!strcmp(type, "candidates")) {
+ } else if (purple_strequal(type, "candidates")) {
google_session_handle_candidates(js, session, sess, iq_id);
}
}
@@ -845,7 +845,7 @@ jabber_google_session_parse(JabberStream *js, const char *from,
}
/* If the session doesn't exist, this has to be an initiate message */
- if (strcmp(purple_xmlnode_get_attrib(session_node, "type"), "initiate"))
+ if (!purple_strequal(purple_xmlnode_get_attrib(session_node, "type"), "initiate"))
return;
desc_node = purple_xmlnode_get_child(session_node, "description");
if (!desc_node)
diff --git a/libpurple/protocols/jabber/ibb.c b/libpurple/protocols/jabber/ibb.c
index c40c050f01..ef883ca53a 100644
--- a/libpurple/protocols/jabber/ibb.c
+++ b/libpurple/protocols/jabber/ibb.c
@@ -384,9 +384,9 @@ jabber_ibb_parse(JabberStream *js, const char *who, JabberIqType type,
const char *id, PurpleXmlNode *child)
{
const char *name = child->name;
- gboolean data = g_str_equal(name, "data");
- gboolean close = g_str_equal(name, "close");
- gboolean open = g_str_equal(name, "open");
+ gboolean data = purple_strequal(name, "data");
+ gboolean close = purple_strequal(name, "close");
+ gboolean open = purple_strequal(name, "open");
const gchar *sid = (data || close) ?
purple_xmlnode_get_attrib(child, "sid") : NULL;
JabberIBBSession *sess =
@@ -394,7 +394,7 @@ jabber_ibb_parse(JabberStream *js, const char *who, JabberIqType type,
if (sess) {
- if (strcmp(who, jabber_ibb_session_get_who(sess)) != 0) {
+ if (!purple_strequal(who, jabber_ibb_session_get_who(sess))) {
/* the iq comes from a different JID than the remote JID of the
session, ignore it */
purple_debug_error("jabber",
diff --git a/libpurple/protocols/jabber/iq.c b/libpurple/protocols/jabber/iq.c
index 6a6db39ff8..5eadf0e92b 100644
--- a/libpurple/protocols/jabber/iq.c
+++ b/libpurple/protocols/jabber/iq.c
@@ -353,13 +353,13 @@ void jabber_iq_parse(JabberStream *js, PurpleXmlNode *packet)
}
if (iq_type) {
- if (!strcmp(iq_type, "get"))
+ if (purple_strequal(iq_type, "get"))
type = JABBER_IQ_GET;
- else if (!strcmp(iq_type, "set"))
+ else if (purple_strequal(iq_type, "set"))
type = JABBER_IQ_SET;
- else if (!strcmp(iq_type, "result"))
+ else if (purple_strequal(iq_type, "result"))
type = JABBER_IQ_RESULT;
- else if (!strcmp(iq_type, "error"))
+ else if (purple_strequal(iq_type, "error"))
type = JABBER_IQ_ERROR;
}
diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
index e43b39b357..27c758e74f 100644
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -234,7 +234,7 @@ jabber_process_starttls(JabberStream *js, PurpleXmlNode *packet)
*/
{
const gchar *connection_security = purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS);
- if (!g_str_equal(connection_security, "none")) {
+ if (!purple_strequal(connection_security, "none")) {
jabber_send_raw(js,
"<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>", -1);
return TRUE;
@@ -255,7 +255,7 @@ jabber_process_starttls(JabberStream *js, PurpleXmlNode *packet)
return TRUE;
}
- if (g_str_equal("require_tls", purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) {
+ if (purple_strequal("require_tls", purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) {
purple_connection_error(js->gc,
PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
_("You require encryption, but no TLS/SSL support was found."));
@@ -277,7 +277,7 @@ void jabber_stream_features_parse(JabberStream *js, PurpleXmlNode *packet)
jabber_stream_set_state(js, JABBER_STREAM_INITIALIZING_ENCRYPTION);
return;
}
- } else if (g_str_equal(connection_security, "require_tls") && !jabber_stream_is_ssl(js)) {
+ } else if (purple_strequal(connection_security, "require_tls") && !jabber_stream_is_ssl(js)) {
purple_connection_error(js->gc,
PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR,
_("You require encryption, but it is not available on this server."));
@@ -344,33 +344,33 @@ void jabber_process_packet(JabberStream *js, PurpleXmlNode **packet)
name = (*packet)->name;
xmlns = purple_xmlnode_get_namespace(*packet);
- if(!strcmp((*packet)->name, "iq")) {
+ if(purple_strequal((*packet)->name, "iq")) {
jabber_iq_parse(js, *packet);
- } else if(!strcmp((*packet)->name, "presence")) {
+ } else if(purple_strequal((*packet)->name, "presence")) {
jabber_presence_parse(js, *packet);
- } else if(!strcmp((*packet)->name, "message")) {
+ } else if(purple_strequal((*packet)->name, "message")) {
jabber_message_parse(js, *packet);
} else if (purple_strequal(xmlns, NS_XMPP_STREAMS)) {
- if (g_str_equal(name, "features"))
+ if (purple_strequal(name, "features"))
jabber_stream_features_parse(js, *packet);
- else if (g_str_equal(name, "error"))
+ else if (purple_strequal(name, "error"))
jabber_stream_handle_error(js, *packet);
} else if (purple_strequal(xmlns, NS_XMPP_SASL)) {
if (js->state != JABBER_STREAM_AUTHENTICATING)
purple_debug_warning("jabber", "Ignoring spurious SASL stanza %s\n", name);
else {
- if (g_str_equal(name, "challenge"))
+ if (purple_strequal(name, "challenge"))
jabber_auth_handle_challenge(js, *packet);
- else if (g_str_equal(name, "success"))
+ else if (purple_strequal(name, "success"))
jabber_auth_handle_success(js, *packet);
- else if (g_str_equal(name, "failure"))
+ else if (purple_strequal(name, "failure"))
jabber_auth_handle_failure(js, *packet);
}
} else if (purple_strequal(xmlns, NS_XMPP_TLS)) {
if (js->state != JABBER_STREAM_INITIALIZING_ENCRYPTION || js->gsc)
purple_debug_warning("jabber", "Ignoring spurious %s\n", name);
else {
- if (g_str_equal(name, "proceed"))
+ if (purple_strequal(name, "proceed"))
tls_init(js);
/* TODO: Handle <failure/>, I guess? */
}
@@ -480,7 +480,7 @@ void jabber_send_raw(JabberStream *js, const char *data, int len)
g_return_if_fail(data != NULL);
/* because printing a tab to debug every minute gets old */
- if (data && strcmp(data, "\t") != 0) {
+ if (data && !purple_strequal(data, "\t")) {
const char *username;
char *text = NULL, *last_part = NULL, *tag_start = NULL;
@@ -608,9 +608,9 @@ void jabber_send_signal_cb(PurpleConnection *pc, PurpleXmlNode **packet,
return;
if (js->bosh)
- if (g_str_equal((*packet)->name, "message") ||
- g_str_equal((*packet)->name, "iq") ||
- g_str_equal((*packet)->name, "presence"))
+ if (purple_strequal((*packet)->name, "message") ||
+ purple_strequal((*packet)->name, "iq") ||
+ purple_strequal((*packet)->name, "presence"))
purple_xmlnode_set_namespace(*packet, NS_XMPP_CLIENT);
txt = purple_xmlnode_to_str(*packet, &len);
jabber_send_raw(js, txt, len);
@@ -1077,7 +1077,7 @@ jabber_stream_connect(JabberStream *js)
js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user->domain);
/* if they've got old-ssl mode going, we probably want to ignore SRV lookups */
- if (g_str_equal("old_ssl", purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) {
+ if (purple_strequal("old_ssl", purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) {
js->gsc = purple_ssl_connect(account, js->certificate_CN,
purple_account_get_int(account, "port", 5223),
jabber_login_callback_ssl, jabber_ssl_connect_failure, gc);
@@ -1265,7 +1265,7 @@ jabber_register_cb(JabberRegisterCBData *cbdata, PurpleRequestFields *fields)
flds; flds = flds->next) {
PurpleRequestField *field = flds->data;
const char *id = purple_request_field_get_id(field);
- if(!strcmp(id,"unregister")) {
+ if(purple_strequal(id,"unregister")) {
gboolean value = purple_request_field_bool_get_value(field);
if(value) {
/* unregister from service. this doesn't include any of the fields, so remove them from the stanza by recreating it
@@ -1290,7 +1290,7 @@ jabber_register_cb(JabberRegisterCBData *cbdata, PurpleRequestFields *fields)
const char *value = purple_request_field_string_get_value(field);
int i;
for (i = 0; ids[i]; i++) {
- if (!strcmp(id, ids[i]))
+ if (purple_strequal(id, ids[i]))
break;
}
@@ -1298,11 +1298,11 @@ jabber_register_cb(JabberRegisterCBData *cbdata, PurpleRequestFields *fields)
continue;
y = purple_xmlnode_new_child(query, ids[i]);
purple_xmlnode_insert_data(y, value, -1);
- if(cbdata->js->registration && !strcmp(id, "username")) {
+ if(cbdata->js->registration && purple_strequal(id, "username")) {
g_free(cbdata->js->user->node);
cbdata->js->user->node = g_strdup(value);
}
- if(cbdata->js->registration && !strcmp(id, "password"))
+ if(cbdata->js->registration && purple_strequal(id, "password"))
purple_account_set_password(purple_connection_get_account(cbdata->js->gc), value, NULL, NULL);
}
}
@@ -1835,7 +1835,7 @@ void jabber_blocklist_parse_push(JabberStream *js, const char *from,
}
account = purple_connection_get_account(js->gc);
- is_block = g_str_equal(child->name, "block");
+ is_block = purple_strequal(child->name, "block");
item = purple_xmlnode_get_child(child, "item");
if (!is_block && item == NULL) {
@@ -2012,7 +2012,7 @@ void jabber_remove_feature(const char *namespace) {
GList *feature;
for(feature = jabber_features; feature; feature = feature->next) {
JabberFeature *feat = (JabberFeature*)feature->data;
- if(!strcmp(feat->namespace, namespace)) {
+ if(purple_strequal(feat->namespace, namespace)) {
g_free(feat->namespace);
g_free(feature->data);
jabber_features = g_list_delete_link(jabber_features, feature);
@@ -2042,23 +2042,17 @@ jabber_identity_compare(gconstpointer a, gconstpointer b)
ac = a;
bc = b;
- if ((cat_cmp = strcmp(ac->category, bc->category)) == 0) {
- if ((typ_cmp = strcmp(ac->type, bc->type)) == 0) {
- if (!ac->lang && !bc->lang) {
- return 0;
- } else if (ac->lang && !bc->lang) {
- return 1;
- } else if (!ac->lang && bc->lang) {
- return -1;
- } else {
- return strcmp(ac->lang, bc->lang);
- }
- } else {
- return typ_cmp;
- }
- } else {
+ cat_cmp = g_strcmp0(ac->category, bc->category);
+ if (cat_cmp != 0) {
return cat_cmp;
}
+
+ typ_cmp = g_strcmp0(ac->type, bc->type);
+ if (typ_cmp != 0) {
+ return typ_cmp;
+ }
+
+ return g_strcmp0(ac->lang, bc->lang);
}
void jabber_add_identity(const gchar *category, const gchar *type,
@@ -2074,8 +2068,8 @@ void jabber_add_identity(const gchar *category, const gchar *type,
/* Check if this identity is already there... */
for (identity = jabber_identities; identity; identity = identity->next) {
JabberIdentity *id = identity->data;
- if (g_str_equal(id->category, category) &&
- g_str_equal(id->type, type) &&
+ if (purple_strequal(id->category, category) &&
+ purple_strequal(id->type, type) &&
purple_strequal(id->lang, lang))
return;
}
@@ -2171,13 +2165,13 @@ const char* jabber_list_emblem(PurpleBuddy *b)
jabber_resource_get_identity_category_type(jbr, "client");
if (client_type) {
- if (strcmp(client_type, "phone") == 0) {
+ if (purple_strequal(client_type, "phone")) {
return "mobile";
- } else if (strcmp(client_type, "web") == 0) {
+ } else if (purple_strequal(client_type, "web")) {
return "external";
- } else if (strcmp(client_type, "handheld") == 0) {
+ } else if (purple_strequal(client_type, "handheld")) {
return "hiptop";
- } else if (strcmp(client_type, "bot") == 0) {
+ } else if (purple_strequal(client_type, "bot")) {
return "bot";
}
/* the default value "pc" falls through and has no emblem */
@@ -2532,7 +2526,7 @@ static void jabber_password_change_cb(JabberStream *js,
p1 = purple_request_fields_get_string(fields, "password1");
p2 = purple_request_fields_get_string(fields, "password2");
- if(strcmp(p1, p2)) {
+ if(!purple_strequal(p1, p2)) {
purple_notify_error(js->gc, NULL,
_("New passwords do not match."), NULL,
purple_request_cpar_from_connection(js->gc));
@@ -2746,7 +2740,7 @@ char *jabber_parse_error(JabberStream *js,
} else if(purple_xmlnode_get_child(error, "undefined-condition")) {
text = _("Unknown Error");
}
- } else if(xmlns && !strcmp(xmlns, NS_XMPP_SASL)) {
+ } else if(purple_strequal(xmlns, NS_XMPP_SASL)) {
/* Most common reason can be the default */
SET_REASON(PURPLE_CONNECTION_ERROR_NETWORK_ERROR);
if(purple_xmlnode_get_child(packet, "aborted")) {
@@ -2772,9 +2766,9 @@ char *jabber_parse_error(JabberStream *js,
SET_REASON(PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED);
text = _("Authentication Failure");
}
- } else if(!strcmp(packet->name, "stream:error") ||
- (!strcmp(packet->name, "error") && xmlns &&
- !strcmp(xmlns, NS_XMPP_STREAMS))) {
+ } else if(purple_strequal(packet->name, "stream:error") ||
+ (purple_strequal(packet->name, "error") &&
+ purple_strequal(xmlns, NS_XMPP_STREAMS))) {
/* Most common reason as default: */
SET_REASON(PURPLE_CONNECTION_ERROR_NETWORK_ERROR);
if(purple_xmlnode_get_child(packet, "bad-format")) {
@@ -2951,11 +2945,11 @@ static PurpleCmdRet jabber_cmd_chat_affiliate(PurpleConversation *conv,
if (!chat || !args || !args[0])
return PURPLE_CMD_RET_FAILED;
- if (strcmp(args[0], "owner") != 0 &&
- strcmp(args[0], "admin") != 0 &&
- strcmp(args[0], "member") != 0 &&
- strcmp(args[0], "outcast") != 0 &&
- strcmp(args[0], "none") != 0) {
+ if (!purple_strequal(args[0], "owner") &&
+ !purple_strequal(args[0], "admin") &&
+ !purple_strequal(args[0], "member") &&
+ !purple_strequal(args[0], "outcast") &&
+ !purple_strequal(args[0], "none")) {
*error = g_strdup_printf(_("Unknown affiliation: \"%s\""), args[0]);
return PURPLE_CMD_RET_FAILED;
}
@@ -2987,10 +2981,10 @@ static PurpleCmdRet jabber_cmd_chat_role(PurpleConversation *conv,
if (!chat || !args || !args[0])
return PURPLE_CMD_RET_FAILED;
- if (strcmp(args[0], "moderator") != 0 &&
- strcmp(args[0], "participant") != 0 &&
- strcmp(args[0], "visitor") != 0 &&
- strcmp(args[0], "none") != 0) {
+ if (!purple_strequal(args[0], "moderator") &&
+ !purple_strequal(args[0], "participant") &&
+ !purple_strequal(args[0], "visitor") &&
+ !purple_strequal(args[0], "none")) {
*error = g_strdup_printf(_("Unknown role: \"%s\""), args[0]);
return PURPLE_CMD_RET_FAILED;
}
@@ -3830,7 +3824,7 @@ static PurpleAccount *find_acct(const char *protocol, const char *acct_id)
} else { /* Otherwise find an active account for the protocol */
GList *l = purple_accounts_get_all();
while (l) {
- if (!strcmp(protocol, purple_account_get_protocol_id(l->data))
+ if (purple_strequal(protocol, purple_account_get_protocol_id(l->data))
&& purple_account_is_connected(l->data)) {
acct = l->data;
break;
@@ -3925,12 +3919,12 @@ jabber_do_init(void)
ui_type = ui_info ? g_hash_table_lookup(ui_info, "client_type") : NULL;
if (ui_type) {
- if (strcmp(ui_type, "pc") == 0 ||
- strcmp(ui_type, "console") == 0 ||
- strcmp(ui_type, "phone") == 0 ||
- strcmp(ui_type, "handheld") == 0 ||
- strcmp(ui_type, "web") == 0 ||
- strcmp(ui_type, "bot") == 0) {
+ if (purple_strequal(ui_type, "pc") ||
+ purple_strequal(ui_type, "console") ||
+ purple_strequal(ui_type, "phone") ||
+ purple_strequal(ui_type, "handheld") ||
+ purple_strequal(ui_type, "web") ||
+ purple_strequal(ui_type, "bot")) {
type = ui_type;
}
}
diff --git a/libpurple/protocols/jabber/jingle/content.c b/libpurple/protocols/jabber/jingle/content.c
index f189647fd0..180896bbc5 100644
--- a/libpurple/protocols/jabber/jingle/content.c
+++ b/libpurple/protocols/jabber/jingle/content.c
@@ -410,7 +410,7 @@ jingle_content_to_xml_internal(JingleContent *content, PurpleXmlNode *jingle, Ji
purple_xmlnode_set_attrib(node, "creator", creator);
purple_xmlnode_set_attrib(node, "name", name);
purple_xmlnode_set_attrib(node, "senders", senders);
- if (strcmp("session", disposition))
+ if (!purple_strequal("session", disposition))
purple_xmlnode_set_attrib(node, "disposition", disposition);
g_free(disposition);
diff --git a/libpurple/protocols/jabber/jingle/iceudp.c b/libpurple/protocols/jabber/jingle/iceudp.c
index d258ac0f42..2321458037 100644
--- a/libpurple/protocols/jabber/jingle/iceudp.c
+++ b/libpurple/protocols/jabber/jingle/iceudp.c
@@ -269,7 +269,7 @@ jingle_iceudp_add_local_candidate(JingleTransport *transport, const gchar *id, g
for (iter = iceudp->priv->local_candidates; iter; iter = g_list_next(iter)) {
JingleIceUdpCandidate *c = iter->data;
- if (!strcmp(c->id, id)) {
+ if (purple_strequal(c->id, id)) {
generation = c->generation + 1;
g_boxed_free(JINGLE_TYPE_ICEUDP_CANDIDATE, c);
@@ -304,13 +304,13 @@ jingle_iceudp_get_remote_candidates(JingleTransport *transport)
JingleIceUdpCandidate *candidate = candidates->data;
PurpleMediaCandidate *new_candidate = purple_media_candidate_new(
candidate->foundation, candidate->component,
- !strcmp(candidate->type, "host") ?
+ purple_strequal(candidate->type, "host") ?
PURPLE_MEDIA_CANDIDATE_TYPE_HOST :
- !strcmp(candidate->type, "srflx") ?
+ purple_strequal(candidate->type, "srflx") ?
PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX :
- !strcmp(candidate->type, "prflx") ?
+ purple_strqual(candidate->type, "prflx") ?
PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX :
- !strcmp(candidate->type, "relay") ?
+ purple_strequal(candidate->type, "relay") ?
PURPLE_MEDIA_CANDIDATE_TYPE_RELAY : 0,
PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
candidate->ip, candidate->port);
@@ -334,7 +334,7 @@ jingle_iceudp_get_remote_candidate_by_id(JingleIceUdp *iceudp,
GList *iter = iceudp->priv->remote_candidates;
for (; iter; iter = g_list_next(iter)) {
JingleIceUdpCandidate *candidate = iter->data;
- if (!strcmp(candidate->id, id)) {
+ if (purple_strequal(candidate->id, id)) {
return candidate;
}
}
@@ -453,7 +453,7 @@ jingle_iceudp_to_xml_internal(JingleTransport *transport, PurpleXmlNode *content
purple_xmlnode_set_attrib(xmltransport, "protocol", candidate->protocol);
if (candidate->reladdr != NULL &&
- (strcmp(candidate->ip, candidate->reladdr) ||
+ (!purple_strequal(candidate->ip, candidate->reladdr) ||
(candidate->port != candidate->relport))) {
gchar *relport = g_strdup_printf("%d",
candidate->relport);
diff --git a/libpurple/protocols/jabber/jingle/jingle.c b/libpurple/protocols/jabber/jingle/jingle.c
index 0b697ec8e3..666f0b0cfe 100644
--- a/libpurple/protocols/jabber/jingle/jingle.c
+++ b/libpurple/protocols/jabber/jingle/jingle.c
@@ -47,26 +47,26 @@ jingle_get_type(const gchar *type)
if (type == NULL)
return G_TYPE_NONE;
- if (!strcmp(type, JINGLE_TRANSPORT_RAWUDP))
+ if (purple_strequal(type, JINGLE_TRANSPORT_RAWUDP))
return JINGLE_TYPE_RAWUDP;
- else if (!strcmp(type, JINGLE_TRANSPORT_ICEUDP))
+ else if (purple_strequal(type, JINGLE_TRANSPORT_ICEUDP))
return JINGLE_TYPE_ICEUDP;
#if 0
- else if (!strcmp(type, JINGLE_TRANSPORT_SOCKS))
+ else if (purple_strequal(type, JINGLE_TRANSPORT_SOCKS))
return JINGLE_TYPE_SOCKS;
- else if (!strcmp(type, JINGLE_TRANSPORT_IBB))
+ else if (purple_strequal(type, JINGLE_TRANSPORT_IBB))
return JINGLE_TYPE_IBB;
#endif
#ifdef USE_VV
- else if (!strcmp(type, JINGLE_APP_RTP))
+ else if (purple_strequal(type, JINGLE_APP_RTP))
return JINGLE_TYPE_RTP;
else if (!strcmp(type, NS_GOOGLE_TRANSPORT_P2P))
return JINGLE_TYPE_GOOGLE_P2P;
#endif
#if 0
- else if (!strcmp(type, JINGLE_APP_FT))
+ else if (purple_strequal(type, JINGLE_APP_FT))
return JINGLE_TYPE_FT;
- else if (!strcmp(type, JINGLE_APP_XML))
+ else if (purple_strequal(type, JINGLE_APP_XML))
return JINGLE_TYPE_XML;
#endif
else
@@ -373,7 +373,7 @@ jingle_get_action_type(const gchar *action)
/* Start at 1 to skip the unknown-action type */
int i = 1;
for (; i < num_actions; ++i) {
- if (!strcmp(action, jingle_actions[i].name))
+ if (purple_strequal(action, jingle_actions[i].name))
return i;
}
return JINGLE_UNKNOWN_TYPE;
@@ -409,7 +409,7 @@ jingle_parse(JabberStream *js, const char *from, JabberIqType type,
}
if (!(session = jingle_session_find_by_sid(js, sid))
- && strcmp(action, "session-initiate")) {
+ && !purple_strequal(action, "session-initiate")) {
purple_debug_error("jingle", "jabber_jingle_session_parse couldn't find session\n");
/* send iq error here */
return;
diff --git a/libpurple/protocols/jabber/jingle/rawudp.c b/libpurple/protocols/jabber/jingle/rawudp.c
index 2cf57f2f15..b5a2739822 100644
--- a/libpurple/protocols/jabber/jingle/rawudp.c
+++ b/libpurple/protocols/jabber/jingle/rawudp.c
@@ -220,7 +220,7 @@ jingle_rawudp_add_local_candidate(JingleTransport *transport, const gchar *id, g
for (iter = rawudp->priv->local_candidates; iter; iter = g_list_next(iter)) {
JingleRawUdpCandidate *c = iter->data;
- if (!strcmp(c->id, id)) {
+ if (purple_strequal(c->id, id)) {
generation = c->generation + 1;
g_boxed_free(JINGLE_TYPE_RAWUDP_CANDIDATE, c);
@@ -269,7 +269,7 @@ jingle_rawudp_get_remote_candidate_by_id(JingleRawUdp *rawudp, gchar *id)
GList *iter = rawudp->priv->remote_candidates;
for (; iter; iter = g_list_next(iter)) {
JingleRawUdpCandidate *candidate = iter->data;
- if (!strcmp(candidate->id, id)) {
+ if (purple_strequal(candidate->id, id)) {
return candidate;
}
}
diff --git a/libpurple/protocols/jabber/jingle/rtp.c b/libpurple/protocols/jabber/jingle/rtp.c
index 614db7acc3..50c11f2b8c 100644
--- a/libpurple/protocols/jabber/jingle/rtp.c
+++ b/libpurple/protocols/jabber/jingle/rtp.c
@@ -477,7 +477,7 @@ jingle_rtp_init_media(JingleContent *content)
transmitter = "notransmitter";
g_object_unref(transport);
- is_audio = g_str_equal(media_type, "audio");
+ is_audio = purple_strequal(media_type, "audio");
if (purple_strequal(senders, "both"))
type = is_audio ? PURPLE_MEDIA_AUDIO
@@ -505,7 +505,7 @@ jingle_rtp_init_media(JingleContent *content)
return FALSE;
}
- if (g_str_equal(creator, "initiator"))
+ if (purple_strequal(creator, "initiator"))
is_creator = jingle_session_is_initiator(session);
else
is_creator = !jingle_session_is_initiator(session);
@@ -544,9 +544,9 @@ jingle_rtp_parse_codecs(PurpleXmlNode *description)
return NULL;
}
- if (g_str_equal(media, "video")) {
+ if (purple_strequal(media, "video")) {
type = PURPLE_MEDIA_VIDEO;
- } else if (g_str_equal(media, "audio")) {
+ } else if (purple_strequal(media, "audio")) {
type = PURPLE_MEDIA_AUDIO;
} else {
purple_debug_warning("jingle-rtp", "unknown media type: %s\n",
diff --git a/libpurple/protocols/jabber/jingle/session.c b/libpurple/protocols/jabber/jingle/session.c
index 734190cf44..48a9508632 100644
--- a/libpurple/protocols/jabber/jingle/session.c
+++ b/libpurple/protocols/jabber/jingle/session.c
@@ -361,7 +361,7 @@ static gboolean find_by_jid_ghr(gpointer key,
gchar *cmp_jid = use_bare ? jabber_get_bare_jid(remote_jid)
: g_strdup(remote_jid);
g_free(remote_jid);
- if (g_str_equal(jid, cmp_jid)) {
+ if (purple_strequal(jid, cmp_jid)) {
g_free(cmp_jid);
return TRUE;
}
@@ -491,12 +491,12 @@ jingle_session_find_content(JingleSession *session, const gchar *name, const gch
for (; iter; iter = g_list_next(iter)) {
JingleContent *content = iter->data;
gchar *cname = jingle_content_get_name(content);
- gboolean result = g_str_equal(name, cname);
+ gboolean result = purple_strequal(name, cname);
g_free(cname);
if (creator != NULL) {
gchar *ccreator = jingle_content_get_creator(content);
- result = (result && !strcmp(creator, ccreator));
+ result = (result && purple_strequal(creator, ccreator));
g_free(ccreator);
}
@@ -518,12 +518,12 @@ jingle_session_find_pending_content(JingleSession *session, const gchar *name, c
for (; iter; iter = g_list_next(iter)) {
JingleContent *content = iter->data;
gchar *cname = jingle_content_get_name(content);
- gboolean result = g_str_equal(name, cname);
+ gboolean result = purple_strequal(name, cname);
g_free(cname);
if (creator != NULL) {
gchar *ccreator = jingle_content_get_creator(content);
- result = (result && !strcmp(creator, ccreator));
+ result = (result && purple_strequal(creator, ccreator));
g_free(ccreator);
}
diff --git a/libpurple/protocols/jabber/jutil.c b/libpurple/protocols/jabber/jutil.c
index a10620bb2c..c591fb1ad4 100644
--- a/libpurple/protocols/jabber/jutil.c
+++ b/libpurple/protocols/jabber/jutil.c
@@ -670,7 +670,7 @@ jabber_is_own_server(JabberStream *js, const char *str)
return FALSE;
equal = (jid->node == NULL &&
- g_str_equal(jid->domain, js->user->domain) &&
+ purple_strequal(jid->domain, js->user->domain) &&
jid->resource == NULL);
jabber_id_free(jid);
return equal;
@@ -692,9 +692,9 @@ jabber_is_own_account(JabberStream *js, const char *str)
return FALSE;
equal = (purple_strequal(jid->node, js->user->node) &&
- g_str_equal(jid->domain, js->user->domain) &&
+ purple_strequal(jid->domain, js->user->domain) &&
(jid->resource == NULL ||
- g_str_equal(jid->resource, js->user->resource)));
+ purple_strequal(jid->resource, js->user->resource)));
jabber_id_free(jid);
return equal;
}
@@ -733,7 +733,7 @@ jabber_buddy_status_id_get_state(const char *id)
return JABBER_BUDDY_STATE_UNKNOWN;
for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i)
- if (g_str_equal(id, jabber_statuses[i].status_id))
+ if (purple_strequal(id, jabber_statuses[i].status_id))
return jabber_statuses[i].state;
return JABBER_BUDDY_STATE_UNKNOWN;
@@ -746,7 +746,7 @@ JabberBuddyState jabber_buddy_show_get_state(const char *id)
g_return_val_if_fail(id != NULL, JABBER_BUDDY_STATE_UNKNOWN);
for (i = 0; i < G_N_ELEMENTS(jabber_statuses); ++i)
- if (jabber_statuses[i].show && g_str_equal(id, jabber_statuses[i].show))
+ if (jabber_statuses[i].show && purple_strequal(id, jabber_statuses[i].show))
return jabber_statuses[i].state;
purple_debug_warning("jabber", "Invalid value of presence <show/> "
diff --git a/libpurple/protocols/jabber/message.c b/libpurple/protocols/jabber/message.c
index ac7f19b45e..cfecb6b0e9 100644
--- a/libpurple/protocols/jabber/message.c
+++ b/libpurple/protocols/jabber/message.c
@@ -46,6 +46,48 @@ typedef struct {
gchar *shortcut;
} JabberMessageRemoteSmileyAddData;
+static GString *jm_body_with_oob(JabberMessage *jm) {
+ GList *etc;
+ GString *body = g_string_new("");
+
+ if(jm->xhtml)
+ g_string_append(body, jm->xhtml);
+ else if(jm->body)
+ g_string_append(body, jm->body);
+
+ for(etc = jm->etc; etc; etc = etc->next) {
+ PurpleXmlNode *x = etc->data;
+ const char *xmlns = purple_xmlnode_get_namespace(x);
+ if(purple_strequal(xmlns, NS_OOB_X_DATA)) {
+ PurpleXmlNode *url, *desc;
+ char *urltxt, *desctxt;
+
+ url = purple_xmlnode_get_child(x, "url");
+ desc = purple_xmlnode_get_child(x, "desc");
+
+ if(!url)
+ continue;
+
+ urltxt = purple_xmlnode_get_data(url);
+ desctxt = desc ? purple_xmlnode_get_data(desc) : urltxt;
+
+ if(body->len && !purple_strequal(body->str, urltxt))
+ g_string_append_printf(body, "<br/><a href='%s'>%s</a>",
+ urltxt, desctxt);
+ else
+ g_string_printf(body, "<a href='%s'>%s</a>",
+ urltxt, desctxt);
+
+ g_free(urltxt);
+
+ if(desctxt != urltxt)
+ g_free(desctxt);
+ }
+ }
+
+ return body;
+}
+
void jabber_message_free(JabberMessage *jm)
{
g_free(jm->from);
@@ -71,6 +113,7 @@ static void handle_chat(JabberMessage *jm)
PurpleAccount *account;
JabberBuddy *jb;
JabberBuddyResource *jbr;
+ GString *body;
if(!jid)
return;
@@ -81,15 +124,17 @@ static void handle_chat(JabberMessage *jm)
jb = jabber_buddy_find(jm->js, jm->from, TRUE);
jbr = jabber_buddy_find_resource(jb, jid->resource);
- if(!jm->xhtml && !jm->body) {
- if (jbr && jm->chat_state != JM_STATE_NONE)
- jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
+ if (jbr && jm->chat_state != JM_STATE_NONE)
+ jbr->chat_states = JABBER_CHAT_STATES_SUPPORTED;
- if(JM_STATE_COMPOSING == jm->chat_state) {
+ switch(jm->chat_state) {
+ case JM_STATE_COMPOSING:
purple_serv_got_typing(gc, jm->from, 0, PURPLE_IM_TYPING);
- } else if(JM_STATE_PAUSED == jm->chat_state) {
+ break;
+ case JM_STATE_PAUSED:
purple_serv_got_typing(gc, jm->from, 0, PURPLE_IM_TYPED);
- } else if(JM_STATE_GONE == jm->chat_state) {
+ break;
+ case JM_STATE_GONE: {
PurpleIMConversation *im = purple_conversations_find_im_with_account(
jm->from, account);
if (im && jid->node && jid->domain) {
@@ -117,11 +162,21 @@ static void handle_chat(JabberMessage *jm)
}
}
purple_serv_got_typing_stopped(gc, jm->from);
-
- } else {
- purple_serv_got_typing_stopped(gc, jm->from);
+ break;
}
- } else {
+ default:
+ purple_serv_got_typing_stopped(gc, jm->from);
+ }
+
+ if (jm->js->googletalk && jm->body && jm->xhtml == NULL) {
+ char *tmp = jm->body;
+ jm->body = jabber_google_format_to_html(jm->body);
+ g_free(tmp);
+ }
+
+ body = jm_body_with_oob(jm);
+
+ if(body && body->len) {
if (jid->resource) {
/*
* We received a message from a specific resource, so
@@ -135,7 +190,7 @@ static void handle_chat(JabberMessage *jm)
PurpleIMConversation *im;
im = purple_conversations_find_im_with_account(jm->from, account);
- if (im && !g_str_equal(jm->from,
+ if (im && !purple_strequal(jm->from,
purple_conversation_get_name(PURPLE_CONVERSATION(im)))) {
purple_debug_info("jabber", "Binding conversation to %s\n",
jm->from);
@@ -156,63 +211,26 @@ static void handle_chat(JabberMessage *jm)
jbr->thread_id = g_strdup(jbr->thread_id);
}
- if (jm->js->googletalk && jm->xhtml == NULL) {
- char *tmp = jm->body;
- jm->body = jabber_google_format_to_html(jm->body);
- g_free(tmp);
- }
- purple_serv_got_im(gc, jm->from, jm->xhtml ? jm->xhtml : jm->body, 0, jm->sent);
+ purple_serv_got_im(gc, jm->from, body->str, 0, jm->sent);
}
jabber_id_free(jid);
+
+ if(body)
+ g_string_free(body, TRUE);
}
static void handle_headline(JabberMessage *jm)
{
char *title;
GString *body;
- GList *etc;
if(!jm->xhtml && !jm->body)
return; /* ignore headlines without any content */
- body = g_string_new("");
+ body = jm_body_with_oob(jm);
title = g_strdup_printf(_("Message from %s"), jm->from);
- if(jm->xhtml)
- g_string_append(body, jm->xhtml);
- else if(jm->body)
- g_string_append(body, jm->body);
-
- for(etc = jm->etc; etc; etc = etc->next) {
- PurpleXmlNode *x = etc->data;
- const char *xmlns = purple_xmlnode_get_namespace(x);
- if(xmlns && !strcmp(xmlns, NS_OOB_X_DATA)) {
- PurpleXmlNode *url, *desc;
- char *urltxt, *desctxt;
-
- url = purple_xmlnode_get_child(x, "url");
- desc = purple_xmlnode_get_child(x, "desc");
-
- if(!url || !desc)
- continue;
-
- urltxt = purple_xmlnode_get_data(url);
- desctxt = purple_xmlnode_get_data(desc);
-
- /* I'm all about ugly hacks */
- if(body->len && jm->body && !strcmp(body->str, jm->body))
- g_string_printf(body, "<a href='%s'>%s</a>",
- urltxt, desctxt);
- else
- g_string_append_printf(body, "<br/><a href='%s'>%s</a>",
- urltxt, desctxt);
-
- g_free(urltxt);
- g_free(desctxt);
- }
- }
-
purple_notify_formatted(jm->js->gc, title, jm->subject ? jm->subject : title,
NULL, body->str, NULL, NULL);
@@ -588,15 +606,15 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
jm->chat_state = JM_STATE_NONE;
if(type) {
- if(!strcmp(type, "normal"))
+ if(purple_strequal(type, "normal"))
jm->type = JABBER_MESSAGE_NORMAL;
- else if(!strcmp(type, "chat"))
+ else if(purple_strequal(type, "chat"))
jm->type = JABBER_MESSAGE_CHAT;
- else if(!strcmp(type, "groupchat"))
+ else if(purple_strequal(type, "groupchat"))
jm->type = JABBER_MESSAGE_GROUPCHAT;
- else if(!strcmp(type, "headline"))
+ else if(purple_strequal(type, "headline"))
jm->type = JABBER_MESSAGE_HEADLINE;
- else if(!strcmp(type, "error"))
+ else if(purple_strequal(type, "error"))
jm->type = JABBER_MESSAGE_ERROR;
else
jm->type = JABBER_MESSAGE_OTHER;
@@ -613,7 +631,7 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
if(child->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if(!strcmp(child->name, "error")) {
+ if(purple_strequal(child->name, "error")) {
const char *code = purple_xmlnode_get_attrib(child, "code");
char *code_txt = NULL;
char *text = purple_xmlnode_get_data(child);
@@ -638,20 +656,20 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
} else if (xmlns == NULL) {
/* QuLogic: Not certain this is correct, but it would have happened
with the previous code. */
- if(!strcmp(child->name, "x"))
+ if(purple_strequal(child->name, "x"))
jm->etc = g_list_append(jm->etc, child);
/* The following tests expect xmlns != NULL */
continue;
- } else if(!strcmp(child->name, "subject") && !strcmp(xmlns, NS_XMPP_CLIENT)) {
+ } else if(purple_strequal(child->name, "subject") && purple_strequal(xmlns, NS_XMPP_CLIENT)) {
if(!jm->subject) {
jm->subject = purple_xmlnode_get_data(child);
if(!jm->subject)
jm->subject = g_strdup("");
}
- } else if(!strcmp(child->name, "thread") && !strcmp(xmlns, NS_XMPP_CLIENT)) {
+ } else if(purple_strequal(child->name, "thread") && purple_strequal(xmlns, NS_XMPP_CLIENT)) {
if(!jm->thread_id)
jm->thread_id = purple_xmlnode_get_data(child);
- } else if(!strcmp(child->name, "body") && !strcmp(xmlns, NS_XMPP_CLIENT)) {
+ } else if(purple_strequal(child->name, "body") && purple_strequal(xmlns, NS_XMPP_CLIENT)) {
if(!jm->body) {
char *msg = purple_xmlnode_get_data(child);
char *escaped = purple_markup_escape_text(msg, -1);
@@ -659,7 +677,7 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
g_free(escaped);
g_free(msg);
}
- } else if(!strcmp(child->name, "html") && !strcmp(xmlns, NS_XHTML_IM)) {
+ } else if(purple_strequal(child->name, "html") && purple_strequal(xmlns, NS_XHTML_IM)) {
if(!jm->xhtml && purple_xmlnode_get_child(child, "body")) {
char *c;
@@ -740,35 +758,35 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
*c = ' ';
}
}
- } else if(!strcmp(child->name, "active") && !strcmp(xmlns,"http://jabber.org/protocol/chatstates")) {
+ } else if(purple_strequal(child->name, "active") && purple_strequal(xmlns,"http://jabber.org/protocol/chatstates")) {
jm->chat_state = JM_STATE_ACTIVE;
- } else if(!strcmp(child->name, "composing") && !strcmp(xmlns,"http://jabber.org/protocol/chatstates")) {
+ } else if(purple_strequal(child->name, "composing") && purple_strequal(xmlns,"http://jabber.org/protocol/chatstates")) {
jm->chat_state = JM_STATE_COMPOSING;
- } else if(!strcmp(child->name, "paused") && !strcmp(xmlns,"http://jabber.org/protocol/chatstates")) {
+ } else if(purple_strequal(child->name, "paused") && purple_strequal(xmlns,"http://jabber.org/protocol/chatstates")) {
jm->chat_state = JM_STATE_PAUSED;
- } else if(!strcmp(child->name, "inactive") && !strcmp(xmlns,"http://jabber.org/protocol/chatstates")) {
+ } else if(purple_strequal(child->name, "inactive") && purple_strequal(xmlns,"http://jabber.org/protocol/chatstates")) {
jm->chat_state = JM_STATE_INACTIVE;
- } else if(!strcmp(child->name, "gone") && !strcmp(xmlns,"http://jabber.org/protocol/chatstates")) {
+ } else if(purple_strequal(child->name, "gone") && purple_strequal(xmlns,"http://jabber.org/protocol/chatstates")) {
jm->chat_state = JM_STATE_GONE;
- } else if(!strcmp(child->name, "event") && !strcmp(xmlns,"http://jabber.org/protocol/pubsub#event")) {
+ } else if(purple_strequal(child->name, "event") && purple_strequal(xmlns,"http://jabber.org/protocol/pubsub#event")) {
PurpleXmlNode *items;
jm->type = JABBER_MESSAGE_EVENT;
for(items = purple_xmlnode_get_child(child,"items"); items; items = items->next)
jm->eventitems = g_list_append(jm->eventitems, items);
- } else if(!strcmp(child->name, "attention") && !strcmp(xmlns, NS_ATTENTION)) {
+ } else if(purple_strequal(child->name, "attention") && purple_strequal(xmlns, NS_ATTENTION)) {
jm->hasBuzz = TRUE;
- } else if(!strcmp(child->name, "delay") && !strcmp(xmlns, NS_DELAYED_DELIVERY)) {
+ } else if(purple_strequal(child->name, "delay") && purple_strequal(xmlns, NS_DELAYED_DELIVERY)) {
const char *timestamp = purple_xmlnode_get_attrib(child, "stamp");
jm->delayed = TRUE;
if(timestamp)
jm->sent = purple_str_to_time(timestamp, TRUE, NULL, NULL, NULL);
- } else if(!strcmp(child->name, "x")) {
- if(!strcmp(xmlns, NS_DELAYED_DELIVERY_LEGACY)) {
+ } else if(purple_strequal(child->name, "x")) {
+ if(purple_strequal(xmlns, NS_DELAYED_DELIVERY_LEGACY)) {
const char *timestamp = purple_xmlnode_get_attrib(child, "stamp");
jm->delayed = TRUE;
if(timestamp)
jm->sent = purple_str_to_time(timestamp, TRUE, NULL, NULL, NULL);
- } else if(!strcmp(xmlns, "jabber:x:conference") &&
+ } else if(purple_strequal(xmlns, "jabber:x:conference") &&
jm->type != JABBER_MESSAGE_GROUPCHAT_INVITE &&
jm->type != JABBER_MESSAGE_ERROR) {
const char *jid = purple_xmlnode_get_attrib(child, "jid");
@@ -790,7 +808,7 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
jm->password = g_strdup(password);
}
}
- } else if(!strcmp(xmlns, "http://jabber.org/protocol/muc#user") &&
+ } else if(purple_strequal(xmlns, "http://jabber.org/protocol/muc#user") &&
jm->type != JABBER_MESSAGE_ERROR) {
PurpleXmlNode *invite = purple_xmlnode_get_child(child, "invite");
if(invite) {
@@ -813,7 +831,7 @@ void jabber_message_parse(JabberStream *js, PurpleXmlNode *packet)
} else {
jm->etc = g_list_append(jm->etc, child);
}
- } else if (g_str_equal(child->name, "query")) {
+ } else if (purple_strequal(child->name, "query")) {
const char *node = purple_xmlnode_get_attrib(child, "node");
if (purple_strequal(xmlns, NS_DISCO_ITEMS)
&& purple_strequal(node, "http://jabber.org/protocol/commands")) {
diff --git a/libpurple/protocols/jabber/oob.c b/libpurple/protocols/jabber/oob.c
index f77797ce84..7425853a79 100644
--- a/libpurple/protocols/jabber/oob.c
+++ b/libpurple/protocols/jabber/oob.c
@@ -143,11 +143,11 @@ static void jabber_oob_xfer_recv_error(PurpleXfer *xfer, const char *code) {
jabber_iq_set_id(iq, jox->iq_id);
y = purple_xmlnode_new_child(iq->node, "error");
purple_xmlnode_set_attrib(y, "code", code);
- if(!strcmp(code, "406")) {
+ if(purple_strequal(code, "406")) {
z = purple_xmlnode_new_child(y, "not-acceptable");
purple_xmlnode_set_attrib(y, "type", "modify");
purple_xmlnode_set_namespace(z, NS_XMPP_STANZAS);
- } else if(!strcmp(code, "404")) {
+ } else if(purple_strequal(code, "404")) {
z = purple_xmlnode_new_child(y, "not-found");
purple_xmlnode_set_attrib(y, "type", "cancel");
purple_xmlnode_set_namespace(z, NS_XMPP_STANZAS);
diff --git a/libpurple/protocols/jabber/parser.c b/libpurple/protocols/jabber/parser.c
index a7e69039f4..9e941421ca 100644
--- a/libpurple/protocols/jabber/parser.c
+++ b/libpurple/protocols/jabber/parser.c
@@ -191,8 +191,8 @@ jabber_parser_structured_error_handler(void *user_data, xmlErrorPtr error)
{
JabberStream *js = user_data;
- if (error->level == XML_ERR_WARNING && error->message != NULL
- && g_str_equal(error->message, "xmlns: URI vcard-temp is not absolute\n"))
+ if (error->level == XML_ERR_WARNING
+ && purple_strequal(error->message, "xmlns: URI vcard-temp is not absolute\n"))
/*
* This message happens when parsing vcards, and is normal, so don't
* bother logging it because people scare easily.
diff --git a/libpurple/protocols/jabber/presence.c b/libpurple/protocols/jabber/presence.c
index 162b342577..07876c174a 100644
--- a/libpurple/protocols/jabber/presence.c
+++ b/libpurple/protocols/jabber/presence.c
@@ -69,7 +69,7 @@ str_to_presence_type(const char *type)
return JABBER_PRESENCE_AVAILABLE;
for (i = 0; i < G_N_ELEMENTS(jabber_presence_types); ++i)
- if (g_str_equal(type, jabber_presence_types[i].name))
+ if (purple_strequal(type, jabber_presence_types[i].name))
return jabber_presence_types[i].type;
purple_debug_warning("jabber", "Unknown presence type '%s'\n", type);
@@ -212,12 +212,10 @@ void jabber_presence_send(JabberStream *js, gboolean force)
stripped = jabber_google_presence_outgoing(tune);
}
-#define CHANGED(a,b) ((!a && b) || (a && a[0] == '\0' && b && b[0] != '\0') || \
- (a && !b) || (a && a[0] != '\0' && b && b[0] == '\0') || (a && b && strcmp(a,b)))
/* check if there are any differences to the <presence> and send them in that case */
if (force || allowBuzz != js->allowBuzz || js->old_state != state ||
- CHANGED(js->old_msg, stripped) || js->old_priority != priority ||
- CHANGED(js->old_avatarhash, js->avatar_hash) || js->old_idle != js->idle) {
+ !purple_strequal(js->old_msg, stripped) || js->old_priority != priority ||
+ !purple_strequal(js->old_avatarhash, js->avatar_hash) || js->old_idle != js->idle) {
/* Need to update allowBuzz before creating the presence (with caps) */
js->allowBuzz = allowBuzz;
@@ -266,8 +264,9 @@ void jabber_presence_send(JabberStream *js, gboolean force)
purple_status_get_attr_int(tune, PURPLE_TUNE_TIME);
}
- if(CHANGED(artist, js->old_artist) || CHANGED(title, js->old_title) || CHANGED(source, js->old_source) ||
- CHANGED(uri, js->old_uri) || CHANGED(track, js->old_track) || (length != js->old_length)) {
+ if(!purple_strequal(artist, js->old_artist) || !purple_strequal(title, js->old_title) ||
+ !purple_strequal(source, js->old_source) || !purple_strequal(uri, js->old_uri) ||
+ !purple_strequal(track, js->old_track) || (length != js->old_length)) {
PurpleJabberTuneInfo tuneinfo = {
(char*)artist,
(char*)title,
@@ -594,7 +593,7 @@ handle_presence_chat(JabberStream *js, JabberPresence *presence, PurpleXmlNode *
}
if (g_slist_find(presence->chat_info.codes, GINT_TO_POINTER(110)) ||
- g_str_equal(presence->jid_from->resource, chat->handle) ||
+ purple_strequal(presence->jid_from->resource, chat->handle) ||
purple_strequal(presence->to, jid))
is_our_resource = TRUE;
@@ -623,9 +622,9 @@ handle_presence_chat(JabberStream *js, JabberPresence *presence, PurpleXmlNode *
if (purple_strequal(affiliation, "owner"))
flags |= PURPLE_CHAT_USER_FOUNDER;
if (role) {
- if (g_str_equal(role, "moderator"))
+ if (purple_strequal(role, "moderator"))
flags |= PURPLE_CHAT_USER_OP;
- else if (g_str_equal(role, "participant"))
+ else if (purple_strequal(role, "participant"))
flags |= PURPLE_CHAT_USER_VOICE;
}
@@ -667,12 +666,12 @@ handle_presence_chat(JabberStream *js, JabberPresence *presence, PurpleXmlNode *
*/
if (!presence->jid_from->resource || !chat->conv || chat->left) {
if (chat->left &&
- presence->jid_from->resource && chat->handle && !strcmp(presence->jid_from->resource, chat->handle))
+ presence->jid_from->resource && chat->handle && purple_strequal(presence->jid_from->resource, chat->handle))
jabber_chat_destroy(chat);
return FALSE;
}
- is_our_resource = g_str_equal(presence->jid_from->resource, chat->handle);
+ is_our_resource = purple_strequal(presence->jid_from->resource, chat->handle);
jabber_buddy_remove_resource(presence->jb, presence->jid_from->resource);
@@ -701,7 +700,7 @@ handle_presence_chat(JabberStream *js, JabberPresence *presence, PurpleXmlNode *
} else {
nick_change = TRUE;
- if (g_str_equal(presence->jid_from->resource, chat->handle)) {
+ if (purple_strequal(presence->jid_from->resource, chat->handle)) {
/* Changing our own nickname */
g_free(chat->handle);
/* TODO: This should be resourceprep'd */
@@ -1054,8 +1053,8 @@ void jabber_presence_parse(JabberStream *js, PurpleXmlNode *packet)
/* Look it up if we don't already have all this information */
if (!jbr || !jbr->caps.info ||
- !g_str_equal(node, jbr->caps.info->tuple.node) ||
- !g_str_equal(ver, jbr->caps.info->tuple.ver) ||
+ !purple_strequal(node, jbr->caps.info->tuple.node) ||
+ !purple_strequal(ver, jbr->caps.info->tuple.ver) ||
!purple_strequal(hash, jbr->caps.info->tuple.hash) ||
!jabber_caps_exts_known(jbr->caps.info, (gchar **)exts)) {
JabberPresenceCapabilities *userdata = g_new0(JabberPresenceCapabilities, 1);
diff --git a/libpurple/protocols/jabber/roster.c b/libpurple/protocols/jabber/roster.c
index 3bb73b5063..1456fcc6f6 100644
--- a/libpurple/protocols/jabber/roster.c
+++ b/libpurple/protocols/jabber/roster.c
@@ -232,17 +232,17 @@ void jabber_roster_parse(JabberStream *js, const char *from,
continue;
if(subscription) {
- if (g_str_equal(subscription, "remove"))
+ if (purple_strequal(subscription, "remove"))
jb->subscription = JABBER_SUB_REMOVE;
else if (jb == js->user_jb)
jb->subscription = JABBER_SUB_BOTH;
- else if (g_str_equal(subscription, "none"))
+ else if (purple_strequal(subscription, "none"))
jb->subscription = JABBER_SUB_NONE;
- else if (g_str_equal(subscription, "to"))
+ else if (purple_strequal(subscription, "to"))
jb->subscription = JABBER_SUB_TO;
- else if (g_str_equal(subscription, "from"))
+ else if (purple_strequal(subscription, "from"))
jb->subscription = JABBER_SUB_FROM;
- else if (g_str_equal(subscription, "both"))
+ else if (purple_strequal(subscription, "both"))
jb->subscription = JABBER_SUB_BOTH;
}
@@ -454,7 +454,7 @@ void jabber_roster_group_change(PurpleConnection *gc, const char *name,
GSList *buddies, *groups = NULL;
PurpleBuddy *b;
- if(!old_group || !new_group || !strcmp(old_group, new_group))
+ if(!old_group || !new_group || purple_strequal(old_group, new_group))
return;
buddies = purple_blist_find_buddies(purple_connection_get_account(gc), name);
@@ -531,9 +531,9 @@ jabber_roster_group_get_global_name(PurpleGroup *group)
if (name == NULL)
name = JABBER_ROSTER_DEFAULT_GROUP;
- else if (g_strcmp0(name, PURPLE_BLIST_DEFAULT_GROUP_NAME) == 0)
+ else if (purple_strequal(name, PURPLE_BLIST_DEFAULT_GROUP_NAME))
name = JABBER_ROSTER_DEFAULT_GROUP;
- else if (g_strcmp0(name, _purple_blist_get_localized_default_group_name()) == 0)
+ else if (purple_strequal(name, _purple_blist_get_localized_default_group_name()))
name = JABBER_ROSTER_DEFAULT_GROUP;
return name;
diff --git a/libpurple/protocols/jabber/si.c b/libpurple/protocols/jabber/si.c
index 2dc9188bd5..471c50d625 100644
--- a/libpurple/protocols/jabber/si.c
+++ b/libpurple/protocols/jabber/si.c
@@ -89,7 +89,7 @@ jabber_si_xfer_find(JabberStream *js, const char *sid, const char *from)
PurpleXfer *xfer = xfers->data;
JabberSIXfer *jsx = purple_xfer_get_protocol_data(xfer);
if(jsx->stream_id && purple_xfer_get_remote_user(xfer) &&
- !strcmp(jsx->stream_id, sid) && !strcmp(purple_xfer_get_remote_user(xfer), from))
+ purple_strequal(jsx->stream_id, sid) && purple_strequal(purple_xfer_get_remote_user(xfer), from))
return xfer;
}
@@ -764,7 +764,7 @@ jabber_si_connect_proxy_cb(JabberStream *js, const char *from,
{
gchar *my_jid = g_strdup_printf("%s@%s/%s", jsx->js->user->node,
jsx->js->user->domain, jsx->js->user->resource);
- if (!strcmp(jid, my_jid)) {
+ if (purple_strequal(jid, my_jid)) {
purple_debug_info("jabber", "Got local SOCKS5 streamhost-used.\n");
purple_xfer_start(xfer, purple_xfer_get_fd(xfer), NULL, -1);
} else {
@@ -870,7 +870,7 @@ jabber_si_xfer_bytestreams_listen_cb(int sock, gpointer data)
}
/* Include the public IP (assuming that there is a port mapped somehow) */
- if (!has_public_ip && strcmp(public_ip, "0.0.0.0") != 0) {
+ if (!has_public_ip && !purple_strequal(public_ip, "0.0.0.0")) {
streamhost_count++;
streamhost = purple_xmlnode_new_child(query, "streamhost");
purple_xmlnode_set_attrib(streamhost, "jid", jid);
@@ -1193,14 +1193,14 @@ static void jabber_si_xfer_send_method_cb(JabberStream *js, const char *from,
const char *var = purple_xmlnode_get_attrib(field, "var");
JabberSIXfer *jsx = purple_xfer_get_protocol_data(xfer);
- if(var && !strcmp(var, "stream-method")) {
+ if(purple_strequal(var, "stream-method")) {
if((value = purple_xmlnode_get_child(field, "value"))) {
char *val = purple_xmlnode_get_data(value);
- if(val && !strcmp(val, NS_BYTESTREAMS)) {
+ if(purple_strequal(val, NS_BYTESTREAMS)) {
jabber_si_xfer_bytestreams_send_init(xfer);
jsx->stream_method |= STREAM_METHOD_BYTESTREAMS;
found_method = TRUE;
- } else if (val && !strcmp(val, NS_IBB)) {
+ } else if (purple_strequal(val, NS_IBB)) {
jsx->stream_method |= STREAM_METHOD_IBB;
if (!found_method) {
/* we haven't tried to init a bytestream session, yet
@@ -1689,7 +1689,7 @@ void jabber_si_parse(JabberStream *js, const char *from, JabberIqType type,
goffset filesize = 0;
if(!(profile = purple_xmlnode_get_attrib(si, "profile")) ||
- strcmp(profile, NS_SI_FILE_TRANSFER))
+ !purple_strequal(profile, NS_SI_FILE_TRANSFER))
return;
if(!(stream_id = purple_xmlnode_get_attrib(si, "id")))
@@ -1726,15 +1726,15 @@ void jabber_si_parse(JabberStream *js, const char *from, JabberIqType type,
for(field = purple_xmlnode_get_child(x, "field"); field; field = purple_xmlnode_get_next_twin(field)) {
const char *var = purple_xmlnode_get_attrib(field, "var");
- if(var && !strcmp(var, "stream-method")) {
+ if(purple_strequal(var, "stream-method")) {
for(option = purple_xmlnode_get_child(field, "option"); option;
option = purple_xmlnode_get_next_twin(option)) {
if((value = purple_xmlnode_get_child(option, "value"))) {
char *val;
if((val = purple_xmlnode_get_data(value))) {
- if(!strcmp(val, NS_BYTESTREAMS)) {
+ if(purple_strequal(val, NS_BYTESTREAMS)) {
jsx->stream_method |= STREAM_METHOD_BYTESTREAMS;
- } else if(!strcmp(val, NS_IBB)) {
+ } else if(purple_strequal(val, NS_IBB)) {
jsx->stream_method |= STREAM_METHOD_IBB;
}
g_free(val);
diff --git a/libpurple/protocols/jabber/useravatar.c b/libpurple/protocols/jabber/useravatar.c
index 7e6c0d01d0..958a92b64a 100644
--- a/libpurple/protocols/jabber/useravatar.c
+++ b/libpurple/protocols/jabber/useravatar.c
@@ -358,17 +358,17 @@ update_buddy_metadata(JabberStream *js, const char *from, PurpleXmlNode *items)
for(info = metadata->child; info; info = info->next) {
if(info->type == PURPLE_XMLNODE_TYPE_TAG)
has_children = TRUE;
- if(info->type == PURPLE_XMLNODE_TYPE_TAG && !strcmp(info->name,"info")) {
+ if(info->type == PURPLE_XMLNODE_TYPE_TAG && purple_strequal(info->name,"info")) {
const char *type = purple_xmlnode_get_attrib(info,"type");
const char *id = purple_xmlnode_get_attrib(info,"id");
- if(checksum && id && !strcmp(id, checksum)) {
+ if(checksum && id && purple_strequal(id, checksum)) {
/* we already have that avatar, so we don't have to do anything */
goodinfo = NULL;
break;
}
/* We'll only pick the png one for now. It's a very nice image format anyways. */
- if(type && id && !goodinfo && !strcmp(type, "image/png"))
+ if(id && !goodinfo && purple_strequal(type, "image/png"))
goodinfo = info;
}
}
diff --git a/libpurple/protocols/jabber/usermood.c b/libpurple/protocols/jabber/usermood.c
index 85b286e33a..9cd9bc906e 100644
--- a/libpurple/protocols/jabber/usermood.c
+++ b/libpurple/protocols/jabber/usermood.c
@@ -127,7 +127,7 @@ find_mood_by_name(const gchar *name)
g_return_val_if_fail(name && *name, NULL);
for (i = 0; moods[i].mood != NULL; ++i) {
- if (g_str_equal(name, moods[i].mood)) {
+ if (purple_strequal(name, moods[i].mood)) {
return &moods[i];
}
}
@@ -151,7 +151,7 @@ static void jabber_mood_cb(JabberStream *js, const char *from, PurpleXmlNode *it
return;
for (moodinfo = mood->child; moodinfo; moodinfo = moodinfo->next) {
if (moodinfo->type == PURPLE_XMLNODE_TYPE_TAG) {
- if (!strcmp(moodinfo->name, "text")) {
+ if (purple_strequal(moodinfo->name, "text")) {
if (!moodtext) /* only pick the first one */
moodtext = purple_xmlnode_get_data(moodinfo);
} else {
diff --git a/libpurple/protocols/jabber/usertune.c b/libpurple/protocols/jabber/usertune.c
index 82c8f11ca5..5a564f501c 100644
--- a/libpurple/protocols/jabber/usertune.c
+++ b/libpurple/protocols/jabber/usertune.c
@@ -58,11 +58,11 @@ static void jabber_tune_cb(JabberStream *js, const char *from, PurpleXmlNode *it
return; /* huh? */
for (tuneinfo = tune->child; tuneinfo; tuneinfo = tuneinfo->next) {
if (tuneinfo->type == PURPLE_XMLNODE_TYPE_TAG) {
- if (!strcmp(tuneinfo->name, "artist")) {
+ if (purple_strequal(tuneinfo->name, "artist")) {
if (tuneinfodata.artist == NULL) /* only pick the first one */
tuneinfodata.artist = purple_xmlnode_get_data(tuneinfo);
valid = TRUE;
- } else if (!strcmp(tuneinfo->name, "length")) {
+ } else if (purple_strequal(tuneinfo->name, "length")) {
if (tuneinfodata.time == -1) {
char *length = purple_xmlnode_get_data(tuneinfo);
if (length)
@@ -71,19 +71,19 @@ static void jabber_tune_cb(JabberStream *js, const char *from, PurpleXmlNode *it
if (tuneinfodata.time > 0)
valid = TRUE;
}
- } else if (!strcmp(tuneinfo->name, "source")) {
+ } else if (purple_strequal(tuneinfo->name, "source")) {
if (tuneinfodata.album == NULL) /* only pick the first one */
tuneinfodata.album = purple_xmlnode_get_data(tuneinfo);
valid = TRUE;
- } else if (!strcmp(tuneinfo->name, "title")) {
+ } else if (purple_strequal(tuneinfo->name, "title")) {
if (tuneinfodata.title == NULL) /* only pick the first one */
tuneinfodata.title = purple_xmlnode_get_data(tuneinfo);
valid = TRUE;
- } else if (!strcmp(tuneinfo->name, "track")) {
+ } else if (purple_strequal(tuneinfo->name, "track")) {
if (tuneinfodata.track == NULL) /* only pick the first one */
tuneinfodata.track = purple_xmlnode_get_data(tuneinfo);
valid = TRUE;
- } else if (!strcmp(tuneinfo->name, "uri")) {
+ } else if (purple_strequal(tuneinfo->name, "uri")) {
if (tuneinfodata.url == NULL) /* only pick the first one */
tuneinfodata.url = purple_xmlnode_get_data(tuneinfo);
valid = TRUE;
diff --git a/libpurple/protocols/jabber/xdata.c b/libpurple/protocols/jabber/xdata.c
index 140eb879f5..52eb8700ac 100644
--- a/libpurple/protocols/jabber/xdata.c
+++ b/libpurple/protocols/jabber/xdata.c
@@ -64,7 +64,7 @@ static void jabber_x_data_ok_cb(struct jabber_x_data_data *data, PurpleRequestFi
PurpleRequestField *field = flds->data;
const char *id = purple_request_field_get_id(field);
int handleindex;
- if(strcmp(id, "libpurple:jabber:xdata:actions"))
+ if(!purple_strequal(id, "libpurple:jabber:xdata:actions"))
continue;
handleindex = GPOINTER_TO_INT(purple_request_field_choice_get_value(field));
actionhandle = g_strdup(g_list_nth_data(data->actions, handleindex));
@@ -230,12 +230,12 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
if(!type)
type = "text-single";
- if(!var && strcmp(type, "fixed"))
+ if(!var && !purple_strequal(type, "fixed"))
continue;
if(!label)
label = var;
- if(!strcmp(type, "text-private")) {
+ if(purple_strequal(type, "text-private")) {
if((valuenode = purple_xmlnode_get_child(fn, "value")))
value = purple_xmlnode_get_data(valuenode);
@@ -247,7 +247,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_TEXT_SINGLE));
g_free(value);
- } else if(!strcmp(type, "text-multi") || !strcmp(type, "jid-multi")) {
+ } else if(purple_strequal(type, "text-multi") || purple_strequal(type, "jid-multi")) {
GString *str = g_string_new("");
for(valuenode = purple_xmlnode_get_child(fn, "value"); valuenode;
@@ -267,13 +267,13 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_TEXT_MULTI));
g_string_free(str, TRUE);
- } else if(!strcmp(type, "list-single") || !strcmp(type, "list-multi")) {
+ } else if(purple_strequal(type, "list-single") || purple_strequal(type, "list-multi")) {
PurpleXmlNode *optnode;
GList *selected = NULL;
field = purple_request_field_list_new(var, label);
- if(!strcmp(type, "list-multi")) {
+ if(purple_strequal(type, "list-multi")) {
purple_request_field_list_set_multi_select(field, TRUE);
g_hash_table_replace(data->fields, g_strdup(var),
GINT_TO_POINTER(JABBER_X_DATA_LIST_MULTI));
@@ -316,7 +316,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
selected = g_list_delete_link(selected, selected);
}
- } else if(!strcmp(type, "boolean")) {
+ } else if(purple_strequal(type, "boolean")) {
gboolean def = FALSE;
if((valuenode = purple_xmlnode_get_child(fn, "value")))
@@ -332,7 +332,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_BOOLEAN));
g_free(value);
- } else if(!strcmp(type, "fixed")) {
+ } else if(purple_strequal(type, "fixed")) {
if((valuenode = purple_xmlnode_get_child(fn, "value")))
value = purple_xmlnode_get_data(valuenode);
@@ -342,7 +342,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
g_free(value);
}
- } else if(!strcmp(type, "hidden")) {
+ } else if(purple_strequal(type, "hidden")) {
if((valuenode = purple_xmlnode_get_child(fn, "value")))
value = purple_xmlnode_get_data(valuenode);
@@ -362,7 +362,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet
value ? value : "", FALSE);
purple_request_field_group_add_field(group, field);
- if(!strcmp(type, "jid-single")) {
+ if(purple_strequal(type, "jid-single")) {
purple_request_field_set_type_hint(field, "screenname");
g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_JID_SINGLE));
} else {
diff --git a/libpurple/protocols/novell/nmconn.c b/libpurple/protocols/novell/nmconn.c
index 4c5aacad05..ecd261f5a8 100644
--- a/libpurple/protocols/novell/nmconn.c
+++ b/libpurple/protocols/novell/nmconn.c
@@ -30,6 +30,8 @@
#include <windows.h>
#endif
+#include "util.h"
+
#define NO_ESCAPE(ch) ((ch == 0x20) || (ch >= 0x30 && ch <= 0x39) || \
(ch >= 0x41 && ch <= 0x5a) || (ch >= 0x61 && ch <= 0x7a))
@@ -426,7 +428,7 @@ nm_send_request(NMConn *conn, char *cmd, NMField *fields,
/* Write headers */
if (rc == NM_OK) {
- if (strcmp("login", cmd) == 0) {
+ if (purple_strequal("login", cmd)) {
bytes_to_send = g_snprintf(buffer, sizeof(buffer),
"Host: %s:%d\r\n\r\n", conn->addr, conn->port);
ret = nm_tcp_write(conn, buffer, bytes_to_send);
@@ -522,7 +524,7 @@ nm_read_header(NMConn * conn)
/* Finish reading header, in the future we might want to do more processing here */
/* TODO: handle more general redirects in the future */
- while ((rc == NM_OK) && (strcmp(buffer, "\r\n") != 0)) {
+ while ((rc == NM_OK) && (!purple_strequal(buffer, "\r\n"))) {
rc = read_line(conn, buffer, sizeof(buffer));
}
diff --git a/libpurple/protocols/novell/nmcontact.c b/libpurple/protocols/novell/nmcontact.c
index cc073d3293..6c74e9e593 100644
--- a/libpurple/protocols/novell/nmcontact.c
+++ b/libpurple/protocols/novell/nmcontact.c
@@ -23,6 +23,7 @@
#include "nmcontact.h"
#include "nmfield.h"
#include "nmuser.h"
+#include "util.h"
struct _NMContact
{
@@ -83,7 +84,7 @@ nm_create_contact_from_fields(NMField * fields)
NMField *field;
if ( fields == NULL || fields->tag == NULL || fields->ptr_value == 0 ||
- strcmp(fields->tag, NM_A_FA_CONTACT) )
+ !purple_strequal(fields->tag, NM_A_FA_CONTACT) )
{
return NULL;
}
diff --git a/libpurple/protocols/novell/nmrtf.c b/libpurple/protocols/novell/nmrtf.c
index 4bb19d1024..ae27b8ca7a 100644
--- a/libpurple/protocols/novell/nmrtf.c
+++ b/libpurple/protocols/novell/nmrtf.c
@@ -30,6 +30,7 @@
#include <string.h>
#include "nmrtf.h"
#include "debug.h"
+#include "util.h"
/* Internal RTF parser error codes */
#define NMRTF_OK 0 /* Everything's fine! */
@@ -707,7 +708,7 @@ rtf_dispatch_control(NMRtfContext *ctx, char *keyword, int param, gboolean param
int idx;
for (idx = 0; idx < table_size; idx++) {
- if (strcmp(keyword, rtf_symbols[idx].keyword) == 0)
+ if (purple_strequal(keyword, rtf_symbols[idx].keyword))
break;
}
diff --git a/libpurple/protocols/novell/nmuser.c b/libpurple/protocols/novell/nmuser.c
index 5a3a07eb5c..1452c4b67a 100644
--- a/libpurple/protocols/novell/nmuser.c
+++ b/libpurple/protocols/novell/nmuser.c
@@ -1449,7 +1449,7 @@ nm_find_folder(NMUser * user, const char *name)
for (i = 0; i < num_folders; i++) {
temp = nm_folder_get_subfolder(user->root_folder, i);
tname = nm_folder_get_name(temp);
- if (tname && (strcmp(tname, name) == 0)) {
+ if (tname && purple_strequal(tname, name)) {
folder = temp;
break;
}
@@ -1568,7 +1568,7 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
cmd = nm_request_get_cmd(request);
if (ret_code == NM_OK && cmd != NULL) {
- if (strcmp("login", cmd) == 0) {
+ if (purple_strequal("login", cmd)) {
user->user_record = nm_create_user_record_from_fields(fields);
@@ -1578,11 +1578,11 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
nm_create_contact_list(user);
done = _create_privacy_list(user, request);
- } else if (strcmp("setstatus", cmd) == 0) {
+ } else if (purple_strequal("setstatus", cmd)) {
/* Nothing to do */
- } else if (strcmp("createconf", cmd) == 0) {
+ } else if (purple_strequal("createconf", cmd)) {
conf = (NMConference *) nm_request_get_data(request);
@@ -1599,12 +1599,12 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
nm_conference_list_add(user, conf);
nm_release_conference(conf);
- } else if (strcmp("leaveconf", cmd) == 0) {
+ } else if (purple_strequal("leaveconf", cmd)) {
conf = (NMConference *) nm_request_get_data(request);
nm_conference_list_remove(user, conf);
- } else if (strcmp("joinconf", cmd) == 0) {
+ } else if (purple_strequal("joinconf", cmd)) {
GSList *list = NULL, *node;
conf = nm_request_get_data(request);
@@ -1651,7 +1651,7 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
}
}
- } else if (strcmp("getdetails", cmd) == 0) {
+ } else if (purple_strequal("getdetails", cmd)) {
locate = nm_locate_field(NM_A_FA_RESULTS, fields);
while (locate && locate->ptr_value != 0) {
@@ -1682,11 +1682,11 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
locate = nm_locate_field(NM_A_FA_RESULTS, locate+1);
}
- } else if (strcmp("createfolder", cmd) == 0) {
+ } else if (purple_strequal("createfolder", cmd)) {
_update_contact_list(user, fields);
- } else if (strcmp("createcontact", cmd) == 0) {
+ } else if (purple_strequal("createcontact", cmd)) {
_update_contact_list(user, fields);
@@ -1710,15 +1710,15 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
}
- } else if (strcmp("deletecontact", cmd) == 0) {
+ } else if (purple_strequal("deletecontact", cmd)) {
_update_contact_list(user, fields);
- } else if (strcmp("movecontact", cmd) == 0) {
+ } else if (purple_strequal("movecontact", cmd)) {
_update_contact_list(user, fields);
- } else if (strcmp("getstatus", cmd) == 0) {
+ } else if (purple_strequal("getstatus", cmd)) {
locate = nm_locate_field(NM_A_SZ_STATUS, fields);
if (locate) {
@@ -1727,11 +1727,11 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
atoi((char *) locate->ptr_value), NULL);
}
- } else if (strcmp("updateitem", cmd) == 0) {
+ } else if (purple_strequal("updateitem", cmd)) {
/* Nothing extra to do here */
- } else if (strcmp("createblock", cmd) == 0) {
+ } else if (purple_strequal("createblock", cmd)) {
if ((locate = nm_locate_field(NM_A_BLOCKING_DENY_LIST, fields))) {
if (locate->ptr_value) {
user->deny_list = g_slist_append(user->deny_list, g_strdup((char *)locate->ptr_value));
@@ -1741,7 +1741,7 @@ nm_call_handler(NMUser * user, NMRequest * request, NMField * fields)
user->allow_list = g_slist_append(user->allow_list, g_strdup((char *)locate->ptr_value));
}
}
- } else if (strcmp("updateblocks", cmd) == 0) {
+ } else if (purple_strequal("updateblocks", cmd)) {
/* nothing to do here */
} else {
@@ -1969,7 +1969,7 @@ _update_contact_list(NMUser * user, NMField * fields)
return;
/* Is it wrapped in a RESULTS array? */
- if (strcmp(fields->tag, NM_A_FA_RESULTS) == 0) {
+ if (purple_strequal(fields->tag, NM_A_FA_RESULTS)) {
list = (NMField *) fields->ptr_value;
} else {
list = fields;
diff --git a/libpurple/protocols/novell/novell.c b/libpurple/protocols/novell/novell.c
index 86c1406c9f..d01ee43f3b 100644
--- a/libpurple/protocols/novell/novell.c
+++ b/libpurple/protocols/novell/novell.c
@@ -294,7 +294,7 @@ _get_details_resp_setup_buddy(NMUser * user, NMERR_T ret_code,
nm_user_record_get_display_id(user_record));
alias = purple_buddy_get_alias(buddy);
- if (alias == NULL || *alias == '\0' || (strcmp(alias, purple_buddy_get_name(buddy)) == 0)) {
+ if (alias == NULL || *alias == '\0' || purple_strequal(alias, purple_buddy_get_name(buddy))) {
purple_buddy_set_local_alias(buddy,
nm_user_record_get_full_name(user_record));
@@ -360,7 +360,7 @@ _create_contact_resp_cb(NMUser * user, NMERR_T ret_code,
if (display_id == NULL)
display_id = nm_contact_get_dn(new_contact);
- if (alias && strcmp(alias, display_id)) {
+ if (alias && !purple_strequal(alias, display_id)) {
/* The user requested an alias, tell the server about it. */
rc = nm_send_rename_contact(user, new_contact, alias,
@@ -1267,7 +1267,7 @@ _remove_purple_buddies(NMUser *user)
continue;
buddy = (PurpleBuddy *) bnode;
if (purple_buddy_get_account(buddy) == user->client_data) {
- if (strcmp(gname, NM_ROOT_FOLDER_NAME) == 0)
+ if (purple_strequal(gname, NM_ROOT_FOLDER_NAME))
gname = "";
folder = nm_find_folder(user, gname);
if (folder == NULL ||
@@ -1498,19 +1498,19 @@ _map_property_tag(const char *tag)
{
if (tag == NULL) return NULL;
- if (strcmp(tag, "telephoneNumber") == 0)
+ if (purple_strequal(tag, "telephoneNumber"))
return _("Telephone Number");
- else if (strcmp(tag, "L") == 0)
+ else if (purple_strequal(tag, "L"))
return _("Location");
- else if (strcmp(tag, "OU") == 0)
+ else if (purple_strequal(tag, "OU"))
return _("Department");
- else if (strcmp(tag, "personalTitle") == 0)
+ else if (purple_strequal(tag, "personalTitle"))
return _("Personal Title");
- else if (strcmp(tag, "Title") == 0)
+ else if (purple_strequal(tag, "Title"))
return _("Job Title");
- else if (strcmp(tag, "mailstop") == 0)
+ else if (purple_strequal(tag, "mailstop"))
return _("Mailstop");
- else if (strcmp(tag, "Internet EMail Address") == 0)
+ else if (purple_strequal(tag, "Internet EMail Address"))
return _("Email Address");
else
return tag;
@@ -2595,14 +2595,14 @@ novell_add_buddy(PurpleConnection * gc, PurpleBuddy *buddy, PurpleGroup * group,
*/
alias = purple_buddy_get_alias(buddy);
bname = purple_buddy_get_name(buddy);
- if (alias && strcmp(alias, bname))
+ if (alias && !purple_strequal(alias, bname))
nm_contact_set_display_name(contact, alias);
purple_blist_remove_buddy(buddy);
buddy = NULL;
gname = purple_group_get_name(group);
- if (strcmp(gname, NM_ROOT_FOLDER_NAME) == 0) {
+ if (purple_strequal(gname, NM_ROOT_FOLDER_NAME)) {
gname = "";
}
@@ -2639,7 +2639,7 @@ novell_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group
user = purple_connection_get_protocol_data(gc);
if (user && (dn = nm_lookup_dn(user, purple_buddy_get_name(buddy)))) {
gname = purple_group_get_name(group);
- if (strcmp(gname, NM_ROOT_FOLDER_NAME) == 0) {
+ if (purple_strequal(gname, NM_ROOT_FOLDER_NAME)) {
gname = "";
}
folder = nm_find_folder(user, gname);
@@ -2721,7 +2721,7 @@ novell_alias_buddy(PurpleConnection * gc, const char *name, const char *alias)
buddy = purple_blist_find_buddy_in_group(user->client_data,
name, group);
balias = buddy ? purple_buddy_get_local_alias(buddy) : NULL;
- if (balias && strcmp(balias, alias))
+ if (balias && !purple_strequal(balias, alias))
purple_buddy_set_local_alias(buddy, alias);
}
@@ -2756,7 +2756,7 @@ novell_group_buddy(PurpleConnection * gc,
if (user && (dn = nm_lookup_dn(user, name))) {
/* Find the old folder */
- if (strcmp(old_group_name, NM_ROOT_FOLDER_NAME) == 0) {
+ if (purple_strequal(old_group_name, NM_ROOT_FOLDER_NAME)) {
old_folder = nm_get_root_folder(user);
if (nm_folder_find_contact(old_folder, dn) == NULL)
old_folder = nm_find_folder(user, old_group_name);
@@ -2769,7 +2769,7 @@ novell_group_buddy(PurpleConnection * gc,
/* Find the new folder */
new_folder = nm_find_folder(user, new_group_name);
if (new_folder == NULL) {
- if (strcmp(new_group_name, NM_ROOT_FOLDER_NAME) == 0)
+ if (purple_strequal(new_group_name, NM_ROOT_FOLDER_NAME))
new_folder = nm_get_root_folder(user);
}
@@ -2822,7 +2822,7 @@ novell_rename_group(PurpleConnection * gc, const char *old_name,
return;
}
- if (strcmp(old_name, NM_ROOT_FOLDER_NAME) == 0) {
+ if (purple_strequal(old_name, NM_ROOT_FOLDER_NAME)) {
/* Can't rename the root folder ... need to revisit this */
return;
}
@@ -2916,7 +2916,7 @@ novell_set_idle(PurpleConnection * gc, int time)
id = purple_status_get_id(status);
/* Only go idle if active status is available */
- if (!strcmp(id, NOVELL_STATUS_TYPE_AVAILABLE)) {
+ if (purple_strequal(id, NOVELL_STATUS_TYPE_AVAILABLE)) {
if (time > 0) {
rc = nm_send_set_status(user, NM_STATUS_AWAY_IDLE, NULL, NULL, NULL, NULL);
} else {
diff --git a/libpurple/protocols/null/nullprpl.c b/libpurple/protocols/null/nullprpl.c
index af816d9eff..5ed4ee1c10 100644
--- a/libpurple/protocols/null/nullprpl.c
+++ b/libpurple/protocols/null/nullprpl.c
@@ -117,7 +117,7 @@ static void call_if_nullprotocol(gpointer data, gpointer userdata) {
PurpleConnection *gc = (PurpleConnection *)(data);
GcFuncData *gcfdata = (GcFuncData *)userdata;
- if (!strcmp(purple_account_get_protocol_id(purple_connection_get_account(gc)), "null"))
+ if (purple_strequal(purple_account_get_protocol_id(purple_connection_get_account(gc)), "null"))
gcfdata->fn(gcfdata->from, gc, gcfdata->userdata);
}
@@ -171,9 +171,9 @@ static void discover_status(PurpleConnection *from, PurpleConnection *to,
const char *status_id = purple_status_get_id(status);
const char *message = purple_status_get_attr_string(status, "message");
- if (!strcmp(status_id, NULL_STATUS_ONLINE) ||
- !strcmp(status_id, NULL_STATUS_AWAY) ||
- !strcmp(status_id, NULL_STATUS_OFFLINE)) {
+ if (purple_strequal(status_id, NULL_STATUS_ONLINE) ||
+ purple_strequal(status_id, NULL_STATUS_AWAY) ||
+ purple_strequal(status_id, NULL_STATUS_OFFLINE)) {
purple_debug_info("nullprpl", "%s sees that %s is %s: %s\n",
from_username, to_username, status_id, message);
purple_protocol_got_user_status(purple_connection_get_account(from), to_username, status_id,
@@ -899,8 +899,7 @@ static void null_set_chat_topic(PurpleConnection *gc, int id,
purple_conversation_get_name(PURPLE_CONVERSATION(chat)), topic);
last_topic = purple_chat_conversation_get_topic(chat);
- if ((!topic && !last_topic) ||
- (topic && last_topic && !strcmp(topic, last_topic)))
+ if (purple_strequal(topic, last_topic))
return; /* topic is unchanged, this is a noop */
foreach_gc_in_chat(set_chat_topic_fn, gc, id, (gpointer)topic);
diff --git a/libpurple/protocols/oscar/clientlogin.c b/libpurple/protocols/oscar/clientlogin.c
index 0a3fbe7d08..8c9e393e5f 100644
--- a/libpurple/protocols/oscar/clientlogin.c
+++ b/libpurple/protocols/oscar/clientlogin.c
@@ -82,17 +82,19 @@ static gchar *generate_error_message(PurpleXmlNode *resp, const char *url)
{
PurpleXmlNode *text;
PurpleXmlNode *status_code_node;
- gchar *status_code;
gboolean have_error_code = TRUE;
gchar *err = NULL;
gchar *details = NULL;
status_code_node = purple_xmlnode_get_child(resp, "statusCode");
if (status_code_node) {
+ gchar *status_code;
+
/* We can get 200 OK here if the server omitted something we think it shouldn't have (see #12783).
* No point in showing the "Ok" string to the user.
*/
- if ((status_code = purple_xmlnode_get_data_unescaped(status_code_node)) && strcmp(status_code, "200") == 0) {
+ status_code = purple_xmlnode_get_data_unescaped(status_code_node);
+ if (purple_strequal(status_code, "200")) {
have_error_code = FALSE;
}
}
@@ -257,12 +259,12 @@ static gboolean parse_start_oscar_session_response(PurpleConnection *gc, const g
return FALSE;
}
- if (strcmp(encryption_type, OSCAR_NO_ENCRYPTION) != 0) {
+ if (!purple_strequal(encryption_type, OSCAR_NO_ENCRYPTION)) {
tls_node = purple_xmlnode_get_child(data_node, "tlsCertName");
if (tls_node != NULL) {
*tls_certname = purple_xmlnode_get_data_unescaped(tls_node);
} else {
- if (strcmp(encryption_type, OSCAR_OPPORTUNISTIC_ENCRYPTION) == 0) {
+ if (purple_strequal(encryption_type, OSCAR_OPPORTUNISTIC_ENCRYPTION)) {
purple_debug_warning("oscar", "We haven't received a tlsCertName to use. We will not do SSL to BOS.\n");
} else {
purple_debug_error("oscar", "startOSCARSession was missing tlsCertName: %s\n", response);
@@ -368,7 +370,7 @@ static void send_start_oscar_session(OscarData *od, const char *token, const cha
od->icq ? ICQ_DEFAULT_DIST_ID : AIM_DEFAULT_DIST_ID),
get_client_key(od),
(gint64)hosttime,
- strcmp(encryption_type, OSCAR_NO_ENCRYPTION) != 0 ? 1 : 0);
+ !purple_strequal(encryption_type, OSCAR_NO_ENCRYPTION));
signature = generate_signature("GET", get_start_oscar_session_url(od),
query_string, session_key);
@@ -453,7 +455,7 @@ static gboolean parse_client_login_response(PurpleConnection *gc, const gchar *r
}
/* Make sure the status code was 200 */
- if (strcmp(tmp, "200") != 0)
+ if (!purple_strequal(tmp, "200"))
{
int status_code, status_detail_code = 0;
diff --git a/libpurple/protocols/oscar/family_icbm.c b/libpurple/protocols/oscar/family_icbm.c
index 0b626cd3d7..e7e497a6f0 100644
--- a/libpurple/protocols/oscar/family_icbm.c
+++ b/libpurple/protocols/oscar/family_icbm.c
@@ -2037,7 +2037,7 @@ int icq_relay_xstatus(OscarData *od, const char *sn, const guchar *cookie)
if (!account)
return -EINVAL;
- /* if (!strcmp(account->username, sn))
+ /* if (purple_strequal(account->username, sn))
icq_im_xstatus_request(od, sn); */
status = purple_presence_get_active_status(purple_account_get_presence(account));
diff --git a/libpurple/protocols/oscar/family_locate.c b/libpurple/protocols/oscar/family_locate.c
index 4a6ba5c448..267f0d2054 100644
--- a/libpurple/protocols/oscar/family_locate.c
+++ b/libpurple/protocols/oscar/family_locate.c
@@ -1074,7 +1074,7 @@ aim_info_extract(OscarData *od, ByteStream *bs, aim_userinfo_t *outinfo)
* with no mood icon. */
if (*icqmood) {
for (i = 0; icqmoods[i].icqmood; i++) {
- if (!strcmp(icqmood, icqmoods[i].icqmood)) {
+ if (purple_strequal(icqmood, icqmoods[i].icqmood)) {
mood = icqmoods[i].mood;
break; /* should only match once... */
}
@@ -1515,7 +1515,7 @@ icq_get_custom_icon_description(const char *mood)
/* We check that description is not NULL to exclude
* duplicates, like the typing duplicate. */
if (icq_purple_moods[i].description &&
- !strcmp(mood, icq_custom_icons[i].mood)) {
+ purple_strequal(mood, icq_custom_icons[i].mood)) {
return icq_purple_moods[i].description;
}
}
@@ -1535,7 +1535,7 @@ icq_get_custom_icon_data(const char *mood)
/* We check that description is not NULL to exclude
* duplicates, like the typing duplicate. */
if (icq_purple_moods[i].description &&
- !strcmp(mood, icq_custom_icons[i].mood)) {
+ purple_strequal(mood, icq_custom_icons[i].mood)) {
return (guint8 *)icq_custom_icons[i].data;
}
}
diff --git a/libpurple/protocols/oscar/oscar.c b/libpurple/protocols/oscar/oscar.c
index 33a7d5bf25..84e093cccb 100644
--- a/libpurple/protocols/oscar/oscar.c
+++ b/libpurple/protocols/oscar/oscar.c
@@ -577,7 +577,7 @@ idle_reporting_pref_cb(const char *name, PurplePrefType type,
gc = data;
od = purple_connection_get_protocol_data(gc);
- report_idle = strcmp((const char *)value, "none") != 0;
+ report_idle = !purple_strequal((const char *)value, "none");
presence = aim_ssi_getpresence(&od->ssi.local);
if (report_idle)
@@ -727,7 +727,7 @@ oscar_login(PurpleAccount *account)
}
flags = PURPLE_CONNECTION_FLAG_HTML;
- if (g_str_equal(purple_account_get_protocol_id(account), "prpl-icq")) {
+ if (purple_strequal(purple_account_get_protocol_id(account), "prpl-icq")) {
od->icq = TRUE;
} else {
flags |= PURPLE_CONNECTION_FLAG_AUTO_RESP;
@@ -735,7 +735,7 @@ oscar_login(PurpleAccount *account)
/* Set this flag based on the protocol_id rather than the username,
because that is what's tied to the get_moods protocol callback. */
- if (g_str_equal(purple_account_get_protocol_id(account), "prpl-icq"))
+ if (purple_strequal(purple_account_get_protocol_id(account), "prpl-icq"))
flags |= PURPLE_CONNECTION_FLAG_SUPPORT_MOODS;
purple_connection_set_flags(gc, flags);
@@ -1345,7 +1345,7 @@ static int purple_parse_oncoming(OscarData *od, FlapConnection *conn, FlapFrame
if (b != NULL)
saved_b16 = purple_buddy_icons_get_checksum_for_user(b);
- if (!b16 || !saved_b16 || strcmp(b16, saved_b16)) {
+ if (!b16 || !saved_b16 || !purple_strequal(b16, saved_b16)) {
/* Invalidate the old icon for this user */
purple_buddy_icons_set_for_user(account, info->bn, NULL, 0, NULL);
@@ -1918,7 +1918,7 @@ incomingim_chan4(OscarData *od, FlapConnection *conn, aim_userinfo_t *userinfo,
smsmsg = byte_stream_getstr(&qbs, smslen);
/* Check if this is an SMS being sent from server */
- if ((smstype == 0) && (!strcmp(tagstr, "ICQSMS")) && (smsmsg != NULL))
+ if ((smstype == 0) && (purple_strequal(tagstr, "ICQSMS")) && (smsmsg != NULL))
{
xmlroot = purple_xmlnode_from_str(smsmsg, -1);
if (xmlroot != NULL)
@@ -2744,7 +2744,7 @@ static int purple_bosrights(OscarData *od, FlapConnection *conn, FlapFrame *fr,
purple_serv_set_info(gc, purple_account_get_user_info(account));
username = purple_account_get_username(account);
- if (!od->icq && strcmp(username, purple_connection_get_display_name(gc)) != 0) {
+ if (!od->icq && !purple_strequal(username, purple_connection_get_display_name(gc))) {
/*
* Format the username for AIM accounts if it's different
* than what's currently set.
@@ -3328,31 +3328,31 @@ oscar_get_extended_status(PurpleConnection *gc)
if (purple_account_get_bool(account, "web_aware", OSCAR_DEFAULT_WEB_AWARE))
data |= AIM_ICQ_STATE_WEBAWARE;
- if (!strcmp(status_id, OSCAR_STATUS_ID_AVAILABLE))
+ if (purple_strequal(status_id, OSCAR_STATUS_ID_AVAILABLE))
data |= AIM_ICQ_STATE_NORMAL;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_AWAY))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_AWAY))
data |= AIM_ICQ_STATE_AWAY;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_DND))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_DND))
data |= AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_DND | AIM_ICQ_STATE_BUSY;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_NA))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_NA))
data |= AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_OCCUPIED))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_OCCUPIED))
data |= AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_BUSY;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_FREE4CHAT))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_FREE4CHAT))
data |= AIM_ICQ_STATE_CHAT;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_INVISIBLE))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_INVISIBLE))
data |= AIM_ICQ_STATE_INVISIBLE;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_EVIL))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_EVIL))
data |= AIM_ICQ_STATE_EVIL;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_DEPRESSION))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_DEPRESSION))
data |= AIM_ICQ_STATE_DEPRESSION;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_ATWORK))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_ATWORK))
data |= AIM_ICQ_STATE_ATWORK;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_ATHOME))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_ATHOME))
data |= AIM_ICQ_STATE_ATHOME;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_LUNCH))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_LUNCH))
data |= AIM_ICQ_STATE_LUNCH;
- else if (!strcmp(status_id, OSCAR_STATUS_ID_CUSTOM))
+ else if (purple_strequal(status_id, OSCAR_STATUS_ID_CUSTOM))
data |= AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY;
return data;
@@ -3603,7 +3603,7 @@ void oscar_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g
void oscar_move_buddy(PurpleConnection *gc, const char *name, const char *old_group, const char *new_group) {
OscarData *od = purple_connection_get_protocol_data(gc);
- if (od->ssi.received_data && strcmp(old_group, new_group)) {
+ if (od->ssi.received_data && !purple_strequal(old_group, new_group)) {
purple_debug_info("oscar",
"ssi: moving buddy %s from group %s to group %s\n", name, old_group, new_group);
aim_ssi_movebuddy(od, old_group, new_group, name);
@@ -3837,7 +3837,7 @@ static int purple_ssi_parselist(OscarData *od, FlapConnection *conn, FlapFrame *
gboolean report_idle;
idle_reporting_pref = purple_prefs_get_string("/purple/away/idle_reporting");
- report_idle = strcmp(idle_reporting_pref, "none") != 0;
+ report_idle = !purple_strequal(idle_reporting_pref, "none");
if (report_idle)
aim_ssi_setpresence(od, tmp | AIM_SSI_PRESENCE_FLAG_SHOWIDLE);
@@ -5515,7 +5515,7 @@ static PurpleAccount *find_acct(const char *protocol, const char *acct_id)
} else { /* Otherwise find an active account for the protocol */
GList *l = purple_accounts_get_all();
while (l) {
- if (!strcmp(protocol, purple_account_get_protocol_id(l->data))
+ if (purple_strequal(protocol, purple_account_get_protocol_id(l->data))
&& purple_account_is_connected(l->data)) {
acct = l->data;
break;
diff --git a/libpurple/protocols/oscar/peer.c b/libpurple/protocols/oscar/peer.c
index 5dc14d5403..419631adad 100644
--- a/libpurple/protocols/oscar/peer.c
+++ b/libpurple/protocols/oscar/peer.c
@@ -843,7 +843,7 @@ peer_connection_trynext(PeerConnection *conn)
peer_connection_verified_established_cb, conn);
if ((conn->verifiedip == NULL) ||
- strcmp(conn->verifiedip, conn->clientip))
+ !purple_strequal(conn->verifiedip, conn->clientip))
{
conn->client_connect_data = purple_proxy_connect(NULL, account,
conn->clientip, conn->port,
diff --git a/libpurple/protocols/oscar/rxhandlers.c b/libpurple/protocols/oscar/rxhandlers.c
index 265648cad9..f7a28f1823 100644
--- a/libpurple/protocols/oscar/rxhandlers.c
+++ b/libpurple/protocols/oscar/rxhandlers.c
@@ -38,7 +38,7 @@ aim_module_t *aim__findmodule(OscarData *od, const char *name)
aim_module_t *cur;
for (cur = (aim_module_t *)od->modlistv; cur; cur = cur->next) {
- if (strcmp(name, cur->name) == 0)
+ if (purple_strequal(name, cur->name))
return cur;
}
diff --git a/libpurple/protocols/oscar/userinfo.c b/libpurple/protocols/oscar/userinfo.c
index 195ef37a99..27a6758c88 100644
--- a/libpurple/protocols/oscar/userinfo.c
+++ b/libpurple/protocols/oscar/userinfo.c
@@ -250,7 +250,7 @@ oscar_user_info_append_status(PurpleConnection *gc, PurpleNotifyUserInfo *user_i
/* Append the status name for online ICQ statuses, away AIM statuses, and for all buddies with no message.
* If the status name and the message are the same, only show one. */
const char *status_name = purple_status_get_name(status);
- if (status_name && message && !strcmp(status_name, message))
+ if (status_name && message && purple_strequal(status_name, message))
status_name = NULL;
tmp = g_strdup_printf("%s%s%s",
diff --git a/libpurple/protocols/sametime/sametime.c b/libpurple/protocols/sametime/sametime.c
index 28fe33e350..0254783d00 100644
--- a/libpurple/protocols/sametime/sametime.c
+++ b/libpurple/protocols/sametime/sametime.c
@@ -697,7 +697,7 @@ static void blist_export(PurpleConnection *gc, struct mwSametimeList *stlist) {
/* if the group has an owner and we're not it, skip it */
owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER);
- if(owner && strcmp(owner, purple_account_get_username(acct)))
+ if(owner && !purple_strequal(owner, purple_account_get_username(acct)))
continue;
/* the group's actual name may be different from the purple group's
@@ -950,8 +950,8 @@ static PurpleGroup *group_ensure(PurpleConnection *gc,
DEBUG_INFO("found group named %s, owned by %s\n", NSTR(n), NSTR(o));
- if(n && !strcmp(n, name)) {
- if(!o || !strcmp(o, owner)) {
+ if(n && purple_strequal(n, name)) {
+ if(!o || purple_strequal(o, owner)) {
DEBUG_INFO("that'll work\n");
group = (PurpleGroup *) gn;
break;
@@ -1182,7 +1182,7 @@ static void blist_sync(PurpleConnection *gc, struct mwSametimeList *stlist) {
/* dynamic group belonging to this account. don't prune contents */
owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER);
- if(owner && !strcmp(owner, acct_n))
+ if(owner && purple_strequal(owner, acct_n))
continue;
/* we actually are synching by this key as opposed to the group
@@ -1214,7 +1214,7 @@ static void blist_sync(PurpleConnection *gc, struct mwSametimeList *stlist) {
gboolean del = TRUE;
owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER);
- if(owner && strcmp(owner, acct_n)) {
+ if(owner && !purple_strequal(owner, acct_n)) {
/* it's a specialty group belonging to another account with some
of our members in it, so don't fully delete it */
del = FALSE;
@@ -1367,7 +1367,7 @@ static void blist_node_menu_cb(PurpleBlistNode *node,
/* check if it's a NAB group for this account */
owner = purple_blist_node_get_string(node, GROUP_KEY_OWNER);
- if(owner && !strcmp(owner, purple_account_get_username(acct))) {
+ if(owner && purple_strequal(owner, purple_account_get_username(acct))) {
act = purple_menu_action_new(_("Get Notes Address Book Info"),
PURPLE_CALLBACK(blist_menu_nab), pd, NULL);
*menu = g_list_append(*menu, act);
@@ -1439,7 +1439,7 @@ static void services_starting(struct mwPurpleProtocolData *pd) {
/* if the group is ownerless, or has an owner and we're not it,
skip it */
owner = purple_blist_node_get_string(l, GROUP_KEY_OWNER);
- if(!owner || strcmp(owner, purple_account_get_username(acct)))
+ if(!owner || !purple_strequal(owner, purple_account_get_username(acct)))
continue;
gt = purple_blist_node_get_int(l, GROUP_KEY_TYPE);
@@ -1479,7 +1479,7 @@ static void session_loginRedirect(struct mwSession *session,
MW_PLUGIN_DEFAULT_HOST);
if(purple_account_get_bool(account, MW_KEY_FORCE, FALSE) ||
- !host || (! strcmp(current_host, host)) ||
+ !host || purple_strequal(current_host, host) ||
(purple_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL)) {
/* if we're configured to force logins, or if we're being
@@ -4189,13 +4189,13 @@ static void mw_protocol_set_status(PurpleAccount *acct, PurpleStatus *status) {
mwUserStatus_clone(&stat, mwSession_getUserStatus(session));
/* determine the state */
- if(! strcmp(state, MW_STATE_ACTIVE)) {
+ if(purple_strequal(state, MW_STATE_ACTIVE)) {
stat.status = mwStatus_ACTIVE;
- } else if(! strcmp(state, MW_STATE_AWAY)) {
+ } else if(purple_strequal(state, MW_STATE_AWAY)) {
stat.status = mwStatus_AWAY;
- } else if(! strcmp(state, MW_STATE_BUSY)) {
+ } else if(purple_strequal(state, MW_STATE_BUSY)) {
stat.status = mwStatus_BUSY;
}
@@ -4360,7 +4360,7 @@ static void add_buddy_resolved(struct mwServiceResolve *srvc,
struct mwResolveMatch *match = res->matches->data;
/* only one? that might be the right one! */
- if(strcmp(res->name, match->id)) {
+ if(!purple_strequal(res->name, match->id)) {
/* uh oh, the single result isn't identical to the search
term, better safe then sorry, so let's make sure it's who
the user meant to add */
@@ -4649,7 +4649,7 @@ static struct mwConference *conf_find(struct mwServiceConference *srvc,
ll = mwServiceConference_getConferences(srvc);
for(l = ll; l; l = l->next) {
struct mwConference *c = l->data;
- if(! strcmp(name, mwConference_getName(c))) {
+ if(purple_strequal(name, mwConference_getName(c))) {
conf = c;
break;
}
diff --git a/libpurple/protocols/silc/buddy.c b/libpurple/protocols/silc/buddy.c
index c24a039e65..1b0d146179 100644
--- a/libpurple/protocols/silc/buddy.c
+++ b/libpurple/protocols/silc/buddy.c
@@ -902,13 +902,13 @@ silcpurple_add_buddy_save(SilcBool success, void *context)
unsigned char *verifyd;
SilcUInt32 verify_len;
- if (!strcmp(serverpk.type, "silc-rsa"))
+ if (purple_strequal(serverpk.type, "silc-rsa"))
type = SILC_PKCS_SILC;
- else if (!strcmp(serverpk.type, "ssh-rsa"))
+ else if (purple_strequal(serverpk.type, "ssh-rsa"))
type = SILC_PKCS_SSH2;
- else if (!strcmp(serverpk.type, "x509v3-sign-rsa"))
+ else if (purple_strequal(serverpk.type, "x509v3-sign-rsa"))
type = SILC_PKCS_X509V3;
- else if (!strcmp(serverpk.type, "pgp-sign-rsa"))
+ else if (purple_strequal(serverpk.type, "pgp-sign-rsa"))
type = SILC_PKCS_OPENPGP;
if (silc_pkcs_public_key_alloc(type, serverpk.data,
@@ -988,10 +988,10 @@ silcpurple_add_buddy_save(SilcBool success, void *context)
if (usericon) {
const char *type = silc_mime_get_field(usericon, "Content-Type");
if (type &&
- (!strcmp(type, "image/jpeg") ||
- !strcmp(type, "image/gif") ||
- !strcmp(type, "image/bmp") ||
- !strcmp(type, "image/png"))) {
+ (purple_strequal(type, "image/jpeg") ||
+ purple_strequal(type, "image/gif") ||
+ purple_strequal(type, "image/bmp") ||
+ purple_strequal(type, "image/png"))) {
const unsigned char *data;
SilcUInt32 data_len;
data = silc_mime_get_data(usericon, &data_len);
@@ -1741,7 +1741,7 @@ void silcpurple_buddy_set_icon(PurpleConnection *gc, PurpleImage *img)
type = purple_image_get_mimetype(img);
if (type == NULL)
return;
- if (g_strcmp0(purple_image_get_extension(img), "ico") == 0)
+ if (purple_strequal(purple_image_get_extension(img), "ico"))
return;
/* Add */
diff --git a/libpurple/protocols/silc/chat.c b/libpurple/protocols/silc/chat.c
index 92a6580e32..3c44915d01 100644
--- a/libpurple/protocols/silc/chat.c
+++ b/libpurple/protocols/silc/chat.c
@@ -375,7 +375,7 @@ silcpurple_chat_chauth_ok(SilcPurpleChauth sgc, PurpleRequestFields *fields)
set = 0;
else if (val && !curpass)
set = 1;
- else if (val && curpass && strcmp(val, curpass))
+ else if (val && curpass && !purple_strequal(val, curpass))
set = 1;
else
set = -1;
diff --git a/libpurple/protocols/silc/ops.c b/libpurple/protocols/silc/ops.c
index 904917e360..3b0d9681a9 100644
--- a/libpurple/protocols/silc/ops.c
+++ b/libpurple/protocols/silc/ops.c
@@ -67,7 +67,7 @@ void silc_say(SilcClient client, SilcClientConnection conn,
purple_debug_error("silc", "silc_say error: %s\n", tmp);
- if (!strcmp(tmp, "Authentication failed"))
+ if (purple_strequal(tmp, "Authentication failed"))
reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED;
if (client != NULL)
@@ -124,7 +124,7 @@ silcpurple_mime_message(SilcClient client, SilcClientConnection conn,
const char *mtype;
SilcDList parts = silc_mime_get_multiparts(mime, &mtype);
- if (!strcmp(mtype, "mixed")) {
+ if (purple_strequal(mtype, "mixed")) {
/* Contains multiple messages */
silc_dlist_start(parts);
while ((p = silc_dlist_get(parts)) != SILC_LIST_END) {
@@ -134,7 +134,7 @@ silcpurple_mime_message(SilcClient client, SilcClientConnection conn,
}
}
- if (!strcmp(mtype, "alternative")) {
+ if (purple_strequal(mtype, "alternative")) {
/* Same message in alternative formats. Kopete sends
these. Go in order from last to first. */
silc_dlist_end(parts);
@@ -595,7 +595,7 @@ silc_notify(SilcClient client, SilcClientConnection conn,
tmp = va_arg(va, char *); /* Old nick */
name = va_arg(va, char *); /* New nick */
- if (!strcmp(tmp, name))
+ if (purple_strequal(tmp, name))
break;
/* Change nick on all channels */
@@ -956,7 +956,7 @@ silc_command(SilcClient client, SilcClientConnection conn,
switch (command) {
case SILC_COMMAND_CMODE:
- if (argc == 3 && !strcmp((char *)argv[2], "+C"))
+ if (argc == 3 && purple_strequal((char *)argv[2], "+C"))
sg->chpk = TRUE;
else
sg->chpk = FALSE;
@@ -1456,7 +1456,7 @@ silc_command_reply(SilcClient client, SilcClientConnection conn,
if (!chat)
continue;
oldnick = purple_chat_conversation_get_nick(chat);
- if (strcmp(oldnick,
+ if (!purple_strequal(oldnick,
purple_normalize(purple_conversation_get_account
(PURPLE_CONVERSATION(chat)), newnick))) {
diff --git a/libpurple/protocols/silc/silc.c b/libpurple/protocols/silc/silc.c
index 01c9d2c889..5178bc4ae4 100644
--- a/libpurple/protocols/silc/silc.c
+++ b/libpurple/protocols/silc/silc.c
@@ -103,15 +103,15 @@ silcpurple_set_status(PurpleAccount *account, PurpleStatus *status)
SILC_UMODE_INDISPOSED |
SILC_UMODE_PAGE);
- if (!strcmp(state, "hyper"))
+ if (purple_strequal(state, "hyper"))
mode |= SILC_UMODE_HYPER;
- else if (!strcmp(state, "away"))
+ else if (purple_strequal(state, "away"))
mode |= SILC_UMODE_GONE;
- else if (!strcmp(state, "busy"))
+ else if (purple_strequal(state, "busy"))
mode |= SILC_UMODE_BUSY;
- else if (!strcmp(state, "indisposed"))
+ else if (purple_strequal(state, "indisposed"))
mode |= SILC_UMODE_INDISPOSED;
- else if (!strcmp(state, "page"))
+ else if (purple_strequal(state, "page"))
mode |= SILC_UMODE_PAGE;
/* Send UMODE */
@@ -602,13 +602,13 @@ silcpurple_login(PurpleAccount *account)
cipher = purple_account_get_string(account, "cipher",
SILC_DEFAULT_CIPHER);
for (i = 0; silc_default_ciphers[i].name; i++)
- if (!strcmp(silc_default_ciphers[i].name, cipher)) {
+ if (purple_strequal(silc_default_ciphers[i].name, cipher)) {
silc_cipher_register(&(silc_default_ciphers[i]));
break;
}
hmac = purple_account_get_string(account, "hmac", SILC_DEFAULT_HMAC);
for (i = 0; silc_default_hmacs[i].name; i++)
- if (!strcmp(silc_default_hmacs[i].name, hmac)) {
+ if (purple_strequal(silc_default_hmacs[i].name, hmac)) {
silc_hmac_register(&(silc_default_hmacs[i]));
break;
}
@@ -1159,7 +1159,7 @@ silcpurple_create_keypair_cb(PurpleConnection *gc, PurpleRequestFields *fields)
else
pass2 = "";
- if (strcmp(pass1, pass2)) {
+ if (!purple_strequal(pass1, pass2)) {
purple_notify_error(gc, _("Create New SILC Key Pair"),
_("Passphrases do not match"), NULL,
purple_request_cpar_from_connection(gc));
diff --git a/libpurple/protocols/simple/simple.c b/libpurple/protocols/simple/simple.c
index c304a84bd5..03b8aeeb0d 100644
--- a/libpurple/protocols/simple/simple.c
+++ b/libpurple/protocols/simple/simple.c
@@ -143,7 +143,7 @@ static struct simple_watcher *watcher_find(struct simple_account_data *sip,
GSList *entry = sip->watcher;
while(entry) {
watcher = entry->data;
- if(!strcmp(name, watcher->name)) return watcher;
+ if(purple_strequal(name, watcher->name)) return watcher;
entry = entry->next;
}
return NULL;
@@ -622,7 +622,7 @@ static struct transaction *transactions_find(struct simple_account_data *sip, st
if (cseq) {
while(transactions) {
trans = transactions->data;
- if(!strcmp(trans->cseq, cseq)) {
+ if(purple_strequal(trans->cseq, cseq)) {
return trans;
}
transactions = transactions->next;
@@ -645,7 +645,7 @@ static void send_sip_request(PurpleConnection *gc, const gchar *method,
gchar *tag = NULL;
char *buf;
- if(!strcmp(method, "REGISTER")) {
+ if(purple_strequal(method, "REGISTER")) {
if(sip->regcallid) {
g_free(callid);
callid = g_strdup(sip->regcallid);
@@ -654,12 +654,12 @@ static void send_sip_request(PurpleConnection *gc, const gchar *method,
}
if(addheaders) addh = addheaders;
- if(sip->registrar.type && !strcmp(method, "REGISTER")) {
+ if(sip->registrar.type && purple_strequal(method, "REGISTER")) {
buf = auth_header(sip, &sip->registrar, method, url);
auth = g_strdup_printf("Authorization: %s\r\n", buf);
g_free(buf);
purple_debug(PURPLE_DEBUG_MISC, "simple", "header %s", auth);
- } else if(sip->proxy.type && strcmp(method, "REGISTER")) {
+ } else if(sip->proxy.type && !purple_strequal(method, "REGISTER")) {
buf = auth_header(sip, &sip->proxy, method, url);
auth = g_strdup_printf("Proxy-Authorization: %s\r\n", buf);
g_free(buf);
@@ -1174,9 +1174,9 @@ static gboolean dialog_match(struct sip_dialog *dialog, struct sipmsg *msg)
theirtag = find_tag(fromhdr);
if (ourtag && theirtag &&
- !strcmp(dialog->callid, callid) &&
- !strcmp(dialog->ourtag, ourtag) &&
- !strcmp(dialog->theirtag, theirtag))
+ purple_strequal(dialog->callid, callid) &&
+ purple_strequal(dialog->ourtag, ourtag) &&
+ purple_strequal(dialog->theirtag, theirtag))
match = TRUE;
g_free(ourtag);
@@ -1508,13 +1508,13 @@ privend:
static void process_input_message(struct simple_account_data *sip, struct sipmsg *msg) {
gboolean found = FALSE;
if(msg->response == 0) { /* request */
- if(!strcmp(msg->method, "MESSAGE")) {
+ if(purple_strequal(msg->method, "MESSAGE")) {
process_incoming_message(sip, msg);
found = TRUE;
- } else if(!strcmp(msg->method, "NOTIFY")) {
+ } else if(purple_strequal(msg->method, "NOTIFY")) {
process_incoming_notify(sip, msg);
found = TRUE;
- } else if(!strcmp(msg->method, "SUBSCRIBE")) {
+ } else if(purple_strequal(msg->method, "SUBSCRIBE")) {
process_incoming_subscribe(sip, msg);
found = TRUE;
} else {
@@ -1548,7 +1548,7 @@ static void process_input_message(struct simple_account_data *sip, struct sipmsg
purple_debug_info("simple", "got trying response\n");
} else {
sip->proxy.retries = 0;
- if(!strcmp(trans->msg->method, "REGISTER")) {
+ if(purple_strequal(trans->msg->method, "REGISTER")) {
/* This is encountered when a REGISTER request was ...
*/
diff --git a/libpurple/protocols/zephyr/ZAsyncLocate.c b/libpurple/protocols/zephyr/ZAsyncLocate.c
index a19cc5ff45..bdaf5fc26e 100644
--- a/libpurple/protocols/zephyr/ZAsyncLocate.c
+++ b/libpurple/protocols/zephyr/ZAsyncLocate.c
@@ -9,6 +9,7 @@
*/
#include "internal.h"
+#include "util.h"
Code_t ZRequestLocations(user, zald, kind, auth)
const char *user;
@@ -69,7 +70,7 @@ Code_t ZParseLocations(notice,zald,nlocs,user)
/* non-matching protocol version numbers means the
server is probably an older version--must punt */
- if (zald && strcmp(notice->z_version, zald->version))
+ if (zald && !purple_strequal(notice->z_version, zald->version))
return(ZERR_VERS);
if (notice->z_kind == SERVNAK)
@@ -77,7 +78,7 @@ Code_t ZParseLocations(notice,zald,nlocs,user)
/* flag ACKs as special */
if (notice->z_kind == SERVACK &&
- !strcmp(notice->z_opcode, LOCATE_LOCATE)) {
+ purple_strequal(notice->z_opcode, LOCATE_LOCATE)) {
*nlocs = -1;
return(ZERR_NONE);
}
@@ -133,7 +134,7 @@ Code_t ZParseLocations(notice,zald,nlocs,user)
__locate_next = 0;
*nlocs = __locate_num;
if (user) {
- size_t len;
+ size_t len;
if (zald) {
len = strlen(zald->user) + 1;
if ((*user = (char *) malloc(len)) == NULL)
diff --git a/libpurple/protocols/zephyr/ZLocations.c b/libpurple/protocols/zephyr/ZLocations.c
index a61e63864a..66703975d6 100644
--- a/libpurple/protocols/zephyr/ZLocations.c
+++ b/libpurple/protocols/zephyr/ZLocations.c
@@ -10,6 +10,7 @@
*/
#include "internal.h"
+#include "util.h"
#ifndef WIN32
#include <pwd.h>
@@ -127,11 +128,11 @@ Code_t Z_SendLocation(class, opcode, auth, format)
ZFreeNotice(&retnotice);
return (ZERR_SERVNAK);
}
- if (!strcmp(retnotice.z_message, ZSRVACK_NOTSENT)) {
+ if (purple_strequal(retnotice.z_message, ZSRVACK_NOTSENT)) {
ZFreeNotice(&retnotice);
return (ZERR_AUTHFAIL);
}
- if (!strcmp(retnotice.z_message, ZSRVACK_FAIL)) {
+ if (purple_strequal(retnotice.z_message, ZSRVACK_FAIL)) {
ZFreeNotice(&retnotice);
return (ZERR_LOGINFAIL);
}
@@ -149,8 +150,8 @@ Code_t Z_SendLocation(class, opcode, auth, format)
return (ZERR_INTERNAL);
}
- if (strcmp(retnotice.z_message, ZSRVACK_SENT) &&
- strcmp(retnotice.z_message, ZSRVACK_NOTSENT)) {
+ if (!purple_strequal(retnotice.z_message, ZSRVACK_SENT) &&
+ !purple_strequal(retnotice.z_message, ZSRVACK_NOTSENT)) {
ZFreeNotice(&retnotice);
return (ZERR_INTERNAL);
}
diff --git a/libpurple/protocols/zephyr/ZRetSubs.c b/libpurple/protocols/zephyr/ZRetSubs.c
index d08430f021..350f2211d6 100644
--- a/libpurple/protocols/zephyr/ZRetSubs.c
+++ b/libpurple/protocols/zephyr/ZRetSubs.c
@@ -10,6 +10,7 @@
*/
#include "internal.h"
+#include "util.h"
static Code_t Z_RetSubs(ZNotice_t *notice, int *nsubs, Z_AuthProc auth_routine);
@@ -105,12 +106,12 @@ static Code_t Z_RetSubs(notice, nsubs, auth_routine)
}
/* non-matching protocol version numbers means the
server is probably an older version--must punt */
- if (strcmp(notice->z_version,retnotice.z_version)) {
+ if (!purple_strequal(notice->z_version,retnotice.z_version)) {
ZFreeNotice(&retnotice);
return(ZERR_VERS);
}
if (retnotice.z_kind == SERVACK &&
- !strcmp(retnotice.z_opcode,notice->z_opcode)) {
+ purple_strequal(retnotice.z_opcode,notice->z_opcode)) {
ZFreeNotice(&retnotice);
gimmeack = 1;
continue;
diff --git a/libpurple/status.c b/libpurple/status.c
index 9effc03f2e..58eceb37a0 100644
--- a/libpurple/status.c
+++ b/libpurple/status.c
@@ -795,9 +795,7 @@ purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active,
if (G_VALUE_TYPE(default_value) == G_TYPE_STRING) {
const char *cur = purple_status_get_attr_string(status, attr->id);
const char *def = g_value_get_string(default_value);
- if ((cur == NULL && def == NULL)
- || (cur != NULL && def != NULL
- && !strcmp(cur, def))) {
+ if (purple_strequal(cur, def)) {
continue;
}
diff --git a/libpurple/util.c b/libpurple/util.c
index 6f12813568..1858f436ed 100644
--- a/libpurple/util.c
+++ b/libpurple/util.c
@@ -3810,7 +3810,7 @@ void purple_got_protocol_handler_uri(const char *uri)
tmp++;
- if (g_str_equal(proto, "xmpp"))
+ if (purple_strequal(proto, "xmpp"))
delimiter = ';';
else
delimiter = '&';
diff --git a/libpurple/win32/libc_interface.c b/libpurple/win32/libc_interface.c
index fc4e171940..4973e7fcd3 100644
--- a/libpurple/win32/libc_interface.c
+++ b/libpurple/win32/libc_interface.c
@@ -929,7 +929,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
for (i = 0; win32_tzmap[i].wstd != NULL; i++)
{
- if (strcmp(tzname, win32_tzmap[i].wstd) == 0)
+ if (purple_strequal(tzname, win32_tzmap[i].wstd))
{
#if 0
purple_debug_info("wpurple", "TZ \"%s\" matches Windows timezone \"%s\"\n",
@@ -945,7 +945,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
return win32_tzmap[i].ustd;
}
- if (strcmp(tzname, win32_tzmap[i].wdst) == 0)
+ if (purple_strequal(tzname, win32_tzmap[i].wdst))
{
#if 0
purple_debug_info("wpurple", "TZ \"%s\" matches Windows timezone \"%s\"\n",
@@ -1019,7 +1019,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
RegCloseKey(key);
break;
}
- if (strcmp(tzname, zonename) == 0)
+ if (purple_strequal(tzname, zonename))
{
/* Matched zone */
g_strlcpy(localtzname, keyname, sizeof(localtzname));
@@ -1034,7 +1034,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
RegCloseKey(key);
break;
}
- if (strcmp(tzname, zonename) == 0)
+ if (purple_strequal(tzname, zonename))
{
/* Matched DST zone */
g_strlcpy(localtzname, keyname, sizeof(localtzname));
@@ -1052,7 +1052,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
/* Found a localized name, so scan for that one too */
for (i = 0; win32_tzmap[i].wstd != NULL; i++)
{
- if (strcmp(localtzname, win32_tzmap[i].wstd) == 0)
+ if (purple_strequal(localtzname, win32_tzmap[i].wstd))
{
#if 0
purple_debug_info("wpurple", "TZ \"%s\" matches localized Windows timezone \"%s\" (\"%s\")\n",
@@ -1066,7 +1066,7 @@ wpurple_get_timezone_abbreviation(const struct tm *tm)
return win32_tzmap[i].ustd;
}
- if (strcmp(localtzname, win32_tzmap[i].wdst) == 0)
+ if (purple_strequal(localtzname, win32_tzmap[i].wdst))
{
#if 0
purple_debug_info("wpurple", "TZ \"%s\" matches localized Windows timezone \"%s\" (\"%s\")\n",
diff --git a/libpurple/xfer.c b/libpurple/xfer.c
index fc1b6e5f37..efa3354b25 100644
--- a/libpurple/xfer.c
+++ b/libpurple/xfer.c
@@ -977,8 +977,10 @@ purple_xfer_set_message(PurpleXfer *xfer, const char *message)
g_return_if_fail(priv != NULL);
- g_free(priv->message);
- priv->message = g_strdup(message);
+ if (message != priv->message) {
+ g_free(priv->message);
+ priv->message = g_strdup(message);
+ }
g_object_notify_by_pspec(G_OBJECT(xfer), properties[PROP_MESSAGE]);
}
@@ -1000,8 +1002,10 @@ purple_xfer_set_filename(PurpleXfer *xfer, const char *filename)
g_return_if_fail(priv != NULL);
- g_free(priv->filename);
- priv->filename = g_strdup(filename);
+ if (filename != priv->filename) {
+ g_free(priv->filename);
+ priv->filename = g_strdup(filename);
+ }
g_object_notify_by_pspec(G_OBJECT(xfer), properties[PROP_FILENAME]);
}
@@ -1013,8 +1017,10 @@ purple_xfer_set_local_filename(PurpleXfer *xfer, const char *filename)
g_return_if_fail(priv != NULL);
- g_free(priv->local_filename);
- priv->local_filename = g_strdup(filename);
+ if (filename != priv->local_filename) {
+ g_free(priv->local_filename);
+ priv->local_filename = g_strdup(filename);
+ }
g_object_notify_by_pspec(G_OBJECT(xfer), properties[PROP_LOCAL_FILENAME]);
}
@@ -1917,8 +1923,9 @@ purple_xfer_set_thumbnail(PurpleXfer *xfer, gconstpointer thumbnail,
g_return_if_fail(priv != NULL);
- g_free(priv->thumbnail_data);
- g_free(priv->thumbnail_mimetype);
+ /* Hold onto these in case they are equal to passed-in pointers */
+ gpointer *old_thumbnail_data = priv->thumbnail_data;
+ const gchar *old_mimetype = priv->thumbnail_mimetype;
if (thumbnail && size > 0) {
priv->thumbnail_data = g_memdup(thumbnail, size);
@@ -1929,6 +1936,10 @@ purple_xfer_set_thumbnail(PurpleXfer *xfer, gconstpointer thumbnail,
priv->thumbnail_size = 0;
priv->thumbnail_mimetype = NULL;
}
+
+ /* Now it's safe to free the pointers */
+ g_free(old_thumbnail_data);
+ g_free(old_mimetype);
}
void
diff --git a/pidgin/gtkaccount.c b/pidgin/gtkaccount.c
index 8da1a81f38..56c7028ae2 100644
--- a/pidgin/gtkaccount.c
+++ b/pidgin/gtkaccount.c
@@ -812,7 +812,7 @@ add_account_options(AccountPrefsDialog *dialog)
{
case PURPLE_PREF_BOOLEAN:
if (account == NULL ||
- strcmp(purple_account_get_protocol_id(account),
+ !purple_strequal(purple_account_get_protocol_id(account),
dialog->protocol_id))
{
bool_value = purple_account_option_get_default_bool(option);
@@ -837,7 +837,7 @@ add_account_options(AccountPrefsDialog *dialog)
case PURPLE_PREF_INT:
if (account == NULL ||
- strcmp(purple_account_get_protocol_id(account),
+ !purple_strequal(purple_account_get_protocol_id(account),
dialog->protocol_id))
{
int_value = purple_account_option_get_default_int(option);
@@ -862,7 +862,7 @@ add_account_options(AccountPrefsDialog *dialog)
case PURPLE_PREF_STRING:
if (account == NULL ||
- strcmp(purple_account_get_protocol_id(account),
+ !purple_strequal(purple_account_get_protocol_id(account),
dialog->protocol_id))
{
str_value = purple_account_option_get_default_string(option);
@@ -915,7 +915,7 @@ add_account_options(AccountPrefsDialog *dialog)
idx = 0;
if (account == NULL ||
- strcmp(purple_account_get_protocol_id(account),
+ !purple_strequal(purple_account_get_protocol_id(account),
dialog->protocol_id))
{
str_value = purple_account_option_get_default_list_value(option);
@@ -2651,7 +2651,7 @@ get_user_info_cb(GtkWidget *label,
gpointer data)
{
struct auth_request *ar = data;
- if (!strcmp(uri, "viewinfo")) {
+ if (purple_strequal(uri, "viewinfo")) {
pidgin_retrieve_user_info(purple_account_get_connection(ar->account), ar->username);
return TRUE;
}
diff --git a/pidgin/gtkblist.c b/pidgin/gtkblist.c
index 7073687bf1..41fef354ee 100644
--- a/pidgin/gtkblist.c
+++ b/pidgin/gtkblist.c
@@ -1119,8 +1119,8 @@ chat_select_account_cb(GObject *w, PurpleAccount *account,
g_return_if_fail(data != NULL);
g_return_if_fail(account != NULL);
- if (strcmp(purple_account_get_protocol_id(data->rq_data.account),
- purple_account_get_protocol_id(account)) == 0)
+ if (purple_strequal(purple_account_get_protocol_id(data->rq_data.account),
+ purple_account_get_protocol_id(account)))
{
data->rq_data.account = account;
}
@@ -2083,7 +2083,7 @@ pidgin_blist_sound_method_pref_cb(const char *name, PurplePrefType type,
{
gboolean sensitive = TRUE;
- if(!strcmp(value, "none"))
+ if(purple_strequal(value, "none"))
sensitive = FALSE;
gtk_action_set_sensitive(gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/MuteSounds"), sensitive);
@@ -2105,7 +2105,7 @@ add_buddies_from_vcard(const char *protocol_id, PurpleGroup *group, GList *list,
gc = (PurpleConnection *)l->data;
account = purple_connection_get_account(gc);
- if (!strcmp(purple_account_get_protocol_id(account), protocol_id))
+ if (purple_strequal(purple_account_get_protocol_id(account), protocol_id))
break;
account = NULL;
@@ -2169,21 +2169,21 @@ parse_vcard(const char *vcard, PurpleGroup *group)
if (*s == '\n') *s++ = '\0';
/* We only want to worry about a few fields here. */
- if (!strcmp(field, "FN"))
+ if (purple_strequal(field, "FN"))
alias = g_strdup(value);
- else if (!strcmp(field, "X-AIM") || !strcmp(field, "X-ICQ") ||
- !strcmp(field, "X-JABBER"))
+ else if (purple_strequal(field, "X-AIM") || purple_strequal(field, "X-ICQ") ||
+ purple_strequal(field, "X-JABBER"))
{
char **values = g_strsplit(value, ":", 0);
char **im;
for (im = values; *im != NULL; im++)
{
- if (!strcmp(field, "X-AIM"))
+ if (purple_strequal(field, "X-AIM"))
aims = g_list_append(aims, g_strdup(*im));
- else if (!strcmp(field, "X-ICQ"))
+ else if (purple_strequal(field, "X-ICQ"))
icqs = g_list_append(icqs, g_strdup(*im));
- else if (!strcmp(field, "X-JABBER"))
+ else if (purple_strequal(field, "X-JABBER"))
jabbers = g_list_append(jabbers, g_strdup(*im));
}
@@ -3346,10 +3346,10 @@ static char *get_mood_icon_path(const char *mood)
{
char *path;
- if (!strcmp(mood, "busy")) {
+ if (purple_strequal(mood, "busy")) {
path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin",
"status", "16", "busy.png", NULL);
- } else if (!strcmp(mood, "hiptop")) {
+ } else if (purple_strequal(mood, "hiptop")) {
path = g_build_filename(PURPLE_DATADIR, "pixmaps", "pidgin",
"emblems", "16", "hiptop.png", NULL);
} else {
@@ -3571,7 +3571,7 @@ set_mood_cb(GtkWidget *widget, PurpleAccount *account)
path, (gpointer)mood->mood);
g_free(path);
- if (current_mood && !strcmp(current_mood, mood->mood))
+ if (current_mood && purple_strequal(current_mood, mood->mood))
purple_request_field_list_add_selected(f, _(mood->description));
}
purple_request_field_group_add_field(g, f);
@@ -3846,7 +3846,7 @@ static char *pidgin_get_tooltip_text(PurpleBlistNode *node, gboolean full)
g_object_get(c, "alias", &alias, NULL);
if (full && c && purple_buddy_get_local_alias(b) != NULL && purple_buddy_get_local_alias(b)[0] != '\0' &&
(alias != NULL && alias[0] != '\0') &&
- strcmp(alias, purple_buddy_get_local_alias(b)) != 0)
+ !purple_strequal(alias, purple_buddy_get_local_alias(b)))
{
purple_notify_user_info_add_pair_plaintext(user_info,
_("Buddy Alias"), purple_buddy_get_local_alias(b));
@@ -4949,7 +4949,7 @@ static void _prefs_change_redo_list(const char *name, PurplePrefType type,
static void _prefs_change_sort_method(const char *pref_name, PurplePrefType type,
gconstpointer val, gpointer data)
{
- if(!strcmp(pref_name, PIDGIN_PREFS_ROOT "/blist/sort_type"))
+ if(purple_strequal(pref_name, PIDGIN_PREFS_ROOT "/blist/sort_type"))
pidgin_blist_sort_method_set(val);
}
@@ -5456,7 +5456,7 @@ update_account_error_state(PurpleAccount *account,
/* else, new and old are both non-NULL */
- descriptions_differ = strcmp(old->description, new->description);
+ descriptions_differ = !purple_strequal(old->description, new->description);
desc = new->description;
switch (new->type) {
@@ -5985,8 +5985,8 @@ static void pidgin_blist_show(PurpleBuddyList *list)
gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(gtkblist->treeview),
pidgin_blist_search_equal_func, NULL, NULL);
- gtk_box_pack_start(GTK_BOX(gtkblist->vbox),
- pidgin_make_scrollable(gtkblist->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1),
+ gtk_box_pack_start(GTK_BOX(gtkblist->vbox),
+ pidgin_make_scrollable(gtkblist->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1),
TRUE, TRUE, 0);
sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
@@ -6026,7 +6026,7 @@ static void pidgin_blist_show(PurpleBuddyList *list)
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(gtkblist->ui, "/BList/BuddiesMenu/ShowMenu/ShowProtocolIcons")),
purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_protocol_icons"));
- if(!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"))
+ if(purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"))
gtk_action_set_sensitive(gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/MuteSounds"), FALSE);
/* Update some dynamic things */
@@ -7632,7 +7632,7 @@ void pidgin_blist_sort_method_unreg(const char *id)
while(l) {
struct _PidginBlistSortMethod *method = l->data;
- if(!strcmp(method->id, id)) {
+ if(purple_strequal(method->id, id)) {
pidgin_blist_sort_methods = g_list_delete_link(pidgin_blist_sort_methods, l);
g_free(method->id);
g_free(method->name);
@@ -7650,7 +7650,7 @@ void pidgin_blist_sort_method_set(const char *id){
if(!id)
id = "none";
- while (l && strcmp(((struct _PidginBlistSortMethod*)l->data)->id, id))
+ while (l && !purple_strequal(((struct _PidginBlistSortMethod*)l->data)->id, id))
l = l->next;
if (l) {
@@ -7659,7 +7659,7 @@ void pidgin_blist_sort_method_set(const char *id){
pidgin_blist_sort_method_set("none");
return;
}
- if (!strcmp(id, "none")) {
+ if (purple_strequal(id, "none")) {
redo_buddy_list(purple_blist_get_buddy_list(), TRUE, FALSE);
} else {
redo_buddy_list(purple_blist_get_buddy_list(), FALSE, FALSE);
@@ -8305,7 +8305,7 @@ pidgin_blist_update_sort_methods(void)
gtk_radio_action_set_group(action, sl);
sl = gtk_radio_action_get_group(action);
- if (!strcmp(m, method->id))
+ if (purple_strequal(m, method->id))
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), TRUE);
else
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), FALSE);
diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c
index 9f3cb5aef2..1304134edc 100644
--- a/pidgin/gtkconv.c
+++ b/pidgin/gtkconv.c
@@ -534,7 +534,7 @@ check_for_and_do_command(PurpleConversation *conv)
cmdline = cmd + strlen(prefix);
- if (strcmp(cmdline, "xyzzy") == 0) {
+ if (purple_strequal(cmdline, "xyzzy")) {
purple_conversation_write_system_message(conv,
"Nothing happens", PURPLE_MESSAGE_NO_LOG);
g_free(cmd);
@@ -854,7 +854,7 @@ invite_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y,
else
return;
- if (strcmp(convprotocol, purple_account_get_protocol_id(purple_buddy_get_account(buddy))))
+ if (!purple_strequal(convprotocol, purple_account_get_protocol_id(purple_buddy_get_account(buddy))))
{
purple_notify_error(PIDGIN_CONVERSATION(PURPLE_CONVERSATION(info->chat)),
NULL, _("That buddy is not on the same protocol"
@@ -883,7 +883,7 @@ invite_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y,
_("You are not currently signed on with an account that "
"can invite that buddy."), NULL, NULL);
}
- else if (strcmp(convprotocol, purple_account_get_protocol_id(account)))
+ else if (!purple_strequal(convprotocol, purple_account_get_protocol_id(account)))
{
purple_notify_error(
PIDGIN_CONVERSATION(PURPLE_CONVERSATION(info->chat)), NULL,
@@ -1662,7 +1662,7 @@ create_chat_menu(PurpleChatConversation *chat, const char *who, PurpleConnection
if (menu)
gtk_widget_destroy(menu);
- if (!strcmp(purple_chat_conversation_get_nick(chat), purple_normalize(account, who)))
+ if (purple_strequal(purple_chat_conversation_get_nick(chat), purple_normalize(account, who)))
is_me = TRUE;
menu = gtk_menu_new();
@@ -3263,7 +3263,7 @@ sound_method_pref_changed_cb(const char *name, PurplePrefType type,
PidginConvWindow *win = data;
const char *method = value;
- if (!strcmp(method, "none"))
+ if (purple_strequal(method, "none"))
{
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(win->menu->sounds),
FALSE);
@@ -3715,7 +3715,7 @@ setup_menubar(PidginConvWindow *win)
gtk_ui_manager_get_action(win->menu->ui,
"/Conversation/OptionsMenu/EnableSounds");
method = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method");
- if (method != NULL && !strcmp(method, "none"))
+ if (purple_strequal(method, "none"))
{
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(win->menu->sounds),
FALSE);
@@ -4064,7 +4064,7 @@ compare_buddy_presence(PurplePresence *p1, PurplePresence *p2)
PurpleBuddy *b1 = purple_buddy_presence_get_buddy(PURPLE_BUDDY_PRESENCE(p1));
PurpleBuddy *b2 = purple_buddy_presence_get_buddy(PURPLE_BUDDY_PRESENCE(p2));
if (purple_buddy_get_account(b1) == purple_buddy_get_account(b2) &&
- strcmp(purple_buddy_get_name(b1), purple_buddy_get_name(b2)) == 0)
+ purple_strequal(purple_buddy_get_name(b1), purple_buddy_get_name(b2)))
return FALSE;
return TRUE;
}
@@ -4316,7 +4316,7 @@ add_chat_user_common(PurpleChatConversation *chat, PurpleChatUser *cb, const cha
stock = get_chat_user_status_icon(chat, name, flags);
- if (!strcmp(purple_chat_conversation_get_nick(chat), purple_normalize(purple_conversation_get_account(conv), old_name != NULL ? old_name : name)))
+ if (purple_strequal(purple_chat_conversation_get_nick(chat), purple_normalize(purple_conversation_get_account(conv), old_name != NULL ? old_name : name)))
is_me = TRUE;
is_buddy = purple_chat_user_is_buddy(cb);
@@ -4451,7 +4451,7 @@ is_first_container(WebKitDOMNode *container)
if (parent) {
name = webkit_dom_node_get_node_name(parent);
- if (!strcmp(name, "BODY")) {
+ if (purple_strequal(name, "BODY")) {
g_free(name);
if (webkit_dom_node_get_previous_sibling(container) == NULL)
@@ -4570,7 +4570,7 @@ tab_complete(PurpleConversation *conv)
CHAT_USERS_ALIAS_COLUMN, &alias,
-1);
- if (name && alias && strcmp(name, alias))
+ if (name && alias && !purple_strequal(name, alias))
tab_complete_process_item(&most_matched, entered, entered_chars, &partial,
&matches, alias);
g_free(name);
@@ -4724,16 +4724,15 @@ sort_chat_users(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer us
f2 &= PURPLE_CHAT_USER_VOICE | PURPLE_CHAT_USER_HALFOP | PURPLE_CHAT_USER_OP |
PURPLE_CHAT_USER_FOUNDER;
- if (user1 == NULL || user2 == NULL) {
- if (!(user1 == NULL && user2 == NULL))
- ret = (user1 == NULL) ? -1: 1;
- } else if (f1 != f2) {
- /* sort more important users first */
- ret = (f1 > f2) ? -1 : 1;
- } else if (buddy1 != buddy2) {
- ret = (buddy1 > buddy2) ? -1 : 1;
- } else {
- ret = strcmp(user1, user2);
+ ret = g_strcmp0(user1, user2);
+
+ if (user1 != NULL && user2 != NULL) {
+ if (f1 != f2) {
+ /* sort more important users first */
+ ret = (f1 > f2) ? -1 : 1;
+ } else if (buddy1 != buddy2) {
+ ret = (buddy1 > buddy2) ? -1 : 1;
+ }
}
g_free(user1);
@@ -4768,13 +4767,13 @@ update_chat_alias(PurpleBuddy *buddy, PurpleChatConversation *chat, PurpleConnec
gtk_tree_model_get(model, &iter, CHAT_USERS_NAME_COLUMN, &name, -1);
- if (!strcmp(normalized_name, purple_normalize(account, name))) {
+ if (purple_strequal(normalized_name, purple_normalize(account, name))) {
const char *alias = name;
char *tmp;
char *alias_key = NULL;
PurpleBuddy *buddy2;
- if (strcmp(purple_chat_conversation_get_nick(chat), purple_normalize(account, name))) {
+ if (!purple_strequal(purple_chat_conversation_get_nick(chat), purple_normalize(account, name))) {
/* This user is not me, so look into updating the alias. */
if ((buddy2 = purple_blist_find_buddy(account, name)) != NULL) {
@@ -4873,7 +4872,7 @@ buddy_cb_common(PurpleBuddy *buddy, PurpleChatConversation *chat, gboolean is_bu
gtk_tree_model_get(model, &iter, CHAT_USERS_NAME_COLUMN, &name, -1);
- if (!strcmp(normalized_name, purple_normalize(purple_conversation_get_account(conv), name))) {
+ if (purple_strequal(normalized_name, purple_normalize(purple_conversation_get_account(conv), name))) {
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
CHAT_USERS_WEIGHT_COLUMN, is_buddy ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, -1);
g_free(name);
@@ -5744,8 +5743,8 @@ conv_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y,
*/
if (PURPLE_IS_CHAT_CONVERSATION(conv) &&
protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, invite) &&
- strcmp(purple_account_get_protocol_id(convaccount),
- purple_account_get_protocol_id(buddyaccount)) == 0) {
+ purple_strequal(purple_account_get_protocol_id(convaccount),
+ purple_account_get_protocol_id(buddyaccount))) {
purple_chat_conversation_invite_user(PURPLE_CHAT_CONVERSATION(conv), buddyname, NULL, TRUE);
} else {
/*
@@ -5800,7 +5799,7 @@ conv_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y,
*/
if (PURPLE_IS_CHAT_CONVERSATION(conv) &&
protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT_IFACE, invite) &&
- strcmp(purple_account_get_protocol_id(convaccount), protocol_id) == 0) {
+ purple_strequal(purple_account_get_protocol_id(convaccount), protocol_id)) {
purple_chat_conversation_invite_user(PURPLE_CHAT_CONVERSATION(conv), username, NULL, TRUE);
} else {
im = purple_im_conversation_new(account, username);
@@ -6107,11 +6106,11 @@ received_im_msg_cb(PurpleAccount *account, char *sender, char *message,
guint timer;
/* create hidden conv if hide_new pref is always */
- if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always") == 0)
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always"))
hide = TRUE;
/* create hidden conv if hide_new pref is away and account is away */
- if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away") == 0 &&
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away") &&
!purple_status_is_available(purple_account_get_active_status(account)))
hide = TRUE;
@@ -7053,8 +7052,8 @@ pidgin_conv_write_conv(PurpleConversation *conv, PurpleMessage *pmsg)
history_since_tm = gmtime(&history_since);
history_since_s = purple_utf8_strftime(
"%Y-%m-%dT%H:%M:%SZ", history_since_tm);
- if (g_strcmp0(prev_history_since_s,
- history_since_s) != 0)
+ if (!purple_strequal(prev_history_since_s,
+ history_since_s))
g_hash_table_replace(comps,
g_strdup("history_since"),
g_strdup(history_since_s));
@@ -7665,7 +7664,7 @@ pidgin_conv_update_fields(PurpleConversation *conv, PidginConvFields fields)
gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title);
if (pidgin_conv_window_is_active_conversation(conv)) {
const char* current_title = gtk_window_get_title(GTK_WINDOW(win->window));
- if (current_title == NULL || g_strcmp0(current_title, title) != 0)
+ if (current_title == NULL || !purple_strequal(current_title, title))
gtk_window_set_title(GTK_WINDOW(win->window), title);
}
@@ -8233,7 +8232,7 @@ account_status_changed_cb(PurpleAccount *account, PurpleStatus *oldstatus,
PurpleConversation *conv = NULL;
PidginConversation *gtkconv;
- if(strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away")!=0)
+ if(!purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away"))
return;
if(purple_status_is_available(oldstatus) || !purple_status_is_available(newstatus))
@@ -8268,10 +8267,10 @@ hide_new_pref_cb(const char *name, PurplePrefType type,
if(!hidden_convwin)
return;
- if(strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always")==0)
+ if(purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always"))
return;
- if(strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away")==0)
+ if(purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away"))
when_away = TRUE;
for (l = hidden_convwin->gtkconvs; l; )
@@ -8299,7 +8298,7 @@ conv_placement_pref_cb(const char *name, PurplePrefType type,
{
PidginConvPlacementFunc func;
- if (strcmp(name, PIDGIN_PREFS_ROOT "/conversations/placement"))
+ if (!purple_strequal(name, PIDGIN_PREFS_ROOT "/conversations/placement"))
return;
func = pidgin_conv_placement_get_fnc(value);
@@ -9979,7 +9978,7 @@ switch_conv_cb(GtkNotebook *notebook, GtkWidget *page, gint page_num,
pidgin_conv_switch_active_conversation(conv);
sound_method = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method");
- if (strcmp(sound_method, "none") != 0)
+ if (!purple_strequal(sound_method, "none"))
gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(win->menu->sounds),
gtkconv->make_sound);
@@ -11010,7 +11009,7 @@ get_conv_placement_data(const char *id)
for (n = conv_placement_fncs; n; n = n->next) {
data = n->data;
- if (!strcmp(data->id, id))
+ if (purple_strequal(data->id, id))
return data;
}
diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c
index 74be322a25..3cb90e7a78 100644
--- a/pidgin/gtkdialogs.c
+++ b/pidgin/gtkdialogs.c
@@ -992,31 +992,31 @@ pidgin_dialogs_ee(const char *ee)
gchar *norm = purple_strreplace(ee, "rocksmyworld", "");
label = gtk_label_new(NULL);
- if (!strcmp(norm, "zilding"))
+ if (purple_strequal(norm, "zilding"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
- else if (!strcmp(norm, "robflynn"))
+ else if (purple_strequal(norm, "robflynn"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
- else if (!strcmp(norm, "flynorange"))
+ else if (purple_strequal(norm, "flynorange"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
- else if (!strcmp(norm, "ewarmenhoven"))
+ else if (purple_strequal(norm, "ewarmenhoven"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
- else if (!strcmp(norm, "markster97"))
+ else if (purple_strequal(norm, "markster97"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
- else if (!strcmp(norm, "seanegn"))
+ else if (purple_strequal(norm, "seanegn"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
- else if (!strcmp(norm, "chipx86"))
+ else if (purple_strequal(norm, "chipx86"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
- else if (!strcmp(norm, "markdoliner"))
+ else if (purple_strequal(norm, "markdoliner"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
- else if (!strcmp(norm, "lschiere"))
+ else if (purple_strequal(norm, "lschiere"))
gtk_label_set_markup(GTK_LABEL(label),
"<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
g_free(norm);
diff --git a/pidgin/gtkdocklet.c b/pidgin/gtkdocklet.c
index 8d8b4b0505..542e79f6bf 100644
--- a/pidgin/gtkdocklet.c
+++ b/pidgin/gtkdocklet.c
@@ -147,7 +147,7 @@ docklet_update_status(void)
/* determine if any ims have unseen messages */
convs = get_pending_list(DOCKLET_TOOLTIP_LINE_LIMIT);
- if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) {
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) {
if (convs && !visible) {
g_list_free(convs);
docklet_gtk_status_create(FALSE);
@@ -300,14 +300,14 @@ docklet_show_pref_changed_cb(const char *name, PurplePrefType type,
gconstpointer value, gpointer data)
{
const char *val = value;
- if (!strcmp(val, "always")) {
+ if (purple_strequal(val, "always")) {
if (!visible)
docklet_gtk_status_create(FALSE);
else if (!visibility_manager) {
pidgin_blist_visibility_manager_add();
visibility_manager = TRUE;
}
- } else if (!strcmp(val, "never")) {
+ } else if (purple_strequal(val, "never")) {
if (visible)
docklet_gtk_status_destroy();
} else {
@@ -433,7 +433,7 @@ activate_status_account_cb(GtkMenuItem *menuitem, gpointer user_data)
if (sub) {
const PurpleStatusType *sub_type = purple_savedstatus_substatus_get_status_type(sub);
const char *subtype_status_id = purple_status_type_get_id(sub_type);
- if (subtype_status_id && !strcmp(subtype_status_id,
+ if (subtype_status_id && purple_strequal(subtype_status_id,
purple_status_type_get_id(status_type)))
found = TRUE;
}
@@ -745,7 +745,7 @@ docklet_menu(void)
menuitem = gtk_check_menu_item_new_with_mnemonic(_("Mute _Sounds"));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute"));
- if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"))
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"))
gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE);
g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
@@ -796,7 +796,7 @@ static void
pidgin_docklet_embedded(void)
{
if (!visibility_manager
- && strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) {
+ && !purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) {
pidgin_blist_visibility_manager_add();
visibility_manager = TRUE;
}
@@ -991,7 +991,7 @@ pidgin_docklet_init()
gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), tmp);
g_free(tmp);
- if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "always"))
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "always"))
docklet_gtk_status_create(FALSE);
purple_signal_connect(conn_handle, "signed-on",
diff --git a/pidgin/gtklog.c b/pidgin/gtklog.c
index 18b8e32898..7bccaf1339 100644
--- a/pidgin/gtklog.c
+++ b/pidgin/gtklog.c
@@ -79,7 +79,7 @@ static gboolean log_viewer_equal(gconstpointer y, gconstpointer z)
normal = g_strdup(purple_normalize(a->account, a->buddyname));
ret = (a->account == b->account) &&
- !strcmp(normal, purple_normalize(b->account, b->buddyname));
+ purple_strequal(normal, purple_normalize(b->account, b->buddyname));
g_free(normal);
return ret;
@@ -132,7 +132,7 @@ static void search_cb(GtkWidget *button, PidginLogViewer *lv)
return;
}
- if (lv->search != NULL && !strcmp(lv->search, search_term))
+ if (lv->search != NULL && purple_strequal(lv->search, search_term))
{
/* Searching for the same term acts as "Find Next" */
webkit_web_view_search_text(WEBKIT_WEB_VIEW(lv->web_view), lv->search, FALSE, TRUE, TRUE);
@@ -503,7 +503,7 @@ static void populate_log_tree(PidginLogViewer *lv)
month = purple_utf8_strftime(_("%B %Y"),
log->tm ? log->tm : localtime(&log->time));
- if (strcmp(month, prev_top_month) != 0)
+ if (!purple_strequal(month, prev_top_month))
{
/* top level */
gtk_tree_store_append(lv->treestore, &toplevel, NULL);
diff --git a/pidgin/gtknotify.c b/pidgin/gtknotify.c
index 6ba9796fff..6529fb7acc 100644
--- a/pidgin/gtknotify.c
+++ b/pidgin/gtknotify.c
@@ -1361,8 +1361,8 @@ pidgin_notify_uri(const char *uri)
} else if (purple_running_osx() == TRUE) {
argv = g_slist_append(argv, "open");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "epiphany") ||
- !strcmp(web_browser, "galeon"))
+ } else if (purple_strequal(web_browser, "epiphany") ||
+ purple_strequal(web_browser, "galeon"))
{
argv = g_slist_append(argv, (gpointer)web_browser);
@@ -1372,13 +1372,13 @@ pidgin_notify_uri(const char *uri)
argv = g_slist_append(argv, "-n");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "xdg-open")) {
+ } else if (purple_strequal(web_browser, "xdg-open")) {
argv = g_slist_append(argv, "xdg-open");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "gnome-open")) {
+ } else if (purple_strequal(web_browser, "gnome-open")) {
argv = g_slist_append(argv, "gnome-open");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "kfmclient")) {
+ } else if (purple_strequal(web_browser, "kfmclient")) {
argv = g_slist_append(argv, "kfmclient");
argv = g_slist_append(argv, "openURL");
argv = g_slist_append(argv, uri_escaped);
@@ -1386,10 +1386,10 @@ pidgin_notify_uri(const char *uri)
* Does Konqueror have options to open in new tab
* and/or current window?
*/
- } else if (!strcmp(web_browser, "mozilla") ||
- !strcmp(web_browser, "mozilla-firebird") ||
- !strcmp(web_browser, "firefox") ||
- !strcmp(web_browser, "seamonkey"))
+ } else if (purple_strequal(web_browser, "mozilla") ||
+ purple_strequal(web_browser, "mozilla-firebird") ||
+ purple_strequal(web_browser, "firefox") ||
+ purple_strequal(web_browser, "seamonkey"))
{
argv = g_slist_append(argv, (gpointer)web_browser);
argv = g_slist_append(argv, uri_escaped);
@@ -1415,7 +1415,7 @@ pidgin_notify_uri(const char *uri)
* should probably be split apart from mozilla-firebird
* and mozilla... but this is good for now.
*/
- if (!strcmp(web_browser, "firefox")) {
+ if (purple_strequal(web_browser, "firefox")) {
argv_remote = g_slist_append(argv_remote, "-a");
argv_remote = g_slist_append(argv_remote,
"firefox");
@@ -1424,7 +1424,7 @@ pidgin_notify_uri(const char *uri)
argv_remote = g_slist_append(argv_remote, "-remote");
argv_remote = g_slist_append(argv_remote, uri_custom);
}
- } else if (!strcmp(web_browser, "opera")) {
+ } else if (purple_strequal(web_browser, "opera")) {
argv = g_slist_append(argv, "opera");
if (place == PIDGIN_BROWSER_NEW_WINDOW)
@@ -1436,28 +1436,28 @@ pidgin_notify_uri(const char *uri)
*/
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "google-chrome")) {
+ } else if (purple_strequal(web_browser, "google-chrome")) {
/* Google Chrome doesn't have command-line arguments that
* control the opening of links from external calls. This is
* controlled solely from a preference within Google Chrome.
*/
argv = g_slist_append(argv, "google-chrome");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "chrome")) {
+ } else if (purple_strequal(web_browser, "chrome")) {
/* Chromium doesn't have command-line arguments that control
* the opening of links from external calls. This is controlled
* solely from a preference within Chromium.
*/
argv = g_slist_append(argv, "chrome");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "chromium-browser")) {
+ } else if (purple_strequal(web_browser, "chromium-browser")) {
/* Chromium doesn't have command-line arguments that control the
* opening of links from external calls. This is controlled
* solely from a preference within Chromium.
*/
argv = g_slist_append(argv, "chromium-browser");
argv = g_slist_append(argv, uri_escaped);
- } else if (!strcmp(web_browser, "custom")) {
+ } else if (purple_strequal(web_browser, "custom")) {
GError *error = NULL;
const char *usercmd_command;
gint usercmd_argc, i;
diff --git a/pidgin/gtkpounce.c b/pidgin/gtkpounce.c
index 33122ea217..7a89ac11c3 100644
--- a/pidgin/gtkpounce.c
+++ b/pidgin/gtkpounce.c
@@ -171,7 +171,7 @@ pounce_test_sound(GtkWidget *w, GtkWidget *entry)
filename = gtk_entry_get_text(GTK_ENTRY(entry));
- if (filename != NULL && *filename != '\0' && strcmp(filename, _("(default)")))
+ if (filename != NULL && *filename != '\0' && !purple_strequal(filename, _("(default)")))
purple_sound_play_file(filename, NULL);
else
purple_sound_play_event(PURPLE_SOUND_POUNCE_DEFAULT, NULL);
@@ -311,7 +311,7 @@ save_pounce_cb(GtkWidget *w, PidginPounceDialog *dialog)
message = NULL;
}
if (*command == '\0') command = NULL;
- if (*sound == '\0' || !strcmp(sound, _("(default)"))) sound = NULL;
+ if (*sound == '\0' || purple_strequal(sound, _("(default)"))) sound = NULL;
/* If the pounce has already been triggered, let's pretend it is a new one */
if (dialog->pounce != NULL
diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c
index 38a9b91bba..16763cbfd5 100644
--- a/pidgin/gtkprefs.c
+++ b/pidgin/gtkprefs.c
@@ -359,7 +359,7 @@ pidgin_prefs_dropdown_from_list_with_cb(GtkWidget *box, const gchar *title,
if ((initial.type == PURPLE_PREF_INT &&
initial.value.integer == int_value) ||
(initial.type == PURPLE_PREF_STRING &&
- !g_strcmp0(initial.value.string, str_value)) ||
+ purple_strequal(initial.value.string, str_value)) ||
(initial.type == PURPLE_PREF_BOOLEAN &&
(initial.value.boolean == bool_value))) {
@@ -583,7 +583,7 @@ pref_sound_generate_markup(void)
do {
gtk_tree_model_get(GTK_TREE_MODEL(prefs_sound_themes), &iter, 2, &name, -1);
- print_custom = customized && name && g_str_equal(current_theme, name);
+ print_custom = customized && name && purple_strequal(current_theme, name);
if (!name || *name == '\0') {
g_free(name);
@@ -684,7 +684,7 @@ prefs_set_active_theme_combo(GtkWidget *combo_box, GtkListStore *store, const gc
do {
gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 2, &theme, -1);
- if (g_str_equal(current_theme, theme)) {
+ if (purple_strequal(current_theme, theme)) {
gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combo_box), &iter);
unset = FALSE;
}
@@ -878,7 +878,7 @@ theme_install_theme(char *path, struct theme_info *info)
/* Just to be safe */
g_strchomp(path);
- if ((is_smiley_theme = g_str_equal(info->type, "smiley")))
+ if ((is_smiley_theme = purple_strequal(info->type, "smiley")))
destdir = g_build_filename(purple_user_dir(), "smileys", NULL);
else
destdir = g_build_filename(purple_user_dir(), "themes", "temp", NULL);
@@ -1245,7 +1245,7 @@ prefs_set_blist_theme_cb(GtkComboBox *combo_box, gpointer user_data)
gtk_tree_model_get(GTK_TREE_MODEL(prefs_blist_themes), &iter, 2, &name, -1);
- if(!name || !g_str_equal(name, ""))
+ if(!name || *name)
theme = PIDGIN_BLIST_THEME(purple_theme_manager_find_theme(name, "blist"));
g_free(name);
@@ -1340,7 +1340,7 @@ prefs_set_status_icon_theme_cb(GtkComboBox *combo_box, gpointer user_data)
gtk_tree_model_get(GTK_TREE_MODEL(prefs_status_icon_themes), &iter, 2, &name, -1);
- if(!name || !g_str_equal(name, ""))
+ if(!name || *name)
theme = PIDGIN_STATUS_ICON_THEME(purple_theme_manager_find_theme(name, "status-icon"));
g_free(name);
@@ -1989,7 +1989,7 @@ proxy_changed_cb(const char *name, PurplePrefType type,
GtkWidget *frame = data;
const char *proxy = value;
- if (strcmp(proxy, "none") && strcmp(proxy, "envvar"))
+ if (!purple_strequal(proxy, "none") && !purple_strequal(proxy, "envvar"))
gtk_widget_show_all(frame);
else
gtk_widget_hide(frame);
@@ -2268,11 +2268,11 @@ get_available_browsers(void)
browsers = g_list_prepend(browsers,
possible_browsers[i].command);
browsers = g_list_prepend(browsers, (gpointer)_(possible_browsers[i].name));
- if(browser_setting && !strcmp(possible_browsers[i].command, browser_setting))
+ if(browser_setting && purple_strequal(possible_browsers[i].command, browser_setting))
browser_setting = NULL;
/* If xdg-open is valid, prefer it over gnome-open and skip forward */
- if(!strcmp(possible_browsers[i].command, "xdg-open")) {
- if (browser_setting && !strcmp("gnome-open", browser_setting)) {
+ if(purple_strequal(possible_browsers[i].command, "xdg-open")) {
+ if (purple_strequal("gnome-open", browser_setting)) {
purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/browser", possible_browsers[i].command);
browser_setting = NULL;
}
@@ -2294,7 +2294,7 @@ browser_changed1_cb(const char *name, PurplePrefType type,
GtkWidget *hbox = data;
const char *browser = value;
- gtk_widget_set_sensitive(hbox, strcmp(browser, "custom"));
+ gtk_widget_set_sensitive(hbox, !purple_strequal(browser, "custom"));
}
static void
@@ -2304,7 +2304,7 @@ browser_changed2_cb(const char *name, PurplePrefType type,
GtkWidget *hbox = data;
const char *browser = value;
- gtk_widget_set_sensitive(hbox, !strcmp(browser, "custom"));
+ gtk_widget_set_sensitive(hbox, purple_strequal(browser, "custom"));
}
static GtkWidget *
@@ -2378,7 +2378,7 @@ browser_page(void)
gtk_size_group_add_widget(sg, label);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
- if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom"))
+ if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom"))
gtk_widget_set_sensitive(hbox, FALSE);
purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/browsers/browser",
browser_changed1_cb, hbox);
@@ -2390,7 +2390,7 @@ browser_page(void)
g_signal_connect(G_OBJECT(entry), "focus-out-event",
G_CALLBACK(manual_browser_set), NULL);
hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_Manual:\n(%s for URL)"), sg, entry, TRUE, NULL);
- if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom"))
+ if (!purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom"))
gtk_widget_set_sensitive(hbox, FALSE);
purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/browsers/browser",
browser_changed2_cb, hbox);
@@ -2883,7 +2883,7 @@ sound_changed1_cb(const char *name, PurplePrefType type,
GtkWidget *hbox = data;
const char *method = value;
- gtk_widget_set_sensitive(hbox, !strcmp(method, "custom"));
+ gtk_widget_set_sensitive(hbox, purple_strequal(method, "custom"));
}
static void
@@ -2893,7 +2893,7 @@ sound_changed2_cb(const char *name, PurplePrefType type,
GtkWidget *vbox = data;
const char *method = value;
- gtk_widget_set_sensitive(vbox, strcmp(method, "none"));
+ gtk_widget_set_sensitive(vbox, !purple_strequal(method, "none"));
}
@@ -3041,7 +3041,7 @@ mute_changed_cb(const char *pref_name,
GtkToggleButton *button = data;
gboolean muted = GPOINTER_TO_INT(val);
- g_return_if_fail(!strcmp (pref_name, PIDGIN_PREFS_ROOT "/sound/mute"));
+ g_return_if_fail(purple_strequal (pref_name, PIDGIN_PREFS_ROOT "/sound/mute"));
/* Block the handler that re-sets the preference. */
g_signal_handlers_block_matched(button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (gpointer)pref_name);
@@ -3117,7 +3117,7 @@ sound_page(void)
purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method",
sound_changed1_cb, hbox);
gtk_widget_set_sensitive(hbox,
- !strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"),
+ purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"),
"custom"));
button = pidgin_prefs_checkbox(_("M_ute sounds"), PIDGIN_PREFS_ROOT "/sound/mute", vbox);
@@ -3133,7 +3133,7 @@ sound_page(void)
NULL);
gtk_widget_set_sensitive(vbox,
- strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"));
+ !purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"));
purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method",
sound_changed2_cb, vbox);
vbox = pidgin_make_frame(ret, _("Sound Events"));
@@ -3452,7 +3452,7 @@ gst_bus_cb(GstBus *bus, GstMessage *msg, gpointer data)
GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg));
gchar *name = gst_element_get_name(src);
- if (!strcmp(name, "level")) {
+ if (purple_strequal(name, "level")) {
gdouble percent;
gdouble threshold;
GstElement *valve;
@@ -4020,7 +4020,7 @@ smiley_theme_pref_cb(const char *name, PurplePrefType type,
const gchar *theme_name = value;
GList *themes, *it;
- if (g_strcmp0(theme_name, "none") == 0) {
+ if (purple_strequal(theme_name, "none")) {
purple_smiley_theme_set_current(NULL);
return;
}
@@ -4031,7 +4031,7 @@ smiley_theme_pref_cb(const char *name, PurplePrefType type,
for (it = themes; it; it = g_list_next(it)) {
PidginSmileyTheme *theme = it->data;
- if (g_strcmp0(pidgin_smiley_theme_get_name(theme), theme_name))
+ if (!purple_strequal(pidgin_smiley_theme_get_name(theme), theme_name))
continue;
purple_smiley_theme_set_current(PURPLE_SMILEY_THEME(theme));
diff --git a/pidgin/gtkrequest.c b/pidgin/gtkrequest.c
index e6ec26ad3e..33e2974825 100644
--- a/pidgin/gtkrequest.c
+++ b/pidgin/gtkrequest.c
@@ -148,7 +148,7 @@ input_response_cb(GtkDialog *dialog, gint id, PidginRequestData *data)
gtk_text_buffer_get_start_iter(buffer, &start_iter);
gtk_text_buffer_get_end_iter(buffer, &end_iter);
- if ((data->u.input.hint != NULL) && (!strcmp(data->u.input.hint, "html")))
+ if (purple_strequal(data->u.input.hint, "html"))
multiline_value = pidgin_webview_get_body_html(PIDGIN_WEBVIEW(data->u.input.entry));
else
multiline_value = gtk_text_buffer_get_text(buffer, &start_iter, &end_iter,
@@ -324,7 +324,7 @@ destroy_multifield_cb(GtkWidget *dialog, GdkEvent *event,
#define STOCK_ITEMIZE(r, l) \
- if (!strcmp((r), text) || !strcmp(_(r), text)) \
+ if (purple_strequal((r), text) || purple_strequal(_(r), text)) \
return (l);
static const char *
@@ -607,7 +607,7 @@ pidgin_request_input(const char *title, const char *primary,
gtk_widget_show_all(hbox);
- if ((data->u.input.hint != NULL) && (!strcmp(data->u.input.hint, "html"))) {
+ if (purple_strequal(data->u.input.hint, "html")) {
GtkWidget *frame;
/* webview */
@@ -634,7 +634,7 @@ pidgin_request_input(const char *title, const char *primary,
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(entry), GTK_WRAP_WORD_CHAR);
- gtk_box_pack_start(GTK_BOX(vbox),
+ gtk_box_pack_start(GTK_BOX(vbox),
pidgin_make_scrollable(entry, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, 320, 130),
TRUE, TRUE, 0);
}
@@ -1131,7 +1131,7 @@ setup_entry_field(GtkWidget *entry, PurpleRequestField *field)
purple_request_field_is_visible(fld))
{
const char *type_hint = purple_request_field_get_field_type_hint(fld);
- if (type_hint != NULL && strcmp(type_hint, "account") == 0)
+ if (purple_strequal(type_hint, "account"))
{
optmenu = GTK_WIDGET(purple_request_field_get_ui_data(fld));
if (optmenu == NULL) {
@@ -1142,7 +1142,7 @@ setup_entry_field(GtkWidget *entry, PurpleRequestField *field)
}
}
}
- pidgin_setup_screenname_autocomplete(entry, optmenu, pidgin_screenname_autocomplete_default_filter, GINT_TO_POINTER(!strcmp(type_hint, "screenname-all")));
+ pidgin_setup_screenname_autocomplete(entry, optmenu, pidgin_screenname_autocomplete_default_filter, GINT_TO_POINTER(purple_strequal(type_hint, "screenname-all")));
}
}
}
@@ -1601,7 +1601,7 @@ _pidgin_datasheet_stock_icon_get(const gchar *stock_name)
id[0] = '\0';
id++;
- if (g_strcmp0(domain, "protocol") == 0) {
+ if (purple_strequal(domain, "protocol")) {
PurpleAccount *account;
gchar *protocol_id, *accountname;
@@ -1621,7 +1621,7 @@ _pidgin_datasheet_stock_icon_get(const gchar *stock_name)
image = pidgin_create_protocol_icon(account,
PIDGIN_PROTOCOL_ICON_SMALL);
}
- } else if (g_strcmp0(domain, "e2ee") == 0) {
+ } else if (purple_strequal(domain, "e2ee")) {
image = pidgin_pixbuf_from_image(
_pidgin_e2ee_stock_icon_get(id));
} else {
diff --git a/pidgin/gtksavedstatuses.c b/pidgin/gtksavedstatuses.c
index 6e0bc4bb3b..dd21444315 100644
--- a/pidgin/gtksavedstatuses.c
+++ b/pidgin/gtksavedstatuses.c
@@ -151,7 +151,7 @@ status_window_find_savedstatus(GtkTreeIter *iter, const char *title)
do {
gtk_tree_model_get(model, iter, STATUS_WINDOW_COLUMN_TITLE, &cur, -1);
- if (!strcmp(title, cur))
+ if (purple_strequal(title, cur))
{
g_free(cur);
return TRUE;
@@ -718,7 +718,7 @@ status_editor_ok_cb(GtkButton *button, gpointer user_data)
*/
if (((button == dialog->saveanduse_button) || (button == dialog->save_button)) &&
(purple_savedstatus_find(title) != NULL) &&
- ((dialog->original_title == NULL) || (strcmp(title, dialog->original_title))))
+ ((dialog->original_title == NULL) || (!purple_strequal(title, dialog->original_title))))
{
purple_notify_error(status_window, NULL, _("Title already in use. You must "
"choose a unique title."), NULL, NULL);
@@ -756,7 +756,7 @@ status_editor_ok_cb(GtkButton *button, gpointer user_data)
else
{
/* Modify the old status */
- if (strcmp(title, dialog->original_title))
+ if (!purple_strequal(title, dialog->original_title))
purple_savedstatus_set_title(saved_status, title);
purple_savedstatus_set_primitive_type(saved_status, type);
}
@@ -1177,7 +1177,7 @@ pidgin_status_editor_show(gboolean edit, PurpleSavedStatus *saved_status)
dialog->treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model));
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(dialog->treeview), TRUE);
gtk_widget_set_size_request(dialog->treeview, -1, 150);
- gtk_box_pack_start(GTK_BOX(dbox),
+ gtk_box_pack_start(GTK_BOX(dbox),
pidgin_make_scrollable(dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
TRUE, TRUE, 0);
@@ -1520,7 +1520,7 @@ edit_substatus(StatusEditor *status_editor, PurpleAccount *account)
STATUS_COLUMN_STATUS_ID, id,
STATUS_COLUMN_STATUS_NAME, name,
-1);
- if ((status_id != NULL) && !strcmp(status_id, id))
+ if ((status_id != NULL) && purple_strequal(status_id, id))
{
gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combo), &iter);
select = TRUE;
diff --git a/pidgin/gtksmiley-manager.c b/pidgin/gtksmiley-manager.c
index e7d7456938..76ca99a358 100644
--- a/pidgin/gtksmiley-manager.c
+++ b/pidgin/gtksmiley-manager.c
@@ -238,8 +238,8 @@ edit_dialog_save(SmileyEditDialog *edit_dialog)
if (edit_dialog->smiley == NULL)
shortcut_changed = image_changed = TRUE;
else {
- shortcut_changed = (g_strcmp0(purple_smiley_get_shortcut(
- edit_dialog->smiley), shortcut) != 0);
+ shortcut_changed = purple_strequal(purple_smiley_get_shortcut(
+ edit_dialog->smiley), shortcut);
image_changed = (edit_dialog->new_image != NULL);
}
diff --git a/pidgin/gtksound.c b/pidgin/gtksound.c
index a0fd3533d3..981f6989ee 100644
--- a/pidgin/gtksound.c
+++ b/pidgin/gtksound.c
@@ -449,14 +449,14 @@ pidgin_sound_play_file(const char *filename)
method = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method");
- if (!strcmp(method, "none")) {
+ if (purple_strequal(method, "none")) {
return;
- } else if (!strcmp(method, "beep")) {
+ } else if (purple_strequal(method, "beep")) {
gdk_beep();
return;
}
#ifdef _WIN32
- else if (!strcmp(method, "playsoundw")) {
+ else if (purple_strequal(method, "playsoundw")) {
pidgin_sound_play_file_win32(filename);
return;
}
@@ -468,7 +468,7 @@ pidgin_sound_play_file(const char *filename)
}
#ifndef _WIN32
- if (!strcmp(method, "custom")) {
+ if (purple_strequal(method, "custom")) {
const char *sound_cmd;
char *command;
char *esc_filename;
@@ -521,23 +521,23 @@ pidgin_sound_play_file(const char *filename)
if (gst_init_failed) /* Perhaps do gdk_beep instead? */
return;
#ifdef _WIN32
- if (!strcmp(method, "automatic")) {
+ if (purple_strequal(method, "automatic")) {
sink = gst_element_factory_make("directsoundsink", "sink");
if (sink == NULL)
sink = gst_element_factory_make("waveformsink", "sink");
if (sink == NULL)
sink = gst_element_factory_make("gconfaudiosink", "sink");
- } else if (!strcmp(method, "directsound")) {
+ } else if (purple_strequal(method, "directsound")) {
sink = gst_element_factory_make("directsoundsink", "sink");
- } else if (!strcmp(method, "waveform")) {
+ } else if (purple_strequal(method, "waveform")) {
sink = gst_element_factory_make("waveformsink", "sink");
}
#else
- if (!strcmp(method, "automatic")) {
+ if (purple_strequal(method, "automatic")) {
sink = gst_element_factory_make("gconfaudiosink", "sink");
- } else if (!strcmp(method, "esd")) {
+ } else if (purple_strequal(method, "esd")) {
sink = gst_element_factory_make("esdsink", "sink");
- } else if (!strcmp(method, "alsa")) {
+ } else if (purple_strequal(method, "alsa")) {
sink = gst_element_factory_make("alsasink", "sink");
}
#endif
@@ -546,7 +546,7 @@ pidgin_sound_play_file(const char *filename)
return;
}
- if (strcmp(method, "automatic") != 0 && !sink) {
+ if (!purple_strequal(method, "automatic") && !sink) {
purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
return;
}
diff --git a/pidgin/gtkstatusbox.c b/pidgin/gtkstatusbox.c
index 53c07923d7..0086492dbe 100644
--- a/pidgin/gtkstatusbox.c
+++ b/pidgin/gtkstatusbox.c
@@ -820,7 +820,7 @@ status_menu_refresh_iter(PidginStatusBox *status_box, gboolean status_changed)
TEXT_COLUMN, &name, -1);
if (!purple_savedstatus_has_substatuses(saved_status)
- || !strcmp(name, acct_status_name))
+ || purple_strequal(name, acct_status_name))
{
/* Found! */
path = gtk_tree_model_get_path(GTK_TREE_MODEL(status_box->dropdown_store), &iter);
@@ -956,7 +956,7 @@ static PurpleAccount* check_active_accounts_for_identical_statuses(void)
PurpleAccount *acct2 = iter->data;
GList *s1, *s2;
- if (!g_str_equal(proto1, purple_account_get_protocol_id(acct2))) {
+ if (!purple_strequal(proto1, purple_account_get_protocol_id(acct2))) {
acct1 = NULL;
break;
}
@@ -967,8 +967,8 @@ static PurpleAccount* check_active_accounts_for_identical_statuses(void)
PurpleStatusType *st1 = s1->data, *st2 = s2->data;
/* TODO: Are these enough to consider the statuses identical? */
if (purple_status_type_get_primitive(st1) != purple_status_type_get_primitive(st2)
- || strcmp(purple_status_type_get_id(st1), purple_status_type_get_id(st2))
- || strcmp(purple_status_type_get_name(st1), purple_status_type_get_name(st2))) {
+ || !purple_strequal(purple_status_type_get_id(st1), purple_status_type_get_id(st2))
+ || !purple_strequal(purple_status_type_get_name(st1), purple_status_type_get_name(st2))) {
acct1 = NULL;
break;
}
@@ -2341,7 +2341,7 @@ activate_currently_selected_status(PidginStatusBox *status_box)
acct_status_type = find_status_type_by_index(status_box->token_status_account, active);
id = purple_status_type_get_id(acct_status_type);
- if (g_str_equal(id, purple_status_get_id(status)) &&
+ if (purple_strequal(id, purple_status_get_id(status)) &&
purple_strequal(message, purple_status_get_attr_string(status, "message")))
{
/* Selected status and previous status is the same */
@@ -2442,7 +2442,7 @@ activate_currently_selected_status(PidginStatusBox *status_box)
status_type = find_status_type_by_index(status_box->account, active);
id = purple_status_type_get_id(status_type);
- if (g_str_equal(id, purple_status_get_id(status)) &&
+ if (purple_strequal(id, purple_status_get_id(status)) &&
purple_strequal(message, purple_status_get_attr_string(status, "message")))
{
/* Selected status and previous status is the same */
diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c
index 0c1de3481e..9afe3b7582 100644
--- a/pidgin/gtkutils.c
+++ b/pidgin/gtkutils.c
@@ -696,7 +696,7 @@ create_protocols_menu(const char *default_proto_id)
if (pixbuf)
g_object_unref(pixbuf);
- if (default_proto_id != NULL && !strcmp(purple_protocol_get_id(protocol), default_proto_id))
+ if (default_proto_id != NULL && purple_strequal(purple_protocol_get_id(protocol), default_proto_id))
aop_menu->default_item = i;
}
g_list_free(list);
@@ -1061,15 +1061,15 @@ pidgin_parse_x_im_contact(const char *msg, gboolean all_accounts,
protoname = purple_protocol_class_list_icon(proto, account, NULL);
- if (!strcmp(protoname, protocol))
+ if (purple_strequal(protoname, protocol))
break;
account = NULL;
}
/* Special case for AIM and ICQ */
- if (account == NULL && (!strcmp(protocol, "aim") ||
- !strcmp(protocol, "icq")))
+ if (account == NULL && (purple_strequal(protocol, "aim") ||
+ purple_strequal(protocol, "icq")))
{
for (l = list; l != NULL; l = l->next)
{
@@ -1100,7 +1100,7 @@ pidgin_parse_x_im_contact(const char *msg, gboolean all_accounts,
protoname = purple_protocol_class_list_icon(proto, account, NULL);
- if (!strcmp(protoname, "aim") || !strcmp(protoname, "icq"))
+ if (purple_strequal(protoname, "aim") || purple_strequal(protoname, "icq"))
break;
account = NULL;
@@ -1550,7 +1550,7 @@ pidgin_dnd_file_send_desktop(PurpleAccount *account, const gchar *who,
* nothing else? Probably not. I'll just give an error and
* return. */
/* The original patch sent the icon used by the launcher. That's probably wrong */
- if (!g_strcmp0(type, "Link")) {
+ if (purple_strequal(type, "Link")) {
purple_notify_error(NULL, NULL, _("Cannot send launcher"),
_("You dragged a desktop launcher. Most "
"likely you wanted to send the target "
@@ -1904,7 +1904,7 @@ add_buddyname_autocomplete_entry(GtkListStore *store, const char *buddy_alias, c
/* There's no sense listing things like: 'xxx "xxx"'
when the name and buddy alias match. */
- if (buddy_alias && strcmp(buddy_alias, buddyname)) {
+ if (buddy_alias && !purple_strequal(buddy_alias, buddyname)) {
char *completion_entry = g_strdup_printf("%s \"%s\"", buddyname, buddy_alias);
char *tmp2 = g_utf8_normalize(buddy_alias, -1, G_NORMALIZE_DEFAULT);
@@ -1926,9 +1926,9 @@ add_buddyname_autocomplete_entry(GtkListStore *store, const char *buddy_alias, c
/* There's no sense listing things like: 'xxx "xxx"'
when the name and contact alias match. */
- if (contact_alias && strcmp(contact_alias, buddyname)) {
+ if (contact_alias && !purple_strequal(contact_alias, buddyname)) {
/* We don't want duplicates when the contact and buddy alias match. */
- if (!buddy_alias || strcmp(contact_alias, buddy_alias)) {
+ if (!purple_strequal(contact_alias, buddy_alias)) {
char *completion_entry = g_strdup_printf("%s \"%s\"",
buddyname, contact_alias);
char *tmp2 = g_utf8_normalize(contact_alias, -1, G_NORMALIZE_DEFAULT);
@@ -2380,10 +2380,10 @@ pidgin_convert_buddy_icon(PurpleProtocol *protocol, const char *path, size_t *le
purple_debug_info("buddyicon", "Converting buddy icon to %s\n", protocol_formats[i]);
- if (g_str_equal(protocol_formats[i], "png")) {
+ if (purple_strequal(protocol_formats[i], "png")) {
key = "compression";
value = "9";
- } else if (g_str_equal(protocol_formats[i], "jpeg")) {
+ } else if (purple_strequal(protocol_formats[i], "jpeg")) {
sprintf(tmp_buf, "%u", quality);
key = "quality";
value = tmp_buf;
@@ -2424,7 +2424,7 @@ pidgin_convert_buddy_icon(PurpleProtocol *protocol, const char *path, size_t *le
g_free(contents);
- if (!g_str_equal(protocol_formats[i], "jpeg")) {
+ if (!purple_strequal(protocol_formats[i], "jpeg")) {
/* File size was too big and we can't lower the quality,
so skip to the next image type. */
break;
@@ -3501,9 +3501,9 @@ open_dialog(PidginWebView *webview, const char *url)
str = url + sizeof("open://") - 1;
- if (strcmp(str, "accounts") == 0)
+ if (purple_strequal(str, "accounts"))
pidgin_accounts_window_show();
- else if (strcmp(str, "prefs") == 0)
+ else if (purple_strequal(str, "prefs"))
pidgin_prefs_show();
else
return FALSE;
diff --git a/pidgin/pidginstock.c b/pidgin/pidginstock.c
index 15a680dfa9..2922a6a4d2 100644
--- a/pidgin/pidginstock.c
+++ b/pidgin/pidginstock.c
@@ -255,7 +255,7 @@ find_file(const char *dir, const char *base)
if (base == NULL)
return NULL;
- if (!strcmp(dir, "pidgin"))
+ if (purple_strequal(dir, "pidgin"))
filename = g_build_filename("pixmaps", "pidgin", base, NULL);
else
filename = g_build_filename("pixmaps", "pidgin", dir, base, NULL);
diff --git a/pidgin/plugins/cap/cap.c b/pidgin/plugins/cap/cap.c
index 469a1149d2..d353631137 100644
--- a/pidgin/plugins/cap/cap.c
+++ b/pidgin/plugins/cap/cap.c
@@ -616,7 +616,7 @@ static void insert_status_change_from_purple_status(CapStatistics *statistics, P
/* It would seem that some protocols receive periodic updates of the buddies status.
* Check to make sure the last status is not the same as current status to prevent
* to many duplicated useless database entries. */
- if(strcmp(statistics->last_status_id, purple_status_get_id(status)) == 0)
+ if(purple_strequal(statistics->last_status_id, purple_status_get_id(status)))
return;
status_id = purple_status_get_id(status);
diff --git a/pidgin/plugins/disco/xmppdisco.c b/pidgin/plugins/disco/xmppdisco.c
index 072d1ebb56..4ba65d3ad8 100644
--- a/pidgin/plugins/disco/xmppdisco.c
+++ b/pidgin/plugins/disco/xmppdisco.c
@@ -223,18 +223,18 @@ disco_service_type_from_identity(PurpleXmlNode *identity)
if (!category)
return XMPP_DISCO_SERVICE_TYPE_OTHER;
- if (g_str_equal(category, "conference"))
+ if (purple_strequal(category, "conference"))
return XMPP_DISCO_SERVICE_TYPE_CHAT;
- else if (g_str_equal(category, "directory"))
+ else if (purple_strequal(category, "directory"))
return XMPP_DISCO_SERVICE_TYPE_DIRECTORY;
- else if (g_str_equal(category, "gateway"))
+ else if (purple_strequal(category, "gateway"))
return XMPP_DISCO_SERVICE_TYPE_GATEWAY;
- else if (g_str_equal(category, "pubsub")) {
- if (!type || g_str_equal(type, "collection"))
+ else if (purple_strequal(category, "pubsub")) {
+ if (!type || purple_strequal(type, "collection"))
return XMPP_DISCO_SERVICE_TYPE_PUBSUB_COLLECTION;
- else if (g_str_equal(type, "leaf"))
+ else if (purple_strequal(type, "leaf"))
return XMPP_DISCO_SERVICE_TYPE_PUBSUB_LEAF;
- else if (g_str_equal(type, "service"))
+ else if (purple_strequal(type, "service"))
return XMPP_DISCO_SERVICE_TYPE_OTHER;
else {
purple_debug_warning("xmppdisco", "Unknown pubsub type '%s'\n", type);
@@ -284,7 +284,7 @@ got_info_cb(PurpleConnection *pc, const char *type, const char *id,
if (!list->in_progress)
goto out;
- if (g_str_equal(type, "result") &&
+ if (purple_strequal(type, "result") &&
(query = purple_xmlnode_get_child(iq, "query"))) {
PurpleXmlNode *identity = purple_xmlnode_get_child(query, "identity");
XmppDiscoService *service;
@@ -331,11 +331,11 @@ got_info_cb(PurpleConnection *pc, const char *type, const char *id,
if (!(var = purple_xmlnode_get_attrib(feature, "var")))
continue;
- if (g_str_equal(var, NS_REGISTER))
+ if (purple_strequal(var, NS_REGISTER))
service->flags |= XMPP_DISCO_REGISTER;
- else if (g_str_equal(var, NS_DISCO_ITEMS))
+ else if (purple_strequal(var, NS_DISCO_ITEMS))
service->flags |= XMPP_DISCO_BROWSE;
- else if (g_str_equal(var, NS_MUC)) {
+ else if (purple_strequal(var, NS_MUC)) {
service->flags |= XMPP_DISCO_BROWSE;
service->type = XMPP_DISCO_SERVICE_TYPE_CHAT;
}
@@ -372,7 +372,7 @@ got_items_cb(PurpleConnection *pc, const char *type, const char *id,
if (!list->in_progress)
goto out;
- if (g_str_equal(type, "result") &&
+ if (purple_strequal(type, "result") &&
(query = purple_xmlnode_get_child(iq, "query"))) {
PurpleXmlNode *item;
@@ -439,7 +439,7 @@ server_items_cb(PurpleConnection *pc, const char *type, const char *id,
g_free(cb_data);
--list->fetch_count;
- if (g_str_equal(type, "result") &&
+ if (purple_strequal(type, "result") &&
(query = purple_xmlnode_get_child(iq, "query"))) {
PurpleXmlNode *item;
@@ -482,7 +482,7 @@ server_info_cb(PurpleConnection *pc, const char *type, const char *id,
--list->fetch_count;
- if (g_str_equal(type, "result") &&
+ if (purple_strequal(type, "result") &&
(query = purple_xmlnode_get_child(iq, "query"))) {
PurpleXmlNode *feature;
diff --git a/pidgin/plugins/gevolution/add_buddy_dialog.c b/pidgin/plugins/gevolution/add_buddy_dialog.c
index 8f687469c6..712f34b2b5 100644
--- a/pidgin/plugins/gevolution/add_buddy_dialog.c
+++ b/pidgin/plugins/gevolution/add_buddy_dialog.c
@@ -176,7 +176,7 @@ add_ims(GevoAddBuddyDialog *dialog, EContact *contact, const char *name,
account = purple_connection_get_account(gc);
- if (!strcmp(purple_account_get_protocol_id(account), id))
+ if (purple_strequal(purple_account_get_protocol_id(account), id))
break;
account = NULL;
@@ -206,10 +206,10 @@ add_ims(GevoAddBuddyDialog *dialog, EContact *contact, const char *name,
COLUMN_DATA, contact,
-1);
- if (!strcmp(purple_account_get_protocol_id(account),
+ if (purple_strequal(purple_account_get_protocol_id(account),
purple_account_get_protocol_id(dialog->account)) &&
dialog->username != NULL &&
- !strcmp(account_name, dialog->username))
+ purple_strequal(account_name, dialog->username))
{
GtkTreeSelection *selection;
@@ -509,8 +509,8 @@ gevo_add_buddy_dialog_show(PurpleAccount *account, const char *username,
dialog->treeview =
gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model));
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(dialog->treeview), TRUE);
- gtk_box_pack_start(GTK_BOX(vbox),
- pidgin_make_scrollable(dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
+ gtk_box_pack_start(GTK_BOX(vbox),
+ pidgin_make_scrollable(dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
TRUE, TRUE, 0);
gtk_widget_show(dialog->treeview);
diff --git a/pidgin/plugins/gevolution/assoc-buddy.c b/pidgin/plugins/gevolution/assoc-buddy.c
index f723c85243..9cc8fee722 100644
--- a/pidgin/plugins/gevolution/assoc-buddy.c
+++ b/pidgin/plugins/gevolution/assoc-buddy.c
@@ -216,7 +216,7 @@ populate_treeview(GevoAssociateBuddyDialog *dialog, const gchar *uid)
for (l = ims; l != NULL; l = l->next)
{
- if (!strcmp(l->data,
+ if (purple_strequal(l->data,
purple_buddy_get_name(dialog->buddy)))
{
GtkTreeSelection *selection;
diff --git a/pidgin/plugins/gevolution/gevo-util.c b/pidgin/plugins/gevolution/gevo-util.c
index 64ce3f5ad3..9be4a09609 100644
--- a/pidgin/plugins/gevolution/gevo-util.c
+++ b/pidgin/plugins/gevolution/gevo-util.c
@@ -99,15 +99,15 @@ gevo_protocol_get_field(PurpleAccount *account, PurpleBuddy *buddy)
protocol_id = purple_account_get_protocol_id(account);
- if (!strcmp(protocol_id, "prpl-aim"))
+ if (purple_strequal(protocol_id, "prpl-aim"))
protocol_field = E_CONTACT_IM_AIM;
- else if (!strcmp(protocol_id, "prpl-icq"))
+ else if (purple_strequal(protocol_id, "prpl-icq"))
protocol_field = E_CONTACT_IM_ICQ;
- else if (!strcmp(protocol_id, "prpl-jabber"))
+ else if (purple_strequal(protocol_id, "prpl-jabber"))
protocol_field = E_CONTACT_IM_JABBER;
- else if (!strcmp(protocol_id, "prpl-novell"))
+ else if (purple_strequal(protocol_id, "prpl-novell"))
protocol_field = E_CONTACT_IM_GROUPWISE;
- else if (!strcmp(protocol_id, "prpl-gg"))
+ else if (purple_strequal(protocol_id, "prpl-gg"))
protocol_field = E_CONTACT_IM_GADUGADU;
return protocol_field;
diff --git a/pidgin/plugins/gevolution/gevolution.c b/pidgin/plugins/gevolution/gevolution.c
index 043e38c1aa..e4bf0a097b 100644
--- a/pidgin/plugins/gevolution/gevolution.c
+++ b/pidgin/plugins/gevolution/gevolution.c
@@ -91,7 +91,7 @@ update_ims_from_contact(EContact *contact, const char *name,
PurpleAccount *account = purple_connection_get_account(gc);
char *me;
- if (strcmp(purple_account_get_protocol_id(account), protocol_id))
+ if (!purple_strequal(purple_account_get_protocol_id(account), protocol_id))
continue;
if (!purple_account_get_bool(account, "gevo-autoadd", FALSE))
@@ -101,7 +101,7 @@ update_ims_from_contact(EContact *contact, const char *name,
for (l2 = ims; l2 != NULL; l2 = l2->next)
{
if (purple_blist_find_buddy(account, l2->data) != NULL ||
- !strcmp(me, purple_normalize(account, l2->data)))
+ purple_strequal(me, purple_normalize(account, l2->data)))
continue;
gevo_add_buddy(account, PURPLE_BLIST_DEFAULT_GROUP_NAME,
diff --git a/pidgin/plugins/gevolution/new_person_dialog.c b/pidgin/plugins/gevolution/new_person_dialog.c
index 4c4c4cd5d0..c1c93f75d9 100644
--- a/pidgin/plugins/gevolution/new_person_dialog.c
+++ b/pidgin/plugins/gevolution/new_person_dialog.c
@@ -143,15 +143,15 @@ add_cb(GtkWidget *w, GevoNewPersonDialog *dialog)
if (*email)
e_contact_set(contact, E_CONTACT_EMAIL_1, (gpointer)email);
- if (!strcmp(im_service, "prpl-aim"))
+ if (purple_strequal(im_service, "prpl-aim"))
field = E_CONTACT_IM_AIM;
- else if (!strcmp(im_service, "prpl-icq"))
+ else if (purple_strequal(im_service, "prpl-icq"))
field = E_CONTACT_IM_ICQ;
- else if (!strcmp(im_service, "prpl-jabber"))
+ else if (purple_strequal(im_service, "prpl-jabber"))
field = E_CONTACT_IM_JABBER;
- else if (!strcmp(im_service, "prpl-novell"))
+ else if (purple_strequal(im_service, "prpl-novell"))
field = E_CONTACT_IM_GROUPWISE;
- else if (!strcmp(im_service, "prpl-gg"))
+ else if (purple_strequal(im_service, "prpl-gg"))
field = E_CONTACT_IM_GADUGADU;
if (field > 0)
diff --git a/pidgin/plugins/notify.c b/pidgin/plugins/notify.c
index 53b1d8c188..870b427a05 100644
--- a/pidgin/plugins/notify.c
+++ b/pidgin/plugins/notify.c
@@ -614,7 +614,7 @@ method_toggle_cb(GtkWidget *widget, gpointer data)
purple_prefs_set_bool(pref, on);
- if (!strcmp(data, "method_string")) {
+ if (purple_strequal(data, "method_string")) {
GtkWidget *entry = g_object_get_data(G_OBJECT(widget), "title-entry");
gtk_widget_set_sensitive(entry, on);
@@ -645,7 +645,7 @@ options_entry_cb(GtkWidget *widget, GdkEventFocus *evt, gpointer data)
if (data == NULL)
return FALSE;
- if (!strcmp(data, "method_string")) {
+ if (purple_strequal(data, "method_string")) {
purple_prefs_set_string("/plugins/gtk/X11/notify/title_string",
gtk_entry_get_text(GTK_ENTRY(widget)));
}
diff --git a/pidgin/plugins/pidgininc.c b/pidgin/plugins/pidgininc.c
index 5ca6e1e15a..aa736e425c 100644
--- a/pidgin/plugins/pidgininc.c
+++ b/pidgin/plugins/pidgininc.c
@@ -34,7 +34,7 @@ reverse(PurpleAccount *account, char **who, char **message,
l = strlen(*message);
- if (!strcmp(*who, purple_account_get_username(account)))
+ if (purple_strequal(*who, purple_account_get_username(account)))
return FALSE;
for (i = 0; i < l/2; i++) {
diff --git a/pidgin/plugins/raw.c b/pidgin/plugins/raw.c
index c9da7f0d01..e949370f7d 100644
--- a/pidgin/plugins/raw.c
+++ b/pidgin/plugins/raw.c
@@ -72,7 +72,7 @@ text_sent_cb(GtkEntry *entry)
purple_debug_misc("raw", "protocol_id = %s\n", protocol_id);
- if (strcmp(protocol_id, "prpl-toc") == 0) {
+ if (purple_strequal(protocol_id, "prpl-toc")protocol_id) {
int *a = (int *)purple_connection_get_protocol_data(gc);
unsigned short seqno = htons(a[1]++ & 0xffff);
unsigned short len = htons(strlen(txt) + 1);
@@ -82,12 +82,12 @@ text_sent_cb(GtkEntry *entry)
write(*a, txt, ntohs(len));
purple_debug(PURPLE_DEBUG_MISC, "raw", "TOC C: %s\n", txt);
- } else if (strcmp(prpl_id, "prpl-irc") == 0) {
+ } else if (purple_strequal(protocol_id, "prpl-irc")) {
write(*(int *)gc->proto_data, txt, strlen(txt));
write(*(int *)gc->proto_data, "\r\n", 2);
purple_debug(PURPLE_DEBUG_MISC, "raw", "IRC C: %s\n", txt);
- } else if (strcmp(protocol_id, "prpl-jabber") == 0) {
+ } else if (purple_strequal(protocol_id, "prpl-jabber")) {
jabber_send_raw((JabberStream *)purple_connection_get_protocol_data(gc), txt, -1);
} else {
diff --git a/pidgin/plugins/spellchk.c b/pidgin/plugins/spellchk.c
index 6041c98641..382e9e11ef 100644
--- a/pidgin/plugins/spellchk.c
+++ b/pidgin/plugins/spellchk.c
@@ -237,10 +237,10 @@ substitute_word(gchar *word)
gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, BAD_COLUMN, &val1);
bad = g_value_get_string(&val1);
- if ((case_sensitive && !strcmp(bad, word)) ||
- (!case_sensitive && (!strcmp(bad, lowerword) ||
+ if ((case_sensitive && purple_strequal(bad, word)) ||
+ (!case_sensitive && (purple_strequal(bad, lowerword) ||
(!is_word_lowercase(bad) &&
- !strcmp((tmpbad = g_utf8_casefold(bad, -1)), foldedword)))))
+ purple_strequal((tmpbad = g_utf8_casefold(bad, -1)), foldedword)))))
{
GValue val2;
const char *good;
@@ -1869,7 +1869,7 @@ static void on_edited(GtkCellRendererText *cellrenderertext,
val.g_type = 0;
gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, GPOINTER_TO_INT(data), &val);
- if (strcmp(arg2, g_value_get_string(&val))) {
+ if (!purple_strequal(arg2, g_value_get_string(&val))) {
gtk_list_store_set(model, &iter, GPOINTER_TO_INT(data), arg2, -1);
save_list();
}
@@ -1951,12 +1951,12 @@ static void list_add_new(void)
* Otherwise, they overlap. */
if (g_value_get_boolean(&case_sensitive_val))
{
- match = !strcmp(g_value_get_string(&bad_val), word);
+ match = purple_strequal(g_value_get_string(&bad_val), word);
}
else
{
char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1);
- match = !strcmp(bad, tmpword);
+ match = purple_strequal(bad, tmpword);
g_free(bad);
}
g_value_unset(&case_sensitive_val);
@@ -1964,7 +1964,7 @@ static void list_add_new(void)
else
{
char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1);
- match = !strcmp(bad, tmpword);
+ match = purple_strequal(bad, tmpword);
g_free(bad);
}
@@ -2193,8 +2193,8 @@ get_config_frame(PurplePlugin *plugin)
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),
GTK_SELECTION_MULTIPLE);
- gtk_box_pack_start(GTK_BOX(vbox),
- pidgin_make_scrollable(tree, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
+ gtk_box_pack_start(GTK_BOX(vbox),
+ pidgin_make_scrollable(tree, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
TRUE, TRUE, 0);
gtk_widget_show(tree);
diff --git a/pidgin/plugins/xmppconsole.c b/pidgin/plugins/xmppconsole.c
index c999a52fdf..f2ee7a7c98 100644
--- a/pidgin/plugins/xmppconsole.c
+++ b/pidgin/plugins/xmppconsole.c
@@ -78,7 +78,7 @@ xmppconsole_is_xmpp_account(PurpleAccount *account)
i = 0;
while (xmpp_prpls[i] != NULL) {
- if (g_strcmp0(xmpp_prpls[i], prpl_name) == 0)
+ if (purple_strequal(xmpp_prpls[i], prpl_name))
return TRUE;
i++;
}
@@ -105,8 +105,8 @@ purple_xmlnode_to_pretty_str(PurpleXmlNode *node, int *len)
if (node->xmlns) {
if ((!node->parent ||
!node->parent->xmlns ||
- strcmp(node->xmlns, node->parent->xmlns)) &&
- strcmp(node->xmlns, "jabber:client"))
+ !purple_strequal(node->xmlns, node->parent->xmlns)) &&
+ !purple_strequal(node->xmlns, "jabber:client"))
{
char *xmlns = g_markup_escape_text(node->xmlns, -1);
g_string_append_printf(text,
@@ -477,14 +477,14 @@ static void presence_clicked_cb(GtkWidget *w, gpointer nul)
to = g_markup_escape_text(gtk_entry_get_text(GTK_ENTRY(to_entry)), -1);
type = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(type_combo));
- if (!strcmp(type, "default"))
+ if (purple_strequal(type, "default"))
type = "";
show = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(show_combo));
- if (!strcmp(show, "default"))
+ if (purple_strequal(show, "default"))
show = "";
status = g_markup_escape_text(gtk_entry_get_text(GTK_ENTRY(status_entry)), -1);
priority = g_markup_escape_text(gtk_entry_get_text(GTK_ENTRY(priority_entry)), -1);
- if (!strcmp(priority, "0"))
+ if (purple_strequal(priority, "0"))
*priority = '\0';
stanza = g_strdup_printf("&lt;presence %s%s%s id='console%x' %s%s%s&gt;"
@@ -789,7 +789,7 @@ create_console(PurplePluginAction *action)
pidgin_webview_append_html(PIDGIN_WEBVIEW(console->webview), tmp);
g_free(tmp);
}
- gtk_box_pack_start(GTK_BOX(vbox),
+ gtk_box_pack_start(GTK_BOX(vbox),
pidgin_make_scrollable(console->webview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_ETCHED_IN, -1, -1),
TRUE, TRUE, 0);