summaryrefslogtreecommitdiff
path: root/src/libs6dns/s6dns_message_parse_answer_strings.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-01-12 15:35:29 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-01-12 15:35:29 +0000
commit3f9536c5cc9ed6659ad2514859bd1716cbf7b26b (patch)
tree3f01ca46f59b9458c93ace3f07127d1e2bb460e8 /src/libs6dns/s6dns_message_parse_answer_strings.c
parent3a289d1ca8dd2bce4a8bb6549709ea62262ec786 (diff)
downloads6-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.c13
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) ;
}