/pidgin/main: 02346b6472b3: Simplify checks for empty strings

Michael McConville <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 02346b6472b36a5a7d303657555712ece0e2f7d9
Author:	 Michael McConville <[email protected]>
Date:	 2016-01-14 00:09 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/02346b6472b3

Description:

Simplify checks for empty strings

strlen walks though the entire string, and compilers are bad at
optimizing away libc functions calls. Therefore, it's easiest to just
dereference a char* when checking whether it represents an empty string.

diffstat:

 finch/gntsound.c                          |  2 +-
 libpurple/protocols/gg/blist.c            |  2 +-
 libpurple/protocols/gg/roster.c           |  2 +-
 libpurple/protocols/irc/irc.c             |  2 +-
 libpurple/protocols/oscar/family_bart.c   |  2 +-
 libpurple/protocols/oscar/family_icbm.c   |  6 +++---
 libpurple/protocols/silc/util.c           |  6 +++---
 libpurple/protocols/yahoo/yahoo_aliases.c |  2 +-
 libpurple/protocols/zephyr/zephyr.c       |  2 +-
 pidgin/gtksound.c                         |  2 +-
 10 files changed, 14 insertions(+), 14 deletions(-)

diffs (144 lines):

diff --git a/finch/gntsound.c b/finch/gntsound.c
--- a/finch/gntsound.c
+++ b/finch/gntsound.c
@@ -597,7 +597,7 @@ finch_sound_play_event(PurpleSoundEventI
 	/* check NULL for sounds that don't have an option, ie buddy pounce */
 	if (purple_prefs_get_bool(enable_pref)) {
 		char *filename = g_strdup(purple_prefs_get_path(file_pref));
-		if (!filename || !strlen(filename)) {
+		if (!filename || *filename == '\0') {
 			g_free(filename);
 			filename = g_build_filename(PURPLE_DATADIR,
 				"sounds", "purple", sounds[event].def, NULL);
diff --git a/libpurple/protocols/gg/blist.c b/libpurple/protocols/gg/blist.c
--- a/libpurple/protocols/gg/blist.c
+++ b/libpurple/protocols/gg/blist.c
@@ -137,7 +137,7 @@ void ggp_buddylist_load(PurpleConnection
 		}
 
 		buddy = purple_buddy_new(purple_connection_get_account(gc),
-			name, strlen(show) ? show : NULL);
+			name, *show == '\0' ? NULL : show);
 
 		if (!(group = purple_blist_find_group(g))) {
 			group = purple_group_new(g);
diff --git a/libpurple/protocols/gg/roster.c b/libpurple/protocols/gg/roster.c
--- a/libpurple/protocols/gg/roster.c
+++ b/libpurple/protocols/gg/roster.c
@@ -497,7 +497,7 @@ static gboolean ggp_roster_reply_list_re
 	g_hash_table_insert(content->contact_nodes, GINT_TO_POINTER(uin), node);
 
 	/* check, if alias is set */
-	if (strlen(alias) == 0 ||
+	if (*alias == '\0' ||
 		strcmp(alias, ggp_uin_to_str(uin)) == 0)
 	{
 		g_free(alias);
diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c
--- a/libpurple/protocols/irc/irc.c
+++ b/libpurple/protocols/irc/irc.c
@@ -435,7 +435,7 @@ static gboolean do_login(PurpleConnectio
 	}
 
 	buf = irc_format(irc, "vvvv:", "USER", tmp ? tmp : identname, "*", server,
-	                 strlen(realname) ? realname : IRC_DEFAULT_ALIAS);
+	                 *realname == '\0' ? IRC_DEFAULT_ALIAS : realname);
 	g_free(tmp);
 	g_free(server);
 	if (irc_send(irc, buf) < 0) {
diff --git a/libpurple/protocols/oscar/family_bart.c b/libpurple/protocols/oscar/family_bart.c
--- a/libpurple/protocols/oscar/family_bart.c
+++ b/libpurple/protocols/oscar/family_bart.c
@@ -100,7 +100,7 @@ aim_bart_request(OscarData *od, const ch
 	ByteStream bs;
 	aim_snacid_t snacid;
 
-	if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_BART)) || !bn || !strlen(bn) || !iconcsum || !iconcsumlen)
+	if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_BART)) || !bn || *bn == '\0' || !iconcsum || !iconcsumlen)
 		return -EINVAL;
 
 	byte_stream_new(&bs, 1+strlen(bn) + 4 + 1+iconcsumlen);
diff --git a/libpurple/protocols/oscar/family_icbm.c b/libpurple/protocols/oscar/family_icbm.c
--- a/libpurple/protocols/oscar/family_icbm.c
+++ b/libpurple/protocols/oscar/family_icbm.c
@@ -1352,11 +1352,11 @@ static int incomingim_ch2(OscarData *od,
 	if (aim_tlv_gettlv(list2, 0x0010, 1))
 		args.use_proxy = TRUE;
 
-	if (strlen(proxyip))
+	if (*proxyip != '\0')
 		args.proxyip = (char *)proxyip;
-	if (strlen(clientip))
+	if (*clientip != '\0')
 		args.clientip = (char *)clientip;
-	if (strlen(verifiedip))
+	if (*verifiedip != '\0')
 		args.verifiedip = (char *)verifiedip;
 
 	/*
diff --git a/libpurple/protocols/silc/util.c b/libpurple/protocols/silc/util.c
--- a/libpurple/protocols/silc/util.c
+++ b/libpurple/protocols/silc/util.c
@@ -500,7 +500,7 @@ silcpurple_parse_attrs(SilcDList attrs, 
 		if (mood & SILC_ATTRIBUTE_MOOD_ANXIOUS)
 			g_string_append_printf(s, "[%s] ", _("Anxious"));
 	}
-	if (strlen(s->str)) {
+	if (*s->str != '\0') {
 		*moodstr = g_string_free(s, FALSE);
 		g_strchomp(*moodstr);
 	} else
@@ -529,7 +529,7 @@ silcpurple_parse_attrs(SilcDList attrs, 
 		if (contact & SILC_ATTRIBUTE_CONTACT_VIDEO)
 			g_string_append_printf(s, "[%s] ", _("Video Conferencing"));
 	}
-	if (strlen(s->str)) {
+	if (*s->str != '\0') {
 		*contactstr = g_string_free(s, FALSE);
 		g_strchomp(*contactstr);
 	} else
@@ -558,7 +558,7 @@ silcpurple_parse_attrs(SilcDList attrs, 
 				device.model ? device.model : "",
 				device.language ? device.language : "");
 	}
-	if (strlen(s->str))
+	if (*s->str != '\0')
 		*devicestr = g_string_free(s, FALSE);
 	else
 		g_string_free(s, TRUE);
diff --git a/libpurple/protocols/yahoo/yahoo_aliases.c b/libpurple/protocols/yahoo/yahoo_aliases.c
--- a/libpurple/protocols/yahoo/yahoo_aliases.c
+++ b/libpurple/protocols/yahoo/yahoo_aliases.c
@@ -133,7 +133,7 @@ yahoo_fetch_aliases_cb(PurpleHttpConnect
 
 				if (nick_name != NULL)
 					alias = nick_name;   /* If we have a nickname from Yahoo, let's use it */
-				else if (strlen(full_name) != 0)
+				else if (*full_name != '\0')
 					alias = full_name;  /* If no Yahoo nickname, we can use the full_name created above */
 
 				/*  Find the local buddy that matches */
diff --git a/libpurple/protocols/zephyr/zephyr.c b/libpurple/protocols/zephyr/zephyr.c
--- a/libpurple/protocols/zephyr/zephyr.c
+++ b/libpurple/protocols/zephyr/zephyr.c
@@ -2456,7 +2456,7 @@ static void zephyr_join_chat(PurpleConne
 	if (!g_ascii_strcasecmp(classname,"%canon%"))
 		classname = g_strdup(zephyr->ourhostcanon);
 
-	if (!instname || !strlen(instname))
+	if (!instname || *instname == '\0')
 		instname = "*";
 
 	if (!g_ascii_strcasecmp(instname,"%host%"))
diff --git a/pidgin/gtksound.c b/pidgin/gtksound.c
--- a/pidgin/gtksound.c
+++ b/pidgin/gtksound.c
@@ -626,7 +626,7 @@ pidgin_sound_play_event(PurpleSoundEvent
 			}
 		}
 
-		if (!filename || !strlen(filename)) { /* Use Default sounds */
+		if (!filename || *filename == '\0') { /* Use Default sounds */
 			g_free(filename);
 
 			filename = g_build_filename(PURPLE_DATADIR,

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.