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
pull/1262/head
Richard Fuchs 5 years ago
parent 92e39597cb
commit b285665a20

@ -712,7 +712,7 @@ void bencode_buffer_destroy_add(bencode_buffer_t *buf, free_func_t func, void *p
buf->free_list = li; 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; size_t pos;
unsigned long sl; unsigned long sl;
char *end; char *end;
@ -731,7 +731,7 @@ static int __bencode_string(const char *s, size_t offset, size_t len) {
return pos + sl + 1; 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; size_t pos;
if (s[offset + 1] == '-') { if (s[offset + 1] == '-') {
@ -761,9 +761,9 @@ static int __bencode_integer(const char *s, size_t offset, size_t len) {
return pos + 1; 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;) { for (++offset; s[offset] != 'e' && offset < len;) {
offset = __bencode_next(s, offset, len); offset = __bencode_next(s, offset, len);
if (offset < 0) if (offset < 0)
@ -776,7 +776,7 @@ static int __bencode_list(const char *s, size_t offset, size_t len) {
return offset + 1; 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;) { for (++offset; s[offset] != 'e' && offset < len;) {
offset = __bencode_string(s, offset, len); offset = __bencode_string(s, offset, len);
if (offset < 0) if (offset < 0)
@ -792,7 +792,7 @@ static int __bencode_dictionary(const char *s, size_t offset, size_t len) {
return offset + 1; 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) if (offset >= len)
return -1; return -1;
switch(s[offset]) { switch(s[offset]) {
@ -817,6 +817,6 @@ static int __bencode_next(const char *s, size_t offset, size_t len) {
return -2; 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); return __bencode_next(s, 0, len);
} }

@ -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); 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 */ /* 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 ***/ /*** DICTIONARY LOOKUP & EXTRACTION ***/

Loading…
Cancel
Save