char *⏎ get_4 (struct base64_decode_context *ctx,⏎ char const *restrict *in, char const *restrict in_end,⏎ size_t *n_non_newline)⏎ {⏎ if (ctx->i == 4)⏎ ctx->i = 0;⏎ ⏎ if (ctx->i == 0)⏎ {⏎ char const *t = *in;⏎ if (4 <= in_end - *in && memchr (t, '\n', 4) == NULL)⏎ {⏎ /* This is the common case: no newline. */⏎ *in += 4;⏎ *n_non_newline = 4;⏎ return (char *) t;⏎ }⏎ }⏎ ⏎ {⏎ /* Copy non-newline bytes into BUF. */⏎ char const *p = *in;⏎ while (p < in_end)⏎ {⏎ char c = *p++;⏎ if (c != '\n')⏎ {⏎ ctx->buf[ctx->i++] = c;⏎ if (ctx->i == 4)⏎ break;⏎ }⏎ }⏎ ⏎ *in = p;⏎ *n_non_newline = ctx->i;⏎ return ctx->buf;⏎ }⏎ }⏎