"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/isc/radix.c" between
bind-9.17.2.tar.xz and bind-9.17.3.tar.xz

About: BIND 9.17 implements the Domain Name System (DNS) protocols for the Internet (see the Release Notes). Source code distribution. Unstable development release.

radix.c  (bind-9.17.2.tar.xz):radix.c  (bind-9.17.3.tar.xz)
skipping to change at line 235 skipping to change at line 235
uint32_t bitlen; uint32_t bitlen;
int tfam = -1, cnt = 0; int tfam = -1, cnt = 0;
REQUIRE(radix != NULL); REQUIRE(radix != NULL);
REQUIRE(prefix != NULL); REQUIRE(prefix != NULL);
REQUIRE(target != NULL && *target == NULL); REQUIRE(target != NULL && *target == NULL);
RUNTIME_CHECK(prefix->bitlen <= radix->maxbits); RUNTIME_CHECK(prefix->bitlen <= radix->maxbits);
*target = NULL; *target = NULL;
if (radix->head == NULL) { node = radix->head;
if (node == NULL) {
return (ISC_R_NOTFOUND); return (ISC_R_NOTFOUND);
} }
node = radix->head;
addr = isc_prefix_touchar(prefix); addr = isc_prefix_touchar(prefix);
bitlen = prefix->bitlen; bitlen = prefix->bitlen;
while (node->bit < bitlen) { while (node != NULL && node->bit < bitlen) {
if (node->prefix) { if (node->prefix) {
stack[cnt++] = node; stack[cnt++] = node;
} }
if (BIT_TEST(addr[node->bit >> 3], 0x80 >> (node->bit & 0x07))) if (BIT_TEST(addr[node->bit >> 3], 0x80 >> (node->bit & 0x07)))
{ {
node = node->r; node = node->r;
} else { } else {
node = node->l; node = node->l;
} }
if (node == NULL) {
break;
}
} }
if (node && node->prefix) { if (node != NULL && node->prefix) {
stack[cnt++] = node; stack[cnt++] = node;
} }
while (cnt-- > 0) { while (cnt-- > 0) {
node = stack[cnt]; node = stack[cnt];
if (prefix->bitlen < node->bit) { if (prefix->bitlen < node->bit) {
continue; continue;
} }
 End of changes. 5 change blocks. 
8 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)