diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-01-12 15:35:29 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-01-12 15:35:29 +0000 |
commit | 3f9536c5cc9ed6659ad2514859bd1716cbf7b26b (patch) | |
tree | 3f01ca46f59b9458c93ace3f07127d1e2bb460e8 /src/libs6dns/s6dns_message_parse_answer_strings.c | |
parent | 3a289d1ca8dd2bce4a8bb6549709ea62262ec786 (diff) | |
download | s6-dns-3f9536c5cc9ed6659ad2514859bd1716cbf7b26b.tar.xz |
Types fix, first pass.
Some places marked XXX for the skalibs API change.
Diffstat (limited to 'src/libs6dns/s6dns_message_parse_answer_strings.c')
-rw-r--r-- | src/libs6dns/s6dns_message_parse_answer_strings.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libs6dns/s6dns_message_parse_answer_strings.c b/src/libs6dns/s6dns_message_parse_answer_strings.c index 09470c7..f5ac783 100644 --- a/src/libs6dns/s6dns_message_parse_answer_strings.c +++ b/src/libs6dns/s6dns_message_parse_answer_strings.c @@ -1,5 +1,6 @@ /* ISC license. */ +#include <sys/types.h> #include <errno.h> #include <skalibs/error.h> #include <skalibs/stralloc.h> @@ -8,27 +9,25 @@ int s6dns_message_parse_answer_strings (s6dns_message_rr_t const *rr, char const *packet, unsigned int packetlen, unsigned int pos, unsigned int section, void *stuff) { - s6dns_mpag_t_ref data = stuff ; + s6dns_mpag_t *data = stuff ; if ((section == 2) && (rr->rtype == data->rtype)) { - unsigned int base = data->sa.len ; + size_t base = data->sa.len ; int wasnull = !data->sa.s ; unsigned int start = pos ; register int r ; if (!stralloc_readyplus(&data->sa, rr->rdlength + 1)) return -1 ; - errno = EPROTO ; r = s6dns_message_get_strings(data->sa.s + data->sa.len, rr->rdlength, packet, packetlen, &pos) ; if ((r < 0) || (rr->rdlength != pos - start)) { if (wasnull) stralloc_free(&data->sa) ; else data->sa.len = base ; - return 0 ; + return (errno = EPROTO, 0) ; } - if (!genalloc_append(unsigned int, &data->offsets, &data->sa.len)) + if (!genalloc_append(size_t, &data->offsets, &data->sa.len)) { if (wasnull) stralloc_free(&data->sa) ; else data->sa.len = base ; - return -1 ; + return (errno = EPROTO, -1) ; } - errno = 0 ; data->sa.len += r ; stralloc_0(&data->sa) ; } |