about summary refs log tree commit diff homepage
path: root/adler32.3
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-11-09 00:36:56 -0500
committerJune McEnroe <june@causal.agency>2018-11-09 00:36:56 -0500
commit0e2cd991eb65a09b461715c064dedf1464c3b925 (patch)
tree261dc1ebb7d38260827e1d0b93752fdfc69f6007 /adler32.3
parentAdd crc32_combine.3 (diff)
downloadzlib-man-pages-0e2cd991eb65a09b461715c064dedf1464c3b925.tar.gz
zlib-man-pages-0e2cd991eb65a09b461715c064dedf1464c3b925.zip
Add adler32_combine.3
Diffstat (limited to 'adler32.3')
-rw-r--r--adler32.342
1 files changed, 41 insertions, 1 deletions
diff --git a/adler32.3 b/adler32.3
index 18371a3..b455474 100644
--- a/adler32.3
+++ b/adler32.3
@@ -4,7 +4,8 @@
 .
 .Sh NAME
 .Nm adler32 ,
-.Nm adler32_z
+.Nm adler32_z ,
+.Nm adler32_combine
 .Nd update Adler-32 checksum
 .
 .Sh LIBRARY
@@ -16,6 +17,8 @@
 .Fn adler32 "uLong adler" "const Bytef *buf" "uInt len"
 .Ft uLong
 .Fn adler32_z "uLong adler" "const Bytef *buf" "z_size_t len"
+.Ft uLong
+.Fn adler32_combine "uLong adler1" "uLong adler2" "z_off_t len2"
 .
 .Sh DESCRIPTION
 Update a running Adler-32 checksum with the bytes
@@ -40,6 +43,43 @@ but with a
 .Vt size_t
 length.
 .
+.Pp
+.Fn adler32_combine
+combines two Adler-32 checksums into one.
+For two sequences of bytes,
+.Va seq1
+and
+.Va seq2
+with lengths
+.Va len1
+and
+.Va len2 ,
+Adler-32 checksums were calculated for each,
+.Va adler1
+and
+.Va adler2 .
+.Fn adler32_combine
+returns the Adler-32 checksum of
+.Va seq1
+and
+.Va seq2
+concatenated,
+requiring only
+.Fa adler1 ,
+.Fa adler2 ,
+and
+.Fa len2 .
+Note that the
+.Vt z_off_t
+type
+(like
+.Vt off_t )
+is a signed integer.
+If
+.Fa len2
+is negative,
+the result has no meaning or utility.
+.
 .Sh EXAMPLES
 .Bd -literal -offset indent
 uLong adler = adler32(0L, Z_NULL, 0);