added amb1348 - SetFailState() formatting
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401839
This commit is contained in:
parent
4e07200cfb
commit
1ffd1db733
@ -371,12 +371,35 @@ static cell_t GetPluginInfo(IPluginContext *pContext, const cell_t *params)
|
|||||||
static cell_t SetFailState(IPluginContext *pContext, const cell_t *params)
|
static cell_t SetFailState(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
char *str;
|
char *str;
|
||||||
|
CPlugin *pPlugin;
|
||||||
|
|
||||||
pContext->LocalToString(params[1], &str);
|
pContext->LocalToString(params[1], &str);
|
||||||
|
pPlugin = g_PluginSys.GetPluginByCtx(pContext->GetContext());
|
||||||
|
|
||||||
CPlugin *pPlugin = g_PluginSys.GetPluginByCtx(pContext->GetContext());
|
if (params[0] == 1)
|
||||||
pPlugin->SetErrorState(Plugin_Error, "%s", str);
|
{
|
||||||
|
pPlugin->SetErrorState(Plugin_Error, "%s", str);
|
||||||
|
|
||||||
return pContext->ThrowNativeErrorEx(SP_ERROR_ABORTED, "%s", str);
|
return pContext->ThrowNativeErrorEx(SP_ERROR_ABORTED, "%s", str);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char buffer[2048];
|
||||||
|
|
||||||
|
g_SourceMod.FormatString(buffer, sizeof(buffer), pContext, params, 1);
|
||||||
|
if (pContext->GetContext()->n_err != SP_ERROR_NONE)
|
||||||
|
{
|
||||||
|
pPlugin->SetErrorState(Plugin_Error, "%s", str);
|
||||||
|
return pContext->ThrowNativeErrorEx(SP_ERROR_ABORTED, "Formatting error (%s)", str);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pPlugin->SetErrorState(Plugin_Error, "%s", buffer);
|
||||||
|
return pContext->ThrowNativeErrorEx(SP_ERROR_ABORTED, "%s", buffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t GetSysTickCount(IPluginContext *pContext, const cell_t *params)
|
static cell_t GetSysTickCount(IPluginContext *pContext, const cell_t *params)
|
||||||
|
@ -282,11 +282,21 @@ native Handle:FindPluginByNumber(order_num);
|
|||||||
* Causes the plugin to enter a failed state. An error will be thrown and
|
* Causes the plugin to enter a failed state. An error will be thrown and
|
||||||
* the plugin will be paused until it is unloaded or reloaded.
|
* the plugin will be paused until it is unloaded or reloaded.
|
||||||
*
|
*
|
||||||
* @param string Message to print.
|
* For backwards compatibility, if no extra arguments are passed, no
|
||||||
|
* formatting is applied. If one or more additional arguments is passed,
|
||||||
|
* the string is formatted using Format(). If any errors are encountered
|
||||||
|
* during formatting, both the format specifier string and an additional
|
||||||
|
* error message are written.
|
||||||
|
*
|
||||||
|
* This function does not return, and no further code in the plugin is
|
||||||
|
* executed.
|
||||||
|
*
|
||||||
|
* @param string Format specifier string.
|
||||||
|
* @param ... Formatting arguments.
|
||||||
* @noreturn
|
* @noreturn
|
||||||
* @error Always throws SP_ERROR_ABORT.
|
* @error Always throws SP_ERROR_ABORT.
|
||||||
*/
|
*/
|
||||||
native SetFailState(const String:string[]);
|
native SetFailState(const String:string[], any:...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Aborts the current callback and throws an error. This function
|
* Aborts the current callback and throws an error. This function
|
||||||
|
Loading…
Reference in New Issue
Block a user