From: Tom <rtp...@us...> - 2011-05-01 02:17:03
|
gemrb: Infinity Engine emulator The branch master has been updated via e9695cb00b4646d5117523e5de481af4ba1703f7 (commit) Summary of changes: gemrb/core/System/String.cpp | 15 ++++++----- gemrb/core/System/String.h | 56 ++++++++++++++++++++++++++++++++++++++++++ gemrb/includes/globals.h | 23 +--------------- gemrb/includes/win32def.h | 5 +-- 4 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 gemrb/core/System/String.h from bd0929a17370e0e489e562c26a0491a921b91b2d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=e9695cb00b4646d5117523e5de481af4ba1703f7 commit e9695cb00b4646d5117523e5de481af4ba1703f7 Author: Tom Prince <tom...@ua...> Date: Sat Apr 30 21:38:13 2011 -0400 Move definitions of string functions to separate header as well. Signed-off-by: Tom Prince <tom...@ua...> diff --git a/gemrb/core/System/String.cpp b/gemrb/core/System/String.cpp index 6d0e9ae..a209cf3 100644 --- a/gemrb/core/System/String.cpp +++ b/gemrb/core/System/String.cpp @@ -16,7 +16,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include "globals.h" +#include "System/String.h" + #include "exports.h" #include <ctype.h> @@ -28,14 +29,14 @@ #endif #endif -ieByte pl_uppercase[256]; -ieByte pl_lowercase[256]; +unsigned char pl_uppercase[256]; +unsigned char pl_lowercase[256]; // these 3 functions will copy a string to a zero terminated string with a maximum length void strnlwrcpy(char *dest, const char *source, int count, bool pad) { while(count--) { - *dest++ = pl_lowercase[(ieByte) *source]; + *dest++ = pl_lowercase[(unsigned char) *source]; if(!*source++) { if (!pad) return; @@ -49,7 +50,7 @@ void strnlwrcpy(char *dest, const char *source, int count, bool pad) void strnuprcpy(char* dest, const char *source, int count) { while(count--) { - *dest++ = pl_uppercase[(ieByte) *source]; + *dest++ = pl_uppercase[(unsigned char) *source]; if(!*source++) { while(count--) *dest++=0; break; @@ -65,9 +66,9 @@ void strnspccpy(char* dest, const char *source, int count, bool upper) while(count--) { char c; if (upper) - c = pl_uppercase[(ieByte) *source]; + c = pl_uppercase[(unsigned char) *source]; else - c = pl_lowercase[(ieByte) *source]; + c = pl_lowercase[(unsigned char) *source]; if (c!=' ') { *dest++=c; } diff --git a/gemrb/core/System/String.h b/gemrb/core/System/String.h new file mode 100644 index 0000000..af2a187 --- /dev/null +++ b/gemrb/core/System/String.h @@ -0,0 +1,56 @@ +/* GemRB - Infinity Engine Emulator + * Copyright (C) 2003 The GemRB Project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef STRING_H +#define STRING_H + +#include "exports.h" + +#include <cstring> + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#ifndef WIN32 +# define stricmp strcasecmp +# define strnicmp strncasecmp +#endif + +/* this function will work with pl/cz special characters */ + +extern unsigned char pl_uppercase[256]; +extern unsigned char pl_lowercase[256]; + +GEM_EXPORT void strnlwrcpy(char* d, const char *s, int l, bool pad = true); +GEM_EXPORT void strnuprcpy(char* d, const char *s, int l); +GEM_EXPORT void strnspccpy(char* d, const char *s, int l, bool upper = false); +#ifndef HAVE_STRNLEN +GEM_EXPORT int strnlen(const char* string, int maxlen); +#endif +GEM_EXPORT int strlench(const char* string, char ch); +#ifndef HAVE_STRNDUP +GEM_EXPORT char* strndup(const char* s, size_t l); +#endif + +#ifndef WIN32 +GEM_EXPORT char* strupr(char* string); +GEM_EXPORT char* strlwr(char* string); +#endif + +#endif diff --git a/gemrb/includes/globals.h b/gemrb/includes/globals.h index 4d00f7c..600d1c7 100644 --- a/gemrb/includes/globals.h +++ b/gemrb/includes/globals.h @@ -53,9 +53,10 @@ #include "win32def.h" #include "AnimStructures.h" -#include "System/DataStream.h" #include "Region.h" #include "Sprite2D.h" +#include "System/DataStream.h" +#include "System/String.h" #include <cstdio> #include <cstdlib> @@ -166,17 +167,6 @@ class Scriptable; class Actor; -/* this function will work with pl/cz special characters */ - -extern unsigned char pl_uppercase[256]; -extern unsigned char pl_lowercase[256]; - -GEM_EXPORT void strnlwrcpy(char* d, const char *s, int l, bool pad = true); -GEM_EXPORT void strnuprcpy(char* d, const char *s, int l); -GEM_EXPORT void strnspccpy(char* d, const char *s, int l, bool upper = false); -#ifndef HAVE_STRNLEN -GEM_EXPORT int strnlen(const char* string, int maxlen); -#endif GEM_EXPORT unsigned char GetOrient(const Point &s, const Point &d); GEM_EXPORT unsigned int Distance(const Point pos, const Point pos2); GEM_EXPORT unsigned int Distance(const Point pos, Scriptable *b); @@ -190,15 +180,6 @@ GEM_EXPORT unsigned int SquaredPersonalDistance(Scriptable *a, Scriptable *b); GEM_EXPORT unsigned int SquaredMapDistance(Scriptable *a, Scriptable *b); GEM_EXPORT int EARelation(Scriptable *a, Actor *b); GEM_EXPORT bool dir_exists(const char* path); -GEM_EXPORT int strlench(const char* string, char ch); -#ifndef HAVE_STRNDUP -GEM_EXPORT char* strndup(const char* s, size_t l); -#endif - -#ifndef WIN32 -GEM_EXPORT char* strupr(char* string); -GEM_EXPORT char* strlwr(char* string); -#endif #ifdef WIN32 #define GetTime(store) store = GetTickCount() diff --git a/gemrb/includes/win32def.h b/gemrb/includes/win32def.h index 1a8d431..f8588f3 100644 --- a/gemrb/includes/win32def.h +++ b/gemrb/includes/win32def.h @@ -30,6 +30,8 @@ #include "exports.h" +#include "System/String.h" + #ifdef WIN32 # define WIN32_LEAN_AND_MEAN # include <windows.h> @@ -50,10 +52,7 @@ # endif # include <cstdio> # include <cstdlib> -# include <cstring> -# define stricmp strcasecmp -# define strnicmp strncasecmp #endif //WIN32 #if defined(WIN32) && !defined(__MINGW32__) ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |