rename ngx_crc32_init() to ngx_crc32_table_init()
ngx_crc32_init(), ngx_crc32_update(), ngx_crc32_final()
diff --git a/src/core/nginx.c b/src/core/nginx.c
index 579ee16..ae68605 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -273,9 +273,11 @@
return 1;
}
- /* ngx_crc32_init() requires ngx_cacheline_size set in ngx_os_init() */
+ /*
+ * ngx_crc32_table_init() requires ngx_cacheline_size set in ngx_os_init()
+ */
- if (ngx_crc32_init() != NGX_OK) {
+ if (ngx_crc32_table_init() != NGX_OK) {
return 1;
}
diff --git a/src/core/ngx_crc32.c b/src/core/ngx_crc32.c
index 64b02ac..624510c 100644
--- a/src/core/ngx_crc32.c
+++ b/src/core/ngx_crc32.c
@@ -102,7 +102,7 @@
ngx_int_t
-ngx_crc32_init(void)
+ngx_crc32_table_init(void)
{
void *p;
diff --git a/src/core/ngx_crc32.h b/src/core/ngx_crc32.h
index 7d5279d..fe76156 100644
--- a/src/core/ngx_crc32.h
+++ b/src/core/ngx_crc32.h
@@ -49,7 +49,30 @@
}
-ngx_int_t ngx_crc32_init(void);
+#define ngx_crc32_init(crc) \
+ crc = 0xffffffff
+
+
+static void
+ngx_crc32_update(uint32_t *crc, u_char *p, size_t len)
+{
+ uint32_t c;
+
+ c = *crc;
+
+ while (len--) {
+ c = ngx_crc32_table256[(c ^ *p++) & 0xff] ^ (c >> 8);
+ }
+
+ *crc = c;
+}
+
+
+#define ngx_crc32_final(crc) \
+ crc ^= 0xffffffff
+
+
+ngx_int_t ngx_crc32_table_init(void);
#endif /* _NGX_CRC32_H_INCLUDED_ */