From b285665a2037b6207a8c7f108b9d96f10099a343 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 7 May 2021 08:35:49 -0400 Subject: [PATCH] TT#111150 use ssize_t for signed return type These functions can return negative values to signal errors, therefore use ssize_t as appropriate type. Change-Id: I810b2d40e9d6df47269af54c59940d114bb5a672 --- daemon/bencode.c | 14 +++++++------- include/bencode.h | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/daemon/bencode.c b/daemon/bencode.c index 1fe5ec882..5379e7a75 100644 --- a/daemon/bencode.c +++ b/daemon/bencode.c @@ -712,7 +712,7 @@ void bencode_buffer_destroy_add(bencode_buffer_t *buf, free_func_t func, void *p buf->free_list = li; } -static int __bencode_string(const char *s, size_t offset, size_t len) { +static ssize_t __bencode_string(const char *s, ssize_t offset, size_t len) { size_t pos; unsigned long sl; char *end; @@ -731,7 +731,7 @@ static int __bencode_string(const char *s, size_t offset, size_t len) { return pos + sl + 1; } -static int __bencode_integer(const char *s, size_t offset, size_t len) { +static ssize_t __bencode_integer(const char *s, ssize_t offset, size_t len) { size_t pos; if (s[offset + 1] == '-') { @@ -761,9 +761,9 @@ static int __bencode_integer(const char *s, size_t offset, size_t len) { return pos + 1; } -static int __bencode_next(const char *s, size_t offset, size_t len); +static ssize_t __bencode_next(const char *s, ssize_t offset, size_t len); -static int __bencode_list(const char *s, size_t offset, size_t len) { +static ssize_t __bencode_list(const char *s, ssize_t offset, size_t len) { for (++offset; s[offset] != 'e' && offset < len;) { offset = __bencode_next(s, offset, len); if (offset < 0) @@ -776,7 +776,7 @@ static int __bencode_list(const char *s, size_t offset, size_t len) { return offset + 1; } -static int __bencode_dictionary(const char *s, size_t offset, size_t len) { +static ssize_t __bencode_dictionary(const char *s, ssize_t offset, size_t len) { for (++offset; s[offset] != 'e' && offset < len;) { offset = __bencode_string(s, offset, len); if (offset < 0) @@ -792,7 +792,7 @@ static int __bencode_dictionary(const char *s, size_t offset, size_t len) { return offset + 1; } -static int __bencode_next(const char *s, size_t offset, size_t len) { +static ssize_t __bencode_next(const char *s, ssize_t offset, size_t len) { if (offset >= len) return -1; switch(s[offset]) { @@ -817,6 +817,6 @@ static int __bencode_next(const char *s, size_t offset, size_t len) { return -2; } -int bencode_valid(const char *s, size_t len) { +ssize_t bencode_valid(const char *s, size_t len) { return __bencode_next(s, 0, len); } diff --git a/include/bencode.h b/include/bencode.h index 6daea76c4..488b24890 100644 --- a/include/bencode.h +++ b/include/bencode.h @@ -302,7 +302,7 @@ INLINE bencode_item_t *bencode_decode_expect(bencode_buffer_t *buf, const char * INLINE bencode_item_t *bencode_decode_expect_str(bencode_buffer_t *buf, const str *s, bencode_type_t expect); /* Returns the number of bytes that could successfully be decoded from 's', -1 if more bytes are needed or -2 on error */ -int bencode_valid(const char *s, size_t len); +ssize_t bencode_valid(const char *s, size_t len); /*** DICTIONARY LOOKUP & EXTRACTION ***/