xref: /inferno-os/libkern/strncpy.c (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth #include <lib9.h>
2*37da2899SCharles.Forsyth 
3*37da2899SCharles.Forsyth char*
strncpy(char * s1,char * s2,long n)4*37da2899SCharles.Forsyth strncpy(char *s1, char *s2, long n)
5*37da2899SCharles.Forsyth {
6*37da2899SCharles.Forsyth 	int i;
7*37da2899SCharles.Forsyth 	char *os1;
8*37da2899SCharles.Forsyth 
9*37da2899SCharles.Forsyth 	os1 = s1;
10*37da2899SCharles.Forsyth 	for(i = 0; i < n; i++)
11*37da2899SCharles.Forsyth 		if((*s1++ = *s2++) == 0) {
12*37da2899SCharles.Forsyth 			while(++i < n)
13*37da2899SCharles.Forsyth 				*s1++ = 0;
14*37da2899SCharles.Forsyth 			return os1;
15*37da2899SCharles.Forsyth 		}
16*37da2899SCharles.Forsyth 	return os1;
17*37da2899SCharles.Forsyth }
18