Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
BIND
Commits
6011ef0f
Commit
6011ef0f
authored
Sep 12, 2008
by
Automatic Updater
Browse files
update copyright notice
parent
ce249202
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/isc/radix.c
View file @
6011ef0f
...
...
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: radix.c,v 1.1
6
2008/09/12
06:02:31 each
Exp $ */
/* $Id: radix.c,v 1.1
7
2008/09/12
23:47:25 tbox
Exp $ */
/*
* This source was adapted from MRT's RCS Ids:
...
...
@@ -417,49 +417,49 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
if
(
differ_bit
==
bitlen
&&
node
->
bit
==
bitlen
)
{
if
(
node
->
prefix
!=
NULL
)
{
/* Set node_num only if it hasn't been set before */
if
(
source
!=
NULL
)
{
/* Merging node */
if
(
node
->
node_num
[
0
]
==
-
1
&&
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
0
]
=
radix
->
num_added_node
+
source
->
node_num
[
0
];
node
->
data
[
0
]
=
source
->
data
[
0
];
}
if
(
node
->
node_num
[
1
]
==
-
1
&&
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
1
]
=
radix
->
num_added_node
+
source
->
node_num
[
1
];
node
->
data
[
1
]
=
source
->
data
[
1
];
}
}
else
{
if
(
node
->
node_num
[
ISC_IS6
(
family
)]
==
-
1
)
node
->
node_num
[
ISC_IS6
(
family
)]
=
++
radix
->
num_added_node
;
}
if
(
source
!=
NULL
)
{
/* Merging node */
if
(
node
->
node_num
[
0
]
==
-
1
&&
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
0
]
=
radix
->
num_added_node
+
source
->
node_num
[
0
];
node
->
data
[
0
]
=
source
->
data
[
0
];
}
if
(
node
->
node_num
[
1
]
==
-
1
&&
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
1
]
=
radix
->
num_added_node
+
source
->
node_num
[
1
];
node
->
data
[
1
]
=
source
->
data
[
1
];
}
}
else
{
if
(
node
->
node_num
[
ISC_IS6
(
family
)]
==
-
1
)
node
->
node_num
[
ISC_IS6
(
family
)]
=
++
radix
->
num_added_node
;
}
*
target
=
node
;
return
(
ISC_R_SUCCESS
);
}
else
{
result
=
_ref_prefix
(
radix
->
mctx
,
&
node
->
prefix
,
prefix
);
if
(
result
!=
ISC_R_SUCCESS
)
return
(
result
);
}
}
else
{
result
=
_ref_prefix
(
radix
->
mctx
,
&
node
->
prefix
,
prefix
);
if
(
result
!=
ISC_R_SUCCESS
)
return
(
result
);
}
INSIST
(
node
->
data
[
0
]
==
NULL
&&
node
->
node_num
[
0
]
==
-
1
&&
node
->
data
[
1
]
==
NULL
&&
node
->
node_num
[
1
]
==
-
1
);
if
(
source
!=
NULL
)
{
/* Merging node */
if
(
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
0
]
=
radix
->
num_added_node
+
source
->
node_num
[
0
];
node
->
data
[
0
]
=
source
->
data
[
0
];
}
if
(
source
->
node_num
[
1
]
!=
-
1
)
{
node
->
node_num
[
1
]
=
radix
->
num_added_node
+
source
->
node_num
[
1
];
node
->
data
[
1
]
=
source
->
data
[
1
];
}
if
(
source
->
node_num
[
0
]
!=
-
1
)
{
node
->
node_num
[
0
]
=
radix
->
num_added_node
+
source
->
node_num
[
0
];
node
->
data
[
0
]
=
source
->
data
[
0
];
}
if
(
source
->
node_num
[
1
]
!=
-
1
)
{
node
->
node_num
[
1
]
=
radix
->
num_added_node
+
source
->
node_num
[
1
];
node
->
data
[
1
]
=
source
->
data
[
1
];
}
}
else
{
node
->
node_num
[
ISC_IS6
(
family
)]
=
++
radix
->
num_added_node
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment