From: Ben Pfaff <blp@nicira.com>
Date: Thu, 24 Mar 2011 18:00:39 +0000 (-0700)
Subject: tag: New function tag_set_union().
X-Git-Tag: v1.2.0~509
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=1e2e71109fc690cf2ab0c4093cf451989ef23c6d;p=sliver-openvswitch.git

tag: New function tag_set_union().
---

diff --git a/lib/tag.c b/lib/tag.c
index 0fd0de128..bf2c9a5bb 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 f645dc91a..5885e1538 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);