WMII Reforge  Artifact [50b12aea88]

Artifact 50b12aea88072ad01e0d0e132fb77f40419578b7f0b47e2b6b1fedf983e76910:

  • File lib/libstuff/util/join.c — part of check-in [15eae1e8e6] at 2019-06-20 16:42:23 on branch trunk — Import sources to have something to work with (user: KhazAkar size: 418)

/* Copyright ©2008-2010 Kris Maglione <maglione.k at Gmail>
 * See LICENSE file for license details.
 */
#include <fmt.h>
#include "util.h"

char*
join(char **list, char *sep, Fmt *f) {
	Fmt fmt;
	char **p;

	if(f == nil) {
		f = &fmt;
		if(fmtstrinit(f) < 0)
			abort();
	}

	for(p=list; *p; p++) {
		if(p != list)
			fmtstrcpy(f, sep);
		fmtstrcpy(f, *p);
	}

	if(f != &fmt)
		return nil;
	return fmtstrflush(f);
}