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) {