[Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers

Alexander Turenko alexander.turenko at tarantool.org
Fri Oct 16 00:42:25 MSK 2020


On Fri, Oct 16, 2020 at 12:35:05AM +0300, Timur Safin wrote:
> After our discussions within messenger, I've updated ibuf.c to
> raise error if there is invalid argument passed, to follow
> current box_* functions convention. E.g.

Nit: it *sets* an error, not raise.

> 
> +void
> +box_ibuf_read_range(box_ibuf_t *ibuf, char ***rpos, char ***wpos)
> +{
> +       if (ibuf == NULL) {
> +               diag_set(ClientError, ER_ILLEGAL_PARAMS,
> +                        "Invalid ibuf argument");
> +               return;
> +       }
> +       if (rpos != NULL)
> +               *rpos = &ibuf->rpos;
> +       if (wpos != NULL)
> +               *wpos = &ibuf->wpos;
> +}

You should return a code (0 / -1) so. The diagnostics area is like
errno: a caller should lean on the code, not the diagnostics area to
determine whether an error took place. If it occurs, then the
diagnostics is guaranteed to exist and to be actual.


More information about the Tarantool-patches mailing list