changeset 5638:f2a1b973c9b9 draft

(svn r8097) Replace strlen() {==,!=,>} 0 by the more concise {,!}StrEmpty(). Additionally the test takes O(1) instead of O(n) now
author tron <tron@openttd.org>
date Sat, 13 Jan 2007 15:00:16 +0000
parents 2ea5b88a8a32
children 1b30f6b14a8a
files src/fontcache.cpp src/network/network_server.cpp src/network/network_udp.cpp src/newgrf_gui.cpp src/string.h
diffstat 5 files changed, 13 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/fontcache.cpp
+++ b/src/fontcache.cpp
@@ -235,7 +235,7 @@
 {
 	FT_Error error;
 
-	if (strlen(font_name) == 0) return;
+	if (StrEmpty(font_name)) return;
 
 	error = FT_New_Face(_library, font_name, 0, face);
 
@@ -278,7 +278,7 @@
 
 void InitFreeType(void)
 {
-	if (strlen(_freetype.small_font) == 0 && strlen(_freetype.medium_font) == 0 && strlen(_freetype.large_font) == 0) {
+	if (StrEmpty(_freetype.small_font) && StrEmpty(_freetype.medium_font) && StrEmpty(_freetype.large_font)) {
 		DEBUG(freetype, 1, "No font faces specified, using sprite fonts instead");
 		return;
 	}
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -1291,8 +1291,9 @@
 
 		ci = DEREF_CLIENT_INFO(cs);
 		if (ci != NULL && IsValidPlayer(ci->client_playas)) {
-			if (strlen(_network_player_info[ci->client_playas].players) != 0)
+			if (!StrEmpty(_network_player_info[ci->client_playas].players)) {
 				ttd_strlcat(_network_player_info[ci->client_playas].players, ", ", lengthof(_network_player_info[0].players));
+			}
 
 			ttd_strlcat(_network_player_info[ci->client_playas].players, client_name, lengthof(_network_player_info[0].players));
 		}
--- a/src/network/network_udp.cpp
+++ b/src/network/network_udp.cpp
@@ -238,7 +238,7 @@
 		 * the current list and do not send the other data.
 		 * The name could be an empty string, if so take the filename. */
 		packet_len += sizeof(c.grfid) + sizeof(c.md5sum) +
-				min(strlen((f->name != NULL && strlen(f->name) > 0) ? f->name : f->filename) + 1, (size_t)NETWORK_GRF_NAME_LENGTH);
+				min(strlen((f->name != NULL && !StrEmpty(f->name)) ? f->name : f->filename) + 1, (size_t)NETWORK_GRF_NAME_LENGTH);
 		if (packet_len > SEND_MTU - 4) { // 4 is 3 byte header + grf count in reply
 			break;
 		}
@@ -254,7 +254,7 @@
 		char name[NETWORK_GRF_NAME_LENGTH];
 
 		/* The name could be an empty string, if so take the filename */
-		ttd_strlcpy(name, (in_reply[i]->name != NULL && strlen(in_reply[i]->name) > 0) ?
+		ttd_strlcpy(name, (in_reply[i]->name != NULL && !StrEmpty(in_reply[i]->name)) ?
 				in_reply[i]->name : in_reply[i]->filename, sizeof(name));
 	 	this->Send_GRFIdentifier(packet, in_reply[i]);
 		NetworkSend_string(packet, name);
@@ -395,7 +395,7 @@
 
 		/* An empty name is not possible under normal circumstances
 		 * and causes problems when showing the NewGRF list. */
-		if (strlen(name) == 0) continue;
+		if (StrEmpty(name)) continue;
 
 		/* Finds the fake GRFConfig for the just read GRF ID and MD5sum tuple.
 		 * If it exists and not resolved yet, then name of the fake GRF is
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -75,7 +75,7 @@
 	if (HASBIT(c->flags, GCF_DISABLED))  y += DrawStringMultiLine(x, y, STR_NEWGRF_DISABLED, w);
 
 	/* Draw GRF info if it exists */
-	if (c->info != NULL && strlen(c->info) != 0) {
+	if (c->info != NULL && !StrEmpty(c->info)) {
 		SetDParamStr(0, c->info);
 		y += DrawStringMultiLine(x, y, STR_02BD, w);
 	} else {
@@ -116,7 +116,7 @@
 			for (c = _all_grfs; c != NULL; c = c->next) {
 				if (n >= w->vscroll.pos && n < w->vscroll.pos + w->vscroll.cap) {
 					bool h = c == WP(w, newgrf_add_d).sel;
-					const char *text = (c->name != NULL && strlen(c->name) != 0) ? c->name : c->filename;
+					const char *text = (c->name != NULL && !StrEmpty(c->name)) ? c->name : c->filename;
 
 					/* Draw selection background */
 					if (h) GfxFillRect(3, y, w->width - 15, y + 9, 156);
@@ -310,7 +310,7 @@
 			y = w->widget[SNGRFS_FILE_LIST].top;
 			for (c = *WP(w, newgrf_d).list, i = 0; c != NULL; c = c->next, i++) {
 				if (i >= w->vscroll.pos && i < w->vscroll.pos + w->vscroll.cap) {
-					const char *text = (c->name != NULL && strlen(c->name) != 0) ? c->name : c->filename;
+					const char *text = (c->name != NULL && !StrEmpty(c->name)) ? c->name : c->filename;
 					PalSpriteID pal;
 
 					/* Pick a colour */
--- a/src/string.h
+++ b/src/string.h
@@ -47,6 +47,9 @@
 void strtolower(char *str);
 
 
+static inline bool StrEmpty(const char* s) { return s[0] == '\0'; }
+
+
 /** Get the length of a string, within a limited buffer */
 static inline int ttd_strnlen(const char *str, int maxlen)
 {