summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2007-01-13 15:00:16 +0000
committertron <tron@openttd.org>2007-01-13 15:00:16 +0000
commite043c6cef7b8afb694a528218c18a15bae3b5315 (patch)
tree9bb1adc7db26f0d3e419320319b33f692cbcb593
parent64f34d322d806e4ff3404b7d4f59a63aed5a82d3 (diff)
downloadopenttd-e043c6cef7b8afb694a528218c18a15bae3b5315.tar.xz
(svn r8097) Replace strlen() {==,!=,>} 0 by the more concise {,!}StrEmpty(). Additionally the test takes O(1) instead of O(n) now
-rw-r--r--src/fontcache.cpp4
-rw-r--r--src/network/network_server.cpp3
-rw-r--r--src/network/network_udp.cpp6
-rw-r--r--src/newgrf_gui.cpp6
-rw-r--r--src/string.h3
5 files changed, 13 insertions, 9 deletions
diff --git a/src/fontcache.cpp b/src/fontcache.cpp
index ce0a885d5..b44289bc7 100644
--- a/src/fontcache.cpp
+++ b/src/fontcache.cpp
@@ -235,7 +235,7 @@ static void LoadFreeTypeFont(const char *font_name, FT_Face *face, const char *t
{
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 @@ static void LoadFreeTypeFont(const char *font_name, FT_Face *face, const char *t
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;
}
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp
index 59696c940..202220f34 100644
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -1291,8 +1291,9 @@ void NetworkPopulateCompanyInfo(void)
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));
}
diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp
index f6ef19fe3..08a145717 100644
--- a/src/network/network_udp.cpp
+++ b/src/network/network_udp.cpp
@@ -238,7 +238,7 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_GET_NEWGRFS)
* 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 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_GET_NEWGRFS)
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 @@ DEF_UDP_RECEIVE_COMMAND(Client, PACKET_UDP_SERVER_NEWGRFS)
/* 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
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp
index c02ffb701..0854b18f6 100644
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -75,7 +75,7 @@ static void ShowNewGRFInfo(const GRFConfig *c, uint x, uint y, uint w, bool show
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 @@ static void NewGRFAddDlgWndProc(Window *w, WindowEvent *e)
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 @@ static void NewGRFWndProc(Window *w, WindowEvent *e)
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 */
diff --git a/src/string.h b/src/string.h
index c3bc45280..6b9924d63 100644
--- a/src/string.h
+++ b/src/string.h
@@ -47,6 +47,9 @@ typedef enum CharSetFilter {
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)
{