Mercurial > hg > nginx
comparison src/core/ngx_md5.c @ 3927:38e6f45c5e3d
make built-in ngx_md5_update() interface consistent with other implemenations
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 27 May 2011 10:00:46 +0000 |
parents | 4d5754e2f220 |
children | ce1ba4a312d7 |
comparison
equal
deleted
inserted
replaced
3926:14622ee4fa08 | 3927:38e6f45c5e3d |
---|---|
30 ctx->bytes = 0; | 30 ctx->bytes = 0; |
31 } | 31 } |
32 | 32 |
33 | 33 |
34 void | 34 void |
35 ngx_md5_update(ngx_md5_t *ctx, const u_char *data, size_t size) | 35 ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size) |
36 { | 36 { |
37 size_t used, free; | 37 size_t used, free; |
38 | 38 |
39 used = ctx->bytes & 0x3f; | 39 used = ctx->bytes & 0x3f; |
40 ctx->bytes += size; | 40 ctx->bytes += size; |
45 if (size < free) { | 45 if (size < free) { |
46 ngx_memcpy(&ctx->buffer[used], data, size); | 46 ngx_memcpy(&ctx->buffer[used], data, size); |
47 return; | 47 return; |
48 } | 48 } |
49 | 49 |
50 ngx_memcpy(&ctx->buffer[used], data, free); | 50 data = ngx_cpymem(&ctx->buffer[used], data, free); |
51 data = (u_char *)data + free; | |
52 size -= free; | 51 size -= free; |
53 (void) ngx_md5_body(ctx, ctx->buffer, 64); | 52 (void) ngx_md5_body(ctx, ctx->buffer, 64); |
54 } | 53 } |
55 | 54 |
56 if (size >= 64) { | 55 if (size >= 64) { |