david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Straightforward A record resolution now known working.

This commit is contained in:
Michael Brown 2005-04-30 19:38:51 +00:00
parent 3b59bf559c
commit 138c987738
1 changed files with 4 additions and 4 deletions

View File

@ -147,7 +147,7 @@ static inline const char * dns_skip_name ( const char *name ) {
*/
static struct dns_rr_info * dns_find_rr ( struct dns_query *query,
struct dns_header *reply ) {
int i;
int i, cmp;
const char *p = ( ( char * ) reply ) + sizeof ( struct dns_header );
/* Skip over the questions section */
@ -157,10 +157,10 @@ static struct dns_rr_info * dns_find_rr ( struct dns_query *query,
/* Process the answers section */
for ( i = ntohs ( reply->ancount ) ; i > 0 ; i-- ) {
if ( dns_name_cmp ( query->payload, p, reply ) == 0 ) {
return ( ( struct dns_rr_info * ) p );
}
cmp = dns_name_cmp ( query->payload, p, reply );
p = dns_skip_name ( p );
if ( cmp == 0 )
return ( ( struct dns_rr_info * ) p );
p += ( sizeof ( struct dns_rr_info ) +
ntohs ( ( ( struct dns_rr_info * ) p )->rdlength ) );
}