From 1e2e71109fc690cf2ab0c4093cf451989ef23c6d Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 24 Mar 2011 11:00:39 -0700 Subject: [PATCH] tag: New function tag_set_union(). --- lib/tag.c | 12 +++++++++++- lib/tag.h | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/tag.c b/lib/tag.c index 0fd0de12..bf2c9a5b 100644 --- a/lib/tag.c +++ b/lib/tag.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -105,3 +105,13 @@ tag_set_add(struct tag_set *set, tag_type tag) } } +/* Adds all the tags in 'other' to 'set'. */ +void +tag_set_union(struct tag_set *set, const struct tag_set *other) +{ + size_t i; + + for (i = 0; i < TAG_SET_SIZE; i++) { + tag_set_add(set, other->tags[i]); + } +} diff --git a/lib/tag.h b/lib/tag.h index f645dc91..5885e153 100644 --- a/lib/tag.h +++ b/lib/tag.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008 Nicira Networks. + * Copyright (c) 2008, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -107,6 +107,7 @@ struct tag_set { void tag_set_init(struct tag_set *); void tag_set_add(struct tag_set *, tag_type); +void tag_set_union(struct tag_set *, const struct tag_set *); static inline bool tag_set_is_empty(const struct tag_set *); static inline bool tag_set_intersects(const struct tag_set *, tag_type); -- 2.30.2