xref: /plan9/sys/src/cmd/unix/drawterm/libc/strecpy.c (revision 8ccd4a6360d974db7bd7bbd4f37e7018419ea908)
1*8ccd4a63SDavid du Colombier #include <u.h>
2*8ccd4a63SDavid du Colombier #include <libc.h>
3*8ccd4a63SDavid du Colombier 
4*8ccd4a63SDavid du Colombier char*
strecpy(char * to,char * e,char * from)5*8ccd4a63SDavid du Colombier strecpy(char *to, char *e, char *from)
6*8ccd4a63SDavid du Colombier {
7*8ccd4a63SDavid du Colombier 	if(to >= e)
8*8ccd4a63SDavid du Colombier 		return to;
9*8ccd4a63SDavid du Colombier 	to = memccpy(to, from, '\0', e - to);
10*8ccd4a63SDavid du Colombier 	if(to == nil){
11*8ccd4a63SDavid du Colombier 		to = e - 1;
12*8ccd4a63SDavid du Colombier 		*to = '\0';
13*8ccd4a63SDavid du Colombier 	}else{
14*8ccd4a63SDavid du Colombier 		to--;
15*8ccd4a63SDavid du Colombier 	}
16*8ccd4a63SDavid du Colombier 	return to;
17*8ccd4a63SDavid du Colombier }
18