On 02/05/15 09:12, Anton Khirnov wrote:
> This reverts commit 63be97ec403023fb664798432acedaf6e6922527.
> 
> All those calls were unchecked on purpose, as explained in the comments
> in the code.

Would be nicer to do something like this:

ret = av_expr_parse_and_eval()

if (ret == AVERROR(ENOMEM)
    goto eval_fail;

at least (no idea about the cases in which you have EINVAL).

lu

> ---
>  libavfilter/vf_pad.c   | 14 ++++++--------
>  libavfilter/vf_scale.c |  7 +++----
>  2 files changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/libavfilter/vf_pad.c bscal/libavfilter/vf_pad.c
> index bacb505..634af4c 100644
> --- a/libavfilter/vf_pad.c
> +++ b/libavfilter/vf_pad.c
> @@ -158,10 +158,9 @@ static int config_input(AVFilterLink *inlink)
>      var_values[VAR_VSUB]  = 1<<s->vsub;
>  
>      /* evaluate width and height */
> -    if ((ret = av_expr_parse_and_eval(&res, (expr = s->w_expr),
> -                                      var_names, var_values,
> -                                      NULL, NULL, NULL, NULL, NULL, 0, ctx)) 
> < 0)
> -        goto eval_fail;
> +    av_expr_parse_and_eval(&res, (expr = s->w_expr),
> +                           var_names, var_values,
> +                           NULL, NULL, NULL, NULL, NULL, 0, ctx);
>      s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
>      if ((ret = av_expr_parse_and_eval(&res, (expr = s->h_expr),
>                                        var_names, var_values,
> @@ -176,10 +175,9 @@ static int config_input(AVFilterLink *inlink)
>      s->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
>  
>      /* evaluate x and y */
> -    if ((ret = av_expr_parse_and_eval(&res, (expr = s->x_expr),
> -                                      var_names, var_values,
> -                                      NULL, NULL, NULL, NULL, NULL, 0, ctx)) 
> < 0)
> -        goto eval_fail;
> +    av_expr_parse_and_eval(&res, (expr = s->x_expr),
> +                           var_names, var_values,
> +                           NULL, NULL, NULL, NULL, NULL, 0, ctx);
>      s->x = var_values[VAR_X] = res;
>      if ((ret = av_expr_parse_and_eval(&res, (expr = s->y_expr),
>                                        var_names, var_values,
> diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
> index 2b9e7e8..73ea9d2 100644
> --- a/libavfilter/vf_scale.c
> +++ b/libavfilter/vf_scale.c
> @@ -177,10 +177,9 @@ static int config_props(AVFilterLink *outlink)
>      var_values[VAR_VSUB]  = 1 << desc->log2_chroma_h;
>  
>      /* evaluate width and height */
> -    if ((ret = av_expr_parse_and_eval(&res, (expr = scale->w_expr),
> -                                      var_names, var_values,
> -                                      NULL, NULL, NULL, NULL, NULL, 0, ctx)) 
> < 0)
> -        goto fail;
> +    av_expr_parse_and_eval(&res, (expr = scale->w_expr),
> +                           var_names, var_values,
> +                           NULL, NULL, NULL, NULL, NULL, 0, ctx);
>      scale->w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
>      if ((ret = av_expr_parse_and_eval(&res, (expr = scale->h_expr),
>                                        var_names, var_values,
> 

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to