# HG changeset patch # User Darkvater # Date 1154383894 0 # Node ID de110fe3f268757d366fbe7e006917eac1322a45 # Parent 62d509647d9435a3ca2dd43a2530851f2300005e (svn r5684) - Codechange: create an strtolower() function that uses tolower() on a whole string and apply it in the places this was used. diff --git a/fileio.c b/fileio.c --- a/fileio.c +++ b/fileio.c @@ -4,11 +4,9 @@ #include "openttd.h" #include "fileio.h" #include "functions.h" +#include "string.h" #include "macros.h" #include "variables.h" -#if defined(UNIX) || defined(__OS2__) -#include // required for tolower() -#endif /*************************************************/ /* FILE IO ROUTINES ******************************/ @@ -114,20 +112,16 @@ f = fopen(buf, "rb"); #if !defined(WIN32) - if (f == NULL) { - char *s; - // Make lower case and try again - for (s = buf + strlen(_path.data_dir) - 1; *s != 0; s++) - *s = tolower(*s); + if (f == NULL) { // Make lower case and try again + strtolower(buf + strlen(_path.data_dir) - 1); f = fopen(buf, "rb"); #if defined SECOND_DATA_DIR - // tries in the 2nd data directory + // tries in the 2nd data directory if (f == NULL) { sprintf(buf, "%s%s", _path.second_data_dir, filename); - for (s = buf + strlen(_path.second_data_dir) - 1; *s != 0; s++) - *s = tolower(*s); - f = fopen(buf, "rb"); + strtolower(buf + strlen(_path.second_data_dir) - 1); + f = fopen(buf, "rb"); } #endif } @@ -151,18 +145,14 @@ f = fopen(buf, "rb"); #if !defined(WIN32) if (f == NULL) { - char *s; - // Make lower case and try again - for (s = buf + strlen(_path.data_dir) - 1; *s != 0; s++) - *s = tolower(*s); + strtolower(buf + strlen(_path.data_dir) - 1); f = fopen(buf, "rb"); #if defined SECOND_DATA_DIR // tries in the 2nd data directory if (f == NULL) { sprintf(buf, "%s%s", _path.second_data_dir, filename); - for (s = buf + strlen(_path.second_data_dir) - 1; *s != 0; s++) - *s = tolower(*s); + strtolower(buf + strlen(_path.second_data_dir) - 1); f = fopen(buf, "rb"); } #endif @@ -182,19 +172,15 @@ f = fopen(buf, "rb"); #if !defined(WIN32) if (f == NULL) { - char *s; - // Make lower case and try again - for (s = buf + strlen(_path.data_dir) - 1; *s != 0; s++) - *s = tolower(*s); + strtolower(buf + strlen(_path.data_dir) - 1); f = fopen(buf, "rb"); #if defined SECOND_DATA_DIR // tries in the 2nd data directory if (f == NULL) { sprintf(buf, "%s%s", _path.second_data_dir, filename); - for (s = buf + strlen(_path.second_data_dir) - 1; *s != 0; s++) - *s = tolower(*s); - f = fopen(buf, "rb"); + strtolower(buf + strlen(_path.second_data_dir) - 1); + f = fopen(buf, "rb"); } if (f == NULL) diff --git a/gfxinit.c b/gfxinit.c --- a/gfxinit.c +++ b/gfxinit.c @@ -9,6 +9,7 @@ #include "spritecache.h" #include "table/sprites.h" #include "fileio.h" +#include "string.h" #include "newgrf.h" #include "md5.h" #include "variables.h" @@ -123,10 +124,7 @@ #if !defined(WIN32) if (f == NULL) { - char *s; - // make lower case and check again - for (s = buf + strlen(_path.data_dir) - 1; *s != '\0'; s++) - *s = tolower(*s); + strtolower(buf + strlen(_path.data_dir) - 1); f = fopen(buf, "rb"); } #endif diff --git a/string.c b/string.c --- a/string.c +++ b/string.c @@ -4,6 +4,9 @@ #include "string.h" #include +#if defined(UNIX) || defined(__OS2__) +#include // required for tolower() +#endif void ttd_strlcat(char *dst, const char *src, size_t size) { @@ -63,3 +66,8 @@ for (; *str != '\0'; str++) if (!IsValidAsciiChar(*str)) *str = '?'; } + +void strtolower(char *str) +{ + for (; *str != '\0'; str++) *str = tolower(*str); +} diff --git a/string.h b/string.h --- a/string.h +++ b/string.h @@ -29,6 +29,9 @@ * replaces them with a question mark '?' */ void str_validate(char *str); +/** Convert the given string to lowercase */ +void strtolower(char *str); + /** Only allow valid ascii-function codes. Filter special codes like BELL and * so on [we need a special filter here later] * @param key character to be checked