Reduce dependence on sm_strdup.
This commit is contained in:
parent
13a783d441
commit
86f0a77e73
@ -60,10 +60,8 @@ bool g_bSupressSilentFails = false;
|
|||||||
ChatTriggers::ChatTriggers() : m_pSayCmd(NULL), m_bWillProcessInPost(false),
|
ChatTriggers::ChatTriggers() : m_pSayCmd(NULL), m_bWillProcessInPost(false),
|
||||||
m_ReplyTo(SM_REPLY_CONSOLE), m_ArgSBackup(NULL)
|
m_ReplyTo(SM_REPLY_CONSOLE), m_ArgSBackup(NULL)
|
||||||
{
|
{
|
||||||
m_PubTrigger = sm_strdup("!");
|
m_PubTrigger = "!";
|
||||||
m_PrivTrigger = sm_strdup("/");
|
m_PrivTrigger = "/";
|
||||||
m_PubTriggerSize = 1;
|
|
||||||
m_PrivTriggerSize = 1;
|
|
||||||
m_bIsChatTrigger = false;
|
m_bIsChatTrigger = false;
|
||||||
m_bPluginIgnored = true;
|
m_bPluginIgnored = true;
|
||||||
#if SOURCE_ENGINE == SE_EPISODEONE
|
#if SOURCE_ENGINE == SE_EPISODEONE
|
||||||
@ -73,10 +71,6 @@ ChatTriggers::ChatTriggers() : m_pSayCmd(NULL), m_bWillProcessInPost(false),
|
|||||||
|
|
||||||
ChatTriggers::~ChatTriggers()
|
ChatTriggers::~ChatTriggers()
|
||||||
{
|
{
|
||||||
delete [] m_PubTrigger;
|
|
||||||
m_PubTrigger = NULL;
|
|
||||||
delete [] m_PrivTrigger;
|
|
||||||
m_PrivTrigger = NULL;
|
|
||||||
delete [] m_ArgSBackup;
|
delete [] m_ArgSBackup;
|
||||||
m_ArgSBackup = NULL;
|
m_ArgSBackup = NULL;
|
||||||
}
|
}
|
||||||
@ -89,16 +83,12 @@ ConfigResult ChatTriggers::OnSourceModConfigChanged(const char *key,
|
|||||||
{
|
{
|
||||||
if (strcmp(key, "PublicChatTrigger") == 0)
|
if (strcmp(key, "PublicChatTrigger") == 0)
|
||||||
{
|
{
|
||||||
delete [] m_PubTrigger;
|
m_PubTrigger = value;
|
||||||
m_PubTrigger = sm_strdup(value);
|
|
||||||
m_PubTriggerSize = strlen(m_PubTrigger);
|
|
||||||
return ConfigResult_Accept;
|
return ConfigResult_Accept;
|
||||||
}
|
}
|
||||||
else if (strcmp(key, "SilentChatTrigger") == 0)
|
else if (strcmp(key, "SilentChatTrigger") == 0)
|
||||||
{
|
{
|
||||||
delete [] m_PrivTrigger;
|
m_PrivTrigger = value;
|
||||||
m_PrivTrigger = sm_strdup(value);
|
|
||||||
m_PrivTriggerSize = strlen(m_PrivTrigger);
|
|
||||||
return ConfigResult_Accept;
|
return ConfigResult_Accept;
|
||||||
}
|
}
|
||||||
else if (strcmp(key, "SilentFailSuppress") == 0)
|
else if (strcmp(key, "SilentFailSuppress") == 0)
|
||||||
@ -323,16 +313,16 @@ void ChatTriggers::OnSayCommand_Pre()
|
|||||||
bool is_silent = false;
|
bool is_silent = false;
|
||||||
|
|
||||||
/* Check for either trigger */
|
/* Check for either trigger */
|
||||||
if (m_PubTriggerSize && strncmp(m_ArgSBackup, m_PubTrigger, m_PubTriggerSize) == 0)
|
if (m_PubTrigger.length() && strncmp(m_ArgSBackup, m_PubTrigger.chars(), m_PubTrigger.length()) == 0)
|
||||||
{
|
{
|
||||||
is_trigger = true;
|
is_trigger = true;
|
||||||
args = &m_ArgSBackup[m_PubTriggerSize];
|
args = &m_ArgSBackup[m_PubTrigger.length()];
|
||||||
}
|
}
|
||||||
else if (m_PrivTriggerSize && strncmp(m_ArgSBackup, m_PrivTrigger, m_PrivTriggerSize) == 0)
|
else if (m_PrivTrigger.length() && strncmp(m_ArgSBackup, m_PrivTrigger.chars(), m_PrivTrigger.length()) == 0)
|
||||||
{
|
{
|
||||||
is_trigger = true;
|
is_trigger = true;
|
||||||
is_silent = true;
|
is_silent = true;
|
||||||
args = &m_ArgSBackup[m_PrivTriggerSize];
|
args = &m_ArgSBackup[m_PrivTrigger.length()];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 tw=99 noet :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod
|
* SourceMod
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
||||||
@ -37,6 +37,7 @@
|
|||||||
#include <IGameHelpers.h>
|
#include <IGameHelpers.h>
|
||||||
#include <compat_wrappers.h>
|
#include <compat_wrappers.h>
|
||||||
#include <IForwardSys.h>
|
#include <IForwardSys.h>
|
||||||
|
#include <amtl/am-string.h>
|
||||||
|
|
||||||
class ChatTriggers : public SMGlobalClass
|
class ChatTriggers : public SMGlobalClass
|
||||||
{
|
{
|
||||||
@ -81,10 +82,8 @@ private:
|
|||||||
#elif SOURCE_ENGINE == SE_NUCLEARDAWN
|
#elif SOURCE_ENGINE == SE_NUCLEARDAWN
|
||||||
ConCommand *m_pSaySquadCmd;
|
ConCommand *m_pSaySquadCmd;
|
||||||
#endif
|
#endif
|
||||||
char *m_PubTrigger;
|
ke::AString m_PubTrigger;
|
||||||
size_t m_PubTriggerSize;
|
ke::AString m_PrivTrigger;
|
||||||
char *m_PrivTrigger;
|
|
||||||
size_t m_PrivTriggerSize;
|
|
||||||
bool m_bWillProcessInPost;
|
bool m_bWillProcessInPost;
|
||||||
bool m_bIsChatTrigger;
|
bool m_bIsChatTrigger;
|
||||||
bool m_bWasFloodedMessage;
|
bool m_bWasFloodedMessage;
|
||||||
|
Loading…
Reference in New Issue
Block a user