From: Ben Pfaff Date: Tue, 10 Sep 2013 05:13:09 +0000 (-0700) Subject: classifier: Allow CLS_CURSOR_FOR_EACH to use a const-qualified iterator. X-Git-Tag: v2.0~42 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=5cd864b705bd5099a8bca3bfa39d70d7ce873a9a classifier: Allow CLS_CURSOR_FOR_EACH to use a const-qualified iterator. Signed-off-by: Ben Pfaff Acked-by: Ethan Jackson --- diff --git a/lib/classifier.c b/lib/classifier.c index 93ee977bc..36eb1f0bf 100644 --- a/lib/classifier.c +++ b/lib/classifier.c @@ -500,8 +500,9 @@ cls_cursor_first(struct cls_cursor *cursor) /* Returns the next matching cls_rule in 'cursor''s iteration, or a null * pointer if there are no more matches. */ struct cls_rule * -cls_cursor_next(struct cls_cursor *cursor, struct cls_rule *rule) +cls_cursor_next(struct cls_cursor *cursor, const struct cls_rule *rule_) { + struct cls_rule *rule = CONST_CAST(struct cls_rule *, rule_); const struct cls_table *table; struct cls_rule *next; diff --git a/lib/classifier.h b/lib/classifier.h index 5a454586e..ead087b9e 100644 --- a/lib/classifier.h +++ b/lib/classifier.h @@ -140,7 +140,7 @@ struct cls_cursor { void cls_cursor_init(struct cls_cursor *cursor, const struct classifier *cls, const struct cls_rule *match) OVS_REQ_RDLOCK(cls->rwlock); struct cls_rule *cls_cursor_first(struct cls_cursor *cursor); -struct cls_rule *cls_cursor_next(struct cls_cursor *cursor, struct cls_rule *); +struct cls_rule *cls_cursor_next(struct cls_cursor *cursor, const struct cls_rule *); #define CLS_CURSOR_FOR_EACH(RULE, MEMBER, CURSOR) \ for (ASSIGN_CONTAINER(RULE, cls_cursor_first(CURSOR), MEMBER); \