static int ffserver_set_int_param(int *dest, const char *value, int factor,

                                  int min, int max, FFServerConfig *config,

                                  const char *error_msg, ...)

{

    int tmp;

    char *tailp;

    if (!value || !value[0])

        goto error;

    errno = 0;

    tmp = strtol(value, &tailp, 0);

    if (tmp < min || tmp > max)

        goto error;

    if (factor) {

        if (FFABS(tmp) > INT_MAX / FFABS(factor))

            goto error;

        tmp *= factor;

    }

    if (tailp[0] || errno)

        goto error;

    if (dest)

        *dest = tmp;

    return 0;

  error:

    if (config) {

        va_list vl;

        va_start(vl, error_msg);

        vreport_config_error(config->filename, config->line_num, AV_LOG_ERROR,

                &config->errors, error_msg, vl);

        va_end(vl);

    }

    return AVERROR(EINVAL);

}

static int ffserver_set_int_param(int *dest, const char *value, int factor,

                                  int min, int max, FFServerConfig *config,

                                  const char *error_msg, ...)

{

    int tmp;

    char *tailp;

    if (!value || !value[0])

        goto error;

    errno = 0;

    tmp = strtol(value, &tailp, 0);

    if (tmp < min || tmp > max)

        goto error;

    if (factor) {

        if (FFABS(tmp) > INT_MAX / FFABS(factor))

            goto error;

        tmp *= factor;

    }

    if (tailp[0] || errno)

        goto error;

    if (dest)

        *dest = tmp;

    return 0;

  error:

    if (config) {

        va_list vl;

        va_start(vl, error_msg);

        vreport_config_error(config->filename, config->line_num, AV_LOG_ERROR,

                &config->errors, error_msg, vl);

        va_end(vl);

    }

    return AVERROR(EINVAL);

}

static int FUNC_0(int *VAR_0, const char *VAR_1, int VAR_2,

                                  int VAR_3, int VAR_4, FFServerConfig *VAR_5,

                                  const char *VAR_6, ...)

{

    int VAR_7;

    char *VAR_8;

    if (!VAR_1 || !VAR_1[0])

        goto error;

    errno = 0;

    VAR_7 = strtol(VAR_1, &VAR_8, 0);

    if (VAR_7 < VAR_3 || VAR_7 > VAR_4)

        goto error;

    if (VAR_2) {

        if (FFABS(VAR_7) > INT_MAX / FFABS(VAR_2))

            goto error;

        VAR_7 *= VAR_2;

    }

    if (VAR_8[0] || errno)

        goto error;

    if (VAR_0)

        *VAR_0 = VAR_7;

    return 0;

  error:

    if (VAR_5) {

        va_list vl;

        va_start(vl, VAR_6);

        vreport_config_error(VAR_5->filename, VAR_5->line_num, AV_LOG_ERROR,

                &VAR_5->errors, VAR_6, vl);

        va_end(vl);

    }

    return AVERROR(EINVAL);

}

static int FUNC_0(int *VAR_0, const char *VAR_1, int VAR_2,
int VAR_3, int VAR_4, FFServerConfig *VAR_5,
const char *VAR_6, ...)
{ int VAR_7; char *VAR_8; if (!VAR_1 || !VAR_1[0])
goto error; errno = 0; VAR_7 = strtol(VAR_1, &VAR_8, 0); if (VAR_7 < VAR_3 || VAR_7 > VAR_4)
goto error; if (VAR_2) { if (FFABS(VAR_7) > INT_MAX / FFABS(VAR_2))
goto error; VAR_7 *= VAR_2; } if (VAR_8[0] || errno)
goto error; if (VAR_0)
*VAR_0 = VAR_7; return 0; error:
if (VAR_5) { va_list vl; va_start(vl, VAR_6); vreport_config_error(VAR_5->filename, VAR_5->line_num, AV_LOG_ERROR,
&VAR_5->errors, VAR_6, vl); va_end(vl); } return AVERROR(EINVAL); }