filter_same should now work with path masks.
This commit is contained in:
parent
f71bded6e9
commit
2e5a8735f4
1 changed files with 13 additions and 0 deletions
|
@ -28,6 +28,17 @@ struct f_inst *startup_func = NULL, *test1_func, *test2_func;
|
||||||
|
|
||||||
#define CMP_ERROR 999
|
#define CMP_ERROR 999
|
||||||
|
|
||||||
|
int
|
||||||
|
pm_path_compare(struct f_path_mask *m1, struct f_path_mask *m2)
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
if ((!m1) || (!m2))
|
||||||
|
return !((!m1) && (!m2));
|
||||||
|
m1 = m1->next;
|
||||||
|
m2 = m2->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Compare two values, returns -1, 0, 1 compared, ERROR 999 */
|
/* Compare two values, returns -1, 0, 1 compared, ERROR 999 */
|
||||||
int
|
int
|
||||||
val_compare(struct f_val v1, struct f_val v2)
|
val_compare(struct f_val v1, struct f_val v2)
|
||||||
|
@ -53,6 +64,8 @@ val_compare(struct f_val v1, struct f_val v2)
|
||||||
case T_IP:
|
case T_IP:
|
||||||
case T_PREFIX:
|
case T_PREFIX:
|
||||||
return ipa_compare(v1.val.px.ip, v2.val.px.ip);
|
return ipa_compare(v1.val.px.ip, v2.val.px.ip);
|
||||||
|
case T_PATH_MASK:
|
||||||
|
return pm_path_compare(v1.val.path_mask, v2.val.path_mask);
|
||||||
default:
|
default:
|
||||||
debug( "Compare of unkown entities: %x\n", v1.type );
|
debug( "Compare of unkown entities: %x\n", v1.type );
|
||||||
return CMP_ERROR;
|
return CMP_ERROR;
|
||||||
|
|
Loading…
Reference in a new issue