svec: Add new argument to svec_join().
authorBen Pfaff <blp@nicira.com>
Thu, 12 Mar 2009 17:01:07 +0000 (10:01 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 12 Mar 2009 17:02:15 +0000 (10:02 -0700)
lib/svec.c
lib/svec.h
vswitchd/bridge.c

index 2d9ddf98fab98ac1680c1278534de35acc92a27a..e04893046ef7edf031a01e49639d52e7ad622045 100644 (file)
@@ -353,7 +353,8 @@ svec_equal(const struct svec *a, const struct svec *b)
 }
 
 char *
-svec_join(const struct svec *svec, const char *delimiter)
+svec_join(const struct svec *svec,
+          const char *delimiter, const char *terminator)
 {
     struct ds ds;
     size_t i;
@@ -365,6 +366,7 @@ svec_join(const struct svec *svec, const char *delimiter)
         }
         ds_put_cstr(&ds, svec->names[i]);
     }
+    ds_put_cstr(&ds, terminator);
     return ds_cstr(&ds);
 }
 
index c9c42c8dfaeca05a73fbcd833534ae366a708944..0af162d9b4f9d530f0cca459bfb9c4a72f0da483 100644 (file)
@@ -68,7 +68,8 @@ void svec_swap(struct svec *a, struct svec *b);
 void svec_print(const struct svec *svec, const char *title);
 void svec_parse_words(struct svec *svec, const char *words);
 bool svec_equal(const struct svec *, const struct svec *);
-char *svec_join(const struct svec *, const char *delimiter);
+char *svec_join(const struct svec *,
+                const char *delimiter, const char *terminator);
 const char *svec_back(const struct svec *);
 void svec_pop_back(struct svec *);
 
index 5f01afec51a2799fadbf5e1f65f2ca56eb01ff62..0cc1e1549271708dda742ae3cfab432e1bdd246f 100644 (file)
@@ -920,7 +920,7 @@ bridge_reconfigure_one(struct bridge *br)
 
             svec_init(&command_acls);
             cfg_get_all_strings(&command_acls, "%s.commands.acl", pfx);
-            command_acl = svec_join(&command_acls, ",");
+            command_acl = svec_join(&command_acls, ",", "");
 
             ofproto_set_remote_execution(br->ofproto, command_acl,
                                          cfg_get_string(0, "%s.commands.dir",