Exemple #1
0
static cell AMX_NATIVE_CALL dbg_trace_info(AMX *amx, cell *params)
{
    Debugger *pDebugger = (Debugger *)amx->userdata[UD_DEBUGGER];

    if (!pDebugger)
        return 0;

    trace_info_t *pTrace = (trace_info_t *)(params[1]);

    if (!pTrace)
        return 0;

    cell *line_addr = get_amxaddr(amx, params[2]);
    long lLine=-1;
    const char *function=NULL, *file=NULL;

    pDebugger->GetTraceInfo(pTrace, lLine, function, file);

    set_amxstring(amx, params[3], function ? function : "", params[4]);
    set_amxstring(amx, params[5], file ? file : "", params[5]);
    *line_addr = (cell)lLine + 1;

    return 1;
}