-/** @brief Join a set of strings as a single string */
-char *xbt_str_join(xbt_dynar_t dyn, const char *sep)
-{
- int len = 1;
- int dyn_len = xbt_dynar_length(dyn);
- unsigned int cpt;
- char* cursor;
-
- if (not dyn_len)
- return xbt_strdup("");
-
- /* compute the length */
- xbt_dynar_foreach(dyn, cpt, cursor) {
- len += strlen(cursor);
- }
- len += strlen(sep) * dyn_len;
- /* Do the job */
- char* res = (char*)xbt_malloc(len);
- char* p = res;
- xbt_dynar_foreach(dyn, cpt, cursor) {
- if ((int) cpt < dyn_len - 1)
- p += snprintf(p,len, "%s%s", cursor, sep);
- else
- p += snprintf(p,len, "%s", cursor);
- }
- return res;
-}
-