No longer does it reach into the hash context and run `HASH_compress' by
hand.
This means that nothing assumes that `HASH_compress' exists any more.
int i; \
const octet *kbuf = k; \
pre##_ctx ctx; \
int i; \
const octet *kbuf = k; \
pre##_ctx ctx; \
- octet buf[PRE##_HASHSZ]; \
+ octet hbuf[PRE##_HASHSZ], buf[PRE##_BUFSZ]; \
\
if (sz > PRE##_BUFSZ) { \
pre##_init(&ctx); \
pre##_hash(&ctx, k, sz); \
\
if (sz > PRE##_BUFSZ) { \
pre##_init(&ctx); \
pre##_hash(&ctx, k, sz); \
- pre##_done(&ctx, buf); \
- kbuf = buf; \
+ pre##_done(&ctx, hbuf); \
+ kbuf = hbuf; \
sz = PRE##_HASHSZ; \
} \
\
pre##_init(&ctx); \
sz = PRE##_HASHSZ; \
} \
\
pre##_init(&ctx); \
- memset(ctx.buf, 0x5c, PRE##_BUFSZ); \
- for (i = 0; i < sz; i++) \
- ctx.buf[i] ^= kbuf[i]; \
- pre##_compress(&ctx, ctx.buf); \
- pre##_state(&ctx, key->ochain); \
+ memset(buf, 0x5c, PRE##_BUFSZ); \
+ for (i = 0; i < sz; i++) buf[i] ^= kbuf[i]; \
+ pre##_hash(&ctx, buf, PRE##_BUFSZ); \
+ key->ocount = pre##_state(&ctx, key->ochain); \
- memset(ctx.buf, 0x36, PRE##_BUFSZ); \
- for (i = 0; i < sz; i++) \
- ctx.buf[i] ^= kbuf[i]; \
- pre##_compress(&ctx, ctx.buf); \
- pre##_state(&ctx, key->ichain); \
+ memset(buf, 0x36, PRE##_BUFSZ); \
+ for (i = 0; i < sz; i++) buf[i] ^= kbuf[i]; \
+ pre##_hash(&ctx, buf, PRE##_BUFSZ); \
+ key->icount = pre##_state(&ctx, key->ichain); \
- key->ocount = key->icount = PRE##_BUFSZ; \
{ \
const octet *kbuf = k; \
pre##_ctx ctx; \
{ \
const octet *kbuf = k; \
pre##_ctx ctx; \
- octet buf[PRE##_HASHSZ]; \
+ octet hbuf[PRE##_HASHSZ], buf[PRE##_BUFSZ]; \
\
if (sz > PRE##_BUFSZ) { \
pre##_init(&ctx); \
pre##_hash(&ctx, k, sz); \
\
if (sz > PRE##_BUFSZ) { \
pre##_init(&ctx); \
pre##_hash(&ctx, k, sz); \
- pre##_done(&ctx, buf); \
- kbuf = buf; \
+ pre##_done(&ctx, hbuf); \
+ kbuf = hbuf; \
sz = PRE##_HASHSZ; \
} \
\
pre##_init(&ctx); \
sz = PRE##_HASHSZ; \
} \
\
pre##_init(&ctx); \
- memcpy(ctx.buf, kbuf, sz); \
- memset(ctx.buf + sz, 0x5c, PRE##_BUFSZ - sz); \
- pre##_compress(&ctx, ctx.buf); \
- pre##_state(&ctx, key->ochain); \
+ memcpy(buf, kbuf, sz); \
+ memset(buf + sz, 0x5c, PRE##_BUFSZ - sz); \
+ pre##_hash(&ctx, buf, PRE##_BUFSZ); \
+ key->ocount = pre##_state(&ctx, key->ochain); \
- memcpy(ctx.buf, kbuf, sz); \
- memset(ctx.buf + sz, 0x36, PRE##_BUFSZ - sz); \
- pre##_compress(&ctx, ctx.buf); \
- pre##_state(&ctx, key->ichain); \
+ memcpy(buf, kbuf, sz); \
+ memset(buf + sz, 0x36, PRE##_BUFSZ - sz); \
+ pre##_hash(&ctx, buf, PRE##_BUFSZ); \
+ key->icount = pre##_state(&ctx, key->ichain); \
- key->ocount = key->icount = PRE##_BUFSZ; \