On Sat,  4 Mar 2017 12:44:18 -0800
Ravi Kerur <rke...@gmail.com> wrote:

> +#define GET_CB_FIELD(in, fd, base, lim, dlm) do {            \
> +     unsigned long val;                                      \
> +     char *end;                                              \
> +     errno = 0;                                              \
> +     val = strtoul((in), &end, (base));                      \
> +     if (errno != 0 || end[0] != (dlm) || val > (lim))       \
> +             return -EINVAL;                               \
> +     (fd) = (typeof(fd))val;                                 \
> +     (in) = end + 1;                                         \
> +} while (0)
> +

Marcos are source of bugs,  please write as function.

Reply via email to