xref: /plan9/sys/src/libString/s_nappend.c (revision 80ee5cbfe36716af62da8896207e9763b8e3d760)
1*80ee5cbfSDavid du Colombier #include <u.h>
2*80ee5cbfSDavid du Colombier #include <libc.h>
3*80ee5cbfSDavid du Colombier #include "String.h"
4*80ee5cbfSDavid du Colombier 
5*80ee5cbfSDavid du Colombier /* append a char array ( of up to n characters) to a String */
6*80ee5cbfSDavid du Colombier String *
s_nappend(String * to,char * from,int n)7*80ee5cbfSDavid du Colombier s_nappend(String *to, char *from, int n)
8*80ee5cbfSDavid du Colombier {
9*80ee5cbfSDavid du Colombier 	if (to == 0)
10*80ee5cbfSDavid du Colombier 		to = s_new();
11*80ee5cbfSDavid du Colombier 	if (from == 0)
12*80ee5cbfSDavid du Colombier 		return to;
13*80ee5cbfSDavid du Colombier 	for(; n && *from; from++, n--)
14*80ee5cbfSDavid du Colombier 		s_putc(to, *from);
15*80ee5cbfSDavid du Colombier 	s_terminate(to);
16*80ee5cbfSDavid du Colombier 	return to;
17*80ee5cbfSDavid du Colombier }
18*80ee5cbfSDavid du Colombier 
19