From 5ea07d9e9113ec6ed7083f15c9a4cdc0103a0ddc Mon Sep 17 00:00:00 2001 From: Emeric Brun Date: Wed, 30 Jun 2021 13:21:58 +0200 Subject: [PATCH] CLEANUP: peers: re-write intdecode function comment. The varint decoding function comment was not clear enough and didn't reflect the current usage. This patch re-writes this. --- src/peers.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/peers.c b/src/peers.c index bb68a8e..5f71d1e 100644 --- a/src/peers.c +++ b/src/peers.c @@ -517,11 +517,25 @@ int intencode(uint64_t i, char **str) { } -/* This function returns the decoded integer or 0 - if decode failed - *str point on the beginning of the integer to decode - at the end of decoding *str point on the end of the - encoded integer or to null if end is reached */ +/* This function returns a decoded 64bits unsigned integer + * from a varint + * + * Calling: + * - *str must point on the first byte of the buffer to decode. + * - end must point on the next byte after the end of the buffer + * we are authorized to parse (buf + buflen) + * + * At return: + * + * On success *str will point at the byte following + * the fully decoded integer into the buffer. and + * the decoded value is returned. + * + * If end is reached before the integer was fully decoded, + * *str is set to NULL and the caller have to check this + * to know there is a decoding error. In this case + * the returned integer is also forced to 0 + */ uint64_t intdecode(char **str, char *end) { unsigned char *msg; -- 1.7.10.4