View Raw SPL

static atxerror         = "";
static prev_atx_handler = "";
static prev_atx_errors  = "";

/* xlget/xlput error handler */
xlinitatxerr(mode)
{
        if (argc < 1) mode = 1;

        if (mode)
        {
                if (strlen(prev_atx_handler) <= 0)
                {
                        prev_atx_handler = getconf("activex_error_handler");
                        setconf("activex_error_handler", "xlatxerr");
                }

                if (strlen(prev_atx_errors) <= 0)
                {
                        prev_atx_error   = getconf("activex_errors");
                        setconf("activex_errors", "3");
                }
        }
}



/* activex error handler */
xlatxerr(mes)
{
        if (argc < 1)
        {
                mes = "";
        }

        atxerror = mes;

        return(0);
}


/* return error message */
xlgetatxerr()
{
        return(atxerror);
}


/* reset error handler */
xlresetatxerr()
{
        if (strlen(prev_atx_handler) > 0)
        {
                setconf("activex_error_handler", prev_atx_handler);
                prev_atx_handler = "";
        }

        if (strlen(prev_atx_errors) > 0)
        {
                setconf("activex_errors", prev_atx_errors);
                prev_atx_error   = "";
        }
}