Use real MAKE_STRING when possible

This commit is contained in:
mittorn 2017-07-14 13:42:47 +00:00
parent a08bd614fe
commit 00833188da
1 changed files with 8 additions and 1 deletions

View File

@ -39,7 +39,14 @@ extern globalvars_t *gpGlobals;
#if !defined __amd64__ || defined(CLIENT_DLL)
#define MAKE_STRING(str) ((int)(size_t)str - (int)(size_t)STRING(0))
#else
#define MAKE_STRING ALLOC_STRING
static inline int MAKE_STRING(const char *szValue)
{
long long ptrdiff = szValue - STRING(0);
if( ptrdiff > INT_MAX || ptrdiff < INT_MIN )
return ALLOC_STRING(szValue);
else
return (int)ptrdiff;
}
#endif
inline edict_t *FIND_ENTITY_BY_CLASSNAME(edict_t *entStart, const char *pszName)