Print this page
1926 libresolv evades compiler warnings
@@ -1,6 +1,7 @@
/*
+ * Copyright 2015 Gary Mills
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
@@ -21,14 +22,16 @@
#include <netinet/in.h>
#include <ctype.h>
#include <netdb.h>
#include <stdio.h>
#include <errno.h>
+#include <string.h>
#include <arpa/inet.h>
#include <arpa/nameser.h>
#include <resolv.h>
#include <syslog.h>
+#include "crossl.h"
/*
* When the name service switch calls libresolv, it doesn't want fallback
* to /etc/hosts, so we provide a method to turn it off.
*/
@@ -101,12 +104,12 @@
bp = hostbuf;
buflen = sizeof (hostbuf);
cp = answer->buf + sizeof (HEADER);
if (qdcount) {
if (iquery) {
- if ((n = dn_expand((char *)answer->buf, eom,
- cp, bp, buflen)) < 0) {
+ if ((n = dn_expand(answer->buf, eom,
+ cp, (u_char *)bp, buflen)) < 0) {
h_errno = NO_RECOVERY;
return ((struct hostent *) NULL);
}
cp += n + QFIXEDSZ;
host.h_name = bp;
@@ -130,12 +133,12 @@
#if BSD >= 43 || defined(h_addr) /* new-style hostent structure */
host.h_addr_list = h_addr_ptrs;
#endif
haveanswer = 0;
while (--ancount >= 0 && cp < eom && haveanswer < MAXADDRS) {
- if ((n = dn_expand((char *)answer->buf, eom,
- cp, bp, buflen)) < 0)
+ if ((n = dn_expand(answer->buf, eom,
+ cp, (u_char *)bp, buflen)) < 0)
break;
cp += n;
type = _getshort(cp);
cp += sizeof (u_short);
class = _getshort(cp);
@@ -151,12 +154,12 @@
bp += n;
buflen -= n;
continue;
}
if (iquery && type == T_PTR) {
- if ((n = dn_expand((char *)answer->buf, eom,
- cp, bp, buflen)) < 0) {
+ if ((n = dn_expand(answer->buf, eom,
+ cp, (u_char *)bp, buflen)) < 0) {
cp += n;
continue;
}
cp += n;
host.h_name = bp;
@@ -229,11 +232,10 @@
char *name;
{
querybuf buf;
register char *cp;
int n;
- struct hostent *hp, *gethostdomain();
/*
* disallow names consisting only of digits/dots, unless
* they end in a dot.
*/
@@ -279,11 +281,11 @@
(void) sprintf(qbuf, "%d.%d.%d.%d.in-addr.arpa",
((unsigned)addr[3] & 0xff),
((unsigned)addr[2] & 0xff),
((unsigned)addr[1] & 0xff),
((unsigned)addr[0] & 0xff));
- n = res_query(qbuf, C_IN, T_PTR, (char *)&buf, sizeof (buf));
+ n = res_query(qbuf, C_IN, T_PTR, (u_char *)&buf, sizeof (buf));
if (n < 0) {
#ifdef DEBUG
if (_res.options & RES_DEBUG)
printf("res_query failed\n");
#endif