Port SMC parsing API to transitional syntax.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* vim: set ts=4 sw=4 tw=99 noet :
|
||||
* =============================================================================
|
||||
* SourceMod Admin File Reader Plugin
|
||||
* Reads the admin_groups.cfg file. Do not compile this directly.
|
||||
@@ -38,13 +38,13 @@
|
||||
#define GROUP_PASS_FIRST 1
|
||||
#define GROUP_PASS_SECOND 2
|
||||
|
||||
static Handle:g_hGroupParser = INVALID_HANDLE;
|
||||
static SMCParser g_hGroupParser;
|
||||
static GroupId:g_CurGrp = INVALID_GROUP_ID;
|
||||
static g_GroupState = GROUP_STATE_NONE;
|
||||
static g_GroupPass = 0;
|
||||
static bool:g_NeedReparse = false;
|
||||
|
||||
public SMCResult:ReadGroups_NewSection(Handle:smc, const String:name[], bool:opt_quotes)
|
||||
public SMCResult ReadGroups_NewSection(SMCParser smc, const char[] name, bool opt_quotes)
|
||||
{
|
||||
if (g_IgnoreLevel)
|
||||
{
|
||||
@@ -80,14 +80,13 @@ public SMCResult:ReadGroups_NewSection(Handle:smc, const String:name[], bool:opt
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadGroups_KeyValue(Handle:smc,
|
||||
const String:key[],
|
||||
const String:value[],
|
||||
bool:key_quotes,
|
||||
bool:value_quotes)
|
||||
public SMCResult ReadGroups_KeyValue(SMCParser smc,
|
||||
const char[] key,
|
||||
const char[] value,
|
||||
bool key_quotes,
|
||||
bool value_quotes)
|
||||
{
|
||||
if (g_CurGrp == INVALID_GROUP_ID
|
||||
|| g_IgnoreLevel)
|
||||
if (g_CurGrp == INVALID_GROUP_ID || g_IgnoreLevel)
|
||||
{
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
@@ -165,7 +164,7 @@ public SMCResult:ReadGroups_KeyValue(Handle:smc,
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadGroups_EndSection(Handle:smc)
|
||||
public SMCResult ReadGroups_EndSection(SMCParser smc)
|
||||
{
|
||||
/* If we're ignoring, skip out */
|
||||
if (g_IgnoreLevel)
|
||||
@@ -187,7 +186,7 @@ public SMCResult:ReadGroups_EndSection(Handle:smc)
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadGroups_CurrentLine(Handle:smc, const String:line[], lineno)
|
||||
public SMCResult ReadGroups_CurrentLine(SMCParser smc, const char[] line, int lineno)
|
||||
{
|
||||
g_CurrentLine = lineno;
|
||||
|
||||
@@ -196,14 +195,13 @@ public SMCResult:ReadGroups_CurrentLine(Handle:smc, const String:line[], lineno)
|
||||
|
||||
static InitializeGroupParser()
|
||||
{
|
||||
if (g_hGroupParser == INVALID_HANDLE)
|
||||
if (!g_hGroupParser)
|
||||
{
|
||||
g_hGroupParser = SMC_CreateParser();
|
||||
SMC_SetReaders(g_hGroupParser,
|
||||
ReadGroups_NewSection,
|
||||
ReadGroups_KeyValue,
|
||||
ReadGroups_EndSection);
|
||||
SMC_SetRawLine(g_hGroupParser, ReadGroups_CurrentLine);
|
||||
g_hGroupParser = SMCParser();
|
||||
g_hGroupParser.OnEnterSection = ReadGroups_NewSection;
|
||||
g_hGroupParser.OnKeyValue = ReadGroups_KeyValue;
|
||||
g_hGroupParser.OnLeaveSection = ReadGroups_EndSection;
|
||||
g_hGroupParser.OnRawLine = ReadGroups_CurrentLine;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,11 +214,11 @@ static InternalReadGroups(const String:path[], pass)
|
||||
g_GroupPass = pass;
|
||||
g_NeedReparse = false;
|
||||
|
||||
new SMCError:err = SMC_ParseFile(g_hGroupParser, path);
|
||||
SMCError err = g_hGroupParser.ParseFile(path);
|
||||
if (err != SMCError_Okay)
|
||||
{
|
||||
decl String:buffer[64];
|
||||
if (SMC_GetErrorString(err, buffer, sizeof(buffer)))
|
||||
char buffer[64];
|
||||
if (g_hGroupParser.GetErrorString(err, buffer, sizeof(buffer)))
|
||||
{
|
||||
ParseError("%s", buffer);
|
||||
} else {
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
#define OVERRIDE_STATE_LEVELS 1
|
||||
#define OVERRIDE_STATE_OVERRIDES 2
|
||||
|
||||
static Handle:g_hOldOverrideParser = INVALID_HANDLE;
|
||||
static Handle:g_hNewOverrideParser = INVALID_HANDLE;
|
||||
static SMCParser g_hOldOverrideParser;
|
||||
static SMCParser g_hNewOverrideParser;
|
||||
static g_OverrideState = OVERRIDE_STATE_NONE;
|
||||
|
||||
public SMCResult:ReadOldOverrides_NewSection(Handle:smc, const String:name[], bool:opt_quotes)
|
||||
public SMCResult ReadOldOverrides_NewSection(SMCParser smc, const char[] name, bool opt_quotes)
|
||||
{
|
||||
if (g_IgnoreLevel)
|
||||
{
|
||||
@@ -70,7 +70,7 @@ public SMCResult:ReadOldOverrides_NewSection(Handle:smc, const String:name[], bo
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadNewOverrides_NewSection(Handle:smc, const String:name[], bool:opt_quotes)
|
||||
public SMCResult ReadNewOverrides_NewSection(SMCParser smc, const char[] name, bool opt_quotes)
|
||||
{
|
||||
if (g_IgnoreLevel)
|
||||
{
|
||||
@@ -93,19 +93,18 @@ public SMCResult:ReadNewOverrides_NewSection(Handle:smc, const String:name[], bo
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadOverrides_KeyValue(Handle:smc,
|
||||
const String:key[],
|
||||
const String:value[],
|
||||
bool:key_quotes,
|
||||
bool:value_quotes)
|
||||
public SMCResult ReadOverrides_KeyValue(SMCParser smc,
|
||||
const char[] key,
|
||||
const char[] value,
|
||||
bool key_quotes,
|
||||
bool value_quotes)
|
||||
{
|
||||
if (g_OverrideState != OVERRIDE_STATE_OVERRIDES
|
||||
|| g_IgnoreLevel)
|
||||
if (g_OverrideState != OVERRIDE_STATE_OVERRIDES || g_IgnoreLevel)
|
||||
{
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
new flags = ReadFlagString(value);
|
||||
int flags = ReadFlagString(value);
|
||||
|
||||
if (key[0] == '@')
|
||||
{
|
||||
@@ -117,7 +116,7 @@ public SMCResult:ReadOverrides_KeyValue(Handle:smc,
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadOldOverrides_EndSection(Handle:smc)
|
||||
public SMCResult ReadOldOverrides_EndSection(SMCParser smc)
|
||||
{
|
||||
/* If we're ignoring, skip out */
|
||||
if (g_IgnoreLevel)
|
||||
@@ -138,7 +137,7 @@ public SMCResult:ReadOldOverrides_EndSection(Handle:smc)
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadNewOverrides_EndSection(Handle:smc)
|
||||
public SMCResult ReadNewOverrides_EndSection(SMCParser smc)
|
||||
{
|
||||
/* If we're ignoring, skip out */
|
||||
if (g_IgnoreLevel)
|
||||
@@ -155,7 +154,7 @@ public SMCResult:ReadNewOverrides_EndSection(Handle:smc)
|
||||
return SMCParse_Continue;
|
||||
}
|
||||
|
||||
public SMCResult:ReadOverrides_CurrentLine(Handle:smc, const String:line[], lineno)
|
||||
public SMCResult ReadOverrides_CurrentLine(SMCParser smc, const char[] line, int lineno)
|
||||
{
|
||||
g_CurrentLine = lineno;
|
||||
|
||||
@@ -164,27 +163,25 @@ public SMCResult:ReadOverrides_CurrentLine(Handle:smc, const String:line[], line
|
||||
|
||||
static InitializeOverrideParsers()
|
||||
{
|
||||
if (g_hOldOverrideParser == INVALID_HANDLE)
|
||||
if (!g_hOldOverrideParser)
|
||||
{
|
||||
g_hOldOverrideParser = SMC_CreateParser();
|
||||
SMC_SetReaders(g_hOldOverrideParser,
|
||||
ReadOldOverrides_NewSection,
|
||||
ReadOverrides_KeyValue,
|
||||
ReadOldOverrides_EndSection);
|
||||
SMC_SetRawLine(g_hOldOverrideParser, ReadOverrides_CurrentLine);
|
||||
g_hOldOverrideParser = SMCParser();
|
||||
g_hOldOverrideParser.OnEnterSection = ReadOldOverrides_NewSection;
|
||||
g_hOldOverrideParser.OnKeyValue = ReadOverrides_KeyValue;
|
||||
g_hOldOverrideParser.OnLeaveSection = ReadOldOverrides_EndSection;
|
||||
g_hOldOverrideParser.OnRawLine = ReadOverrides_CurrentLine;
|
||||
}
|
||||
if (g_hNewOverrideParser == INVALID_HANDLE)
|
||||
if (!g_hNewOverrideParser)
|
||||
{
|
||||
g_hNewOverrideParser = SMC_CreateParser();
|
||||
SMC_SetReaders(g_hNewOverrideParser,
|
||||
ReadNewOverrides_NewSection,
|
||||
ReadOverrides_KeyValue,
|
||||
ReadNewOverrides_EndSection);
|
||||
SMC_SetRawLine(g_hNewOverrideParser, ReadOverrides_CurrentLine);
|
||||
g_hNewOverrideParser = SMCParser();
|
||||
g_hNewOverrideParser.OnEnterSection = ReadNewOverrides_NewSection;
|
||||
g_hNewOverrideParser.OnKeyValue = ReadOverrides_KeyValue;
|
||||
g_hNewOverrideParser.OnLeaveSection = ReadNewOverrides_EndSection;
|
||||
g_hNewOverrideParser.OnRawLine = ReadOverrides_CurrentLine;
|
||||
}
|
||||
}
|
||||
|
||||
InternalReadOverrides(Handle:parser, const String:file[])
|
||||
InternalReadOverrides(SMCParser parser, const char[] file)
|
||||
{
|
||||
BuildPath(Path_SM, g_Filename, sizeof(g_Filename), file);
|
||||
|
||||
@@ -192,11 +189,11 @@ InternalReadOverrides(Handle:parser, const String:file[])
|
||||
InitGlobalStates();
|
||||
g_OverrideState = OVERRIDE_STATE_NONE;
|
||||
|
||||
new SMCError:err = SMC_ParseFile(parser, g_Filename);
|
||||
SMCError err = parser.ParseFile(g_Filename);
|
||||
if (err != SMCError_Okay)
|
||||
{
|
||||
decl String:buffer[64];
|
||||
if (SMC_GetErrorString(err, buffer, sizeof(buffer)))
|
||||
char buffer[64];
|
||||
if (parser.GetErrorString(err, buffer, sizeof(buffer)))
|
||||
{
|
||||
ParseError("%s", buffer);
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* vim: set ts=4 :
|
||||
* vim: set ts=4 sw=4 tw=99 noet :
|
||||
* =============================================================================
|
||||
* SourceMod Admin File Reader Plugin
|
||||
* Reads the admins.cfg file. Do not compile this directly.
|
||||
@@ -35,7 +35,7 @@
|
||||
#define USER_STATE_ADMINS 1
|
||||
#define USER_STATE_INADMIN 2
|
||||
|
||||
static Handle:g_hUserParser = INVALID_HANDLE;
|
||||
static SMCParser g_hUserParser;
|
||||
static g_UserState = USER_STATE_NONE;
|
||||
static String:g_CurAuth[64];
|
||||
static String:g_CurIdent[64];
|
||||
@@ -210,14 +210,13 @@ public SMCResult:ReadUsers_CurrentLine(Handle:smc, const String:line[], lineno)
|
||||
|
||||
static InitializeUserParser()
|
||||
{
|
||||
if (g_hUserParser == INVALID_HANDLE)
|
||||
if (!g_hUserParser)
|
||||
{
|
||||
g_hUserParser = SMC_CreateParser();
|
||||
SMC_SetReaders(g_hUserParser,
|
||||
ReadUsers_NewSection,
|
||||
ReadUsers_KeyValue,
|
||||
ReadUsers_EndSection);
|
||||
SMC_SetRawLine(g_hUserParser, ReadUsers_CurrentLine);
|
||||
g_hUserParser = SMCParser();
|
||||
g_hUserParser.OnEnterSection = ReadUsers_NewSection;
|
||||
g_hUserParser.OnKeyValue = ReadUsers_KeyValue;
|
||||
g_hUserParser.OnLeaveSection = ReadUsers_EndSection;
|
||||
g_hUserParser.OnRawLine = ReadUsers_CurrentLine;
|
||||
|
||||
g_GroupArray = CreateArray();
|
||||
}
|
||||
@@ -233,11 +232,11 @@ ReadUsers()
|
||||
InitGlobalStates();
|
||||
g_UserState = USER_STATE_NONE;
|
||||
|
||||
new SMCError:err = SMC_ParseFile(g_hUserParser, g_Filename);
|
||||
SMCError err = g_hUserParser.ParseFile(g_Filename);
|
||||
if (err != SMCError_Okay)
|
||||
{
|
||||
decl String:buffer[64];
|
||||
if (SMC_GetErrorString(err, buffer, sizeof(buffer)))
|
||||
char buffer[64];
|
||||
if (g_hUserParser.GetErrorString(err, buffer, sizeof(buffer)))
|
||||
{
|
||||
ParseError("%s", buffer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user