xref: /plan9/sys/src/libString/s_memappend.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_memappend(String * to,char * from,int n)7*80ee5cbfSDavid du Colombier s_memappend(String *to, char *from, int n)
8*80ee5cbfSDavid du Colombier {
9*80ee5cbfSDavid du Colombier 	char *e;
10*80ee5cbfSDavid du Colombier 
11*80ee5cbfSDavid du Colombier 	if (to == 0)
12*80ee5cbfSDavid du Colombier 		to = s_new();
13*80ee5cbfSDavid du Colombier 	if (from == 0)
14*80ee5cbfSDavid du Colombier 		return to;
15*80ee5cbfSDavid du Colombier 	for(e = from + n; from < e; from++)
16*80ee5cbfSDavid du Colombier 		s_putc(to, *from);
17*80ee5cbfSDavid du Colombier 	s_terminate(to);
18*80ee5cbfSDavid du Colombier 	return to;
19*80ee5cbfSDavid du Colombier }
20*80ee5cbfSDavid du Colombier 
21