added strncmp

renamed StrCompare to strcmp

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40686
This commit is contained in:
David Anderson 2007-04-11 16:24:50 +00:00
parent 3474ba74a5
commit e42773b07d
3 changed files with 40 additions and 1 deletions

View File

@ -74,6 +74,21 @@ static cell_t sm_strcmp(IPluginContext *pCtx, const cell_t *params)
return (func(str1, str2));
}
static cell_t sm_strncmp(IPluginContext *pCtx, const cell_t *params)
{
char *str1, *str2;
pCtx->LocalToString(params[1], &str1);
pCtx->LocalToString(params[2], &str2);
if (params[4])
{
return strncmp(str1, str2, (size_t)params[3]);
} else {
return strncasecmp(str1, str2, (size_t)params[3]);
}
}
static cell_t sm_strcopy(IPluginContext *pCtx, const cell_t *params)
{
char *dest, *src;
@ -316,6 +331,7 @@ REGISTER_NATIVES(basicStrings)
{"StrBreak", StrBreak},
{"StrContains", sm_contain},
{"StrCompare", sm_strcmp},
{"StrCompareN", sm_strncmp},
{"StrCopy", sm_strcopy},
{"StringToInt", sm_strconvint},
{"IntToString", sm_numtostr},

View File

@ -55,7 +55,29 @@ native StrContains(const String:str[], const String:substr[], bool:caseSensitive
* 0 if str1 == str2
* 1 if str1 > str2
*/
native StrCompare(const String:str1[], const String:str2[], bool:caseSensitive=true);
native strcmp(const String:str1[], const String:str2[], bool:caseSensitive=true);
/**
* Compares two strings parts lexographically.
*
* @param str1 First string (left).
* @param str2 Second string (right).
* @param num Number of characters to compare.
* @param caseSensitive If true (default), comparison is case sensitive.
* If false, comparison is case insensitive.
* @return -1 if str1 < str2
* 0 if str1 == str2
* 1 if str1 > str2
*/
native strncmp(const String:str1[], const String:str2[], num, bool:caseSensitive=true);
/**
* Backwards compatible stock - StrCompare is now strcmp
*/
stock StrCompare(const String:str1[], const String:str2[], bool:caseSensitive=true)
{
return strcmp(str1, str2, caseSensitive);
}
/**
* Returns whether two strings are equal.

View File

@ -34,6 +34,7 @@
#define stat _stat
#endif
#define strcasecmp strcmpi
#define strncasecmp strnicmp
#include <windows.h>
#include <direct.h>
#define PLATFORM_LIB_EXT "dll"