xref: /plan9/sys/src/libc/port/strecpy.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
159cc4ca5SDavid du Colombier #include <u.h>
259cc4ca5SDavid du Colombier #include <libc.h>
359cc4ca5SDavid du Colombier 
459cc4ca5SDavid du Colombier char*
strecpy(char * to,char * e,char * from)559cc4ca5SDavid du Colombier strecpy(char *to, char *e, char *from)
659cc4ca5SDavid du Colombier {
759cc4ca5SDavid du Colombier 	if(to >= e)
859cc4ca5SDavid du Colombier 		return to;
959cc4ca5SDavid du Colombier 	to = memccpy(to, from, '\0', e - to);
1059cc4ca5SDavid du Colombier 	if(to == nil){
1159cc4ca5SDavid du Colombier 		to = e - 1;
1259cc4ca5SDavid du Colombier 		*to = '\0';
13*9a747e4fSDavid du Colombier 	}else{
14*9a747e4fSDavid du Colombier 		to--;
1559cc4ca5SDavid du Colombier 	}
1659cc4ca5SDavid du Colombier 	return to;
1759cc4ca5SDavid du Colombier }
18