X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fsvec.c;h=9d0f313d9966bda0b22147c95a8d73b4f0b9481a;hb=da0603cf278a9f505dc2988602ec0071c771dd2e;hp=078b107042195900bf35da392cefd48b35161f07;hpb=a14bc59fb8f27db193d74662dc9c5cb8237177ef;p=openvswitch diff --git a/lib/svec.c b/lib/svec.c index 078b1070..9d0f313d 100644 --- a/lib/svec.c +++ b/lib/svec.c @@ -366,6 +366,22 @@ svec_join(const struct svec *svec, return ds_cstr(&ds); } +/* Breaks 's' into tokens at any character in 'delimiters', and appends each + * token to 'svec'. Empty tokens are not added. */ +void +svec_split(struct svec *svec, const char *s_, const char *delimiters) +{ + char *s = xstrdup(s_); + char *save_ptr = NULL; + char *token; + + for (token = strtok_r(s, delimiters, &save_ptr); token != NULL; + token = strtok_r(NULL, delimiters, &save_ptr)) { + svec_add(svec, token); + } + free(s); +} + const char * svec_back(const struct svec *svec) {