dovecot-1.2: Added crc32_[str_]more().
dovecot at dovecot.org
dovecot at dovecot.org
Sun Oct 12 14:48:22 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/3d2736ece94a
changeset: 8267:3d2736ece94a
user: Timo Sirainen <tss at iki.fi>
date: Sun Oct 12 14:40:08 2008 +0300
description:
Added crc32_[str_]more().
diffstat:
2 files changed, 13 insertions(+), 2 deletions(-)
src/lib/crc32.c | 12 ++++++++++--
src/lib/crc32.h | 3 +++
diffs (42 lines):
diff -r 47edfe6ad295 -r 3d2736ece94a src/lib/crc32.c
--- a/src/lib/crc32.c Sun Oct 12 14:17:51 2008 +0300
+++ b/src/lib/crc32.c Sun Oct 12 14:40:08 2008 +0300
@@ -60,8 +60,12 @@ static uint32_t crc32tab[256] = {
uint32_t crc32_data(const void *data, size_t size)
{
+ return crc32_data_more((uint32_t)-1, data, size);
+}
+
+uint32_t crc32_data_more(uint32_t crc, const void *data, size_t size)
+{
const uint8_t *p = data, *end = p + size;
- uint32_t crc = (uint32_t)-1;
for (; p != end; p++)
crc = (crc >> 8) ^ crc32tab[((crc ^ *p) & 0xff)];
@@ -70,8 +74,12 @@ uint32_t crc32_data(const void *data, si
uint32_t crc32_str(const char *str)
{
+ return crc32_str_more((uint32_t)-1, str);
+}
+
+uint32_t crc32_str_more(uint32_t crc, const char *str)
+{
const uint8_t *p = (const uint8_t *)str;
- uint32_t crc = (uint32_t)-1;
for (; *p != '\0'; p++)
crc = (crc >> 8) ^ crc32tab[((crc ^ *p) & 0xff)];
diff -r 47edfe6ad295 -r 3d2736ece94a src/lib/crc32.h
--- a/src/lib/crc32.h Sun Oct 12 14:17:51 2008 +0300
+++ b/src/lib/crc32.h Sun Oct 12 14:40:08 2008 +0300
@@ -4,4 +4,7 @@ uint32_t crc32_data(const void *data, si
uint32_t crc32_data(const void *data, size_t size) ATTR_PURE;
uint32_t crc32_str(const char *str) ATTR_PURE;
+uint32_t crc32_data_more(uint32_t crc, const void *data, size_t size) ATTR_PURE;
+uint32_t crc32_str_more(uint32_t crc, const char *str) ATTR_PURE;
+
#endif
More information about the dovecot-cvs
mailing list