Make the warnings about terminating nuls a bit stronger

It looks like 32_encoded_size/64_encode_size APIs are inconsistent
not only in the number of "d"s they have, but also in whether they
count the terminating NUL.  Taylor noted this in 86477f4e3f,
but I think we should note the inconsistently more loudly in order
to avoid trouble.

(I ran into trouble with this when writing 30b13fd82e243713c6a0d.)
This commit is contained in:
Nick Mathewson 2017-04-07 09:51:08 -04:00
parent 2c86380bde
commit 1e54bdd48a

View File

@ -22,8 +22,10 @@
#include <stdlib.h> #include <stdlib.h>
/* Return the base32 encoded size in bytes using the source length srclen. /* Return the base32 encoded size in bytes using the source length srclen.
* The NUL terminated byte is added as well since every base32 encoding *
* requires enough space for it. */ * (WATCH OUT: This API counts the terminating NUL byte, but
* base64_encode_size does not.)
*/
size_t size_t
base32_encoded_size(size_t srclen) base32_encoded_size(size_t srclen)
{ {
@ -133,7 +135,8 @@ base32_decode(char *dest, size_t destlen, const char *src, size_t srclen)
/** Return the Base64 encoded size of <b>srclen</b> bytes of data in /** Return the Base64 encoded size of <b>srclen</b> bytes of data in
* bytes. * bytes.
* *
* Does <b>NOT</b> count the terminating NUL. * (WATCH OUT: This API <em>does not</em> count the terminating NUL byte,
* but base64_encoded_size does.)
* *
* If <b>flags</b>&amp;BASE64_ENCODE_MULTILINE is true, return the size * If <b>flags</b>&amp;BASE64_ENCODE_MULTILINE is true, return the size
* of the encoded output as multiline output (64 character, `\n' terminated * of the encoded output as multiline output (64 character, `\n' terminated