1*3e12c5d1SDavid du Colombier #include <u.h> 2*3e12c5d1SDavid du Colombier #include <libc.h> 3*3e12c5d1SDavid du Colombier 4*3e12c5d1SDavid du Colombier void* memccpy(void * a1,void * a2,int c,ulong n)5*3e12c5d1SDavid du Colombiermemccpy(void *a1, void *a2, int c, ulong n) 6*3e12c5d1SDavid du Colombier { 7*3e12c5d1SDavid du Colombier uchar *s1, *s2; 8*3e12c5d1SDavid du Colombier 9*3e12c5d1SDavid du Colombier s1 = a1; 10*3e12c5d1SDavid du Colombier s2 = a2; 11*3e12c5d1SDavid du Colombier c &= 0xFF; 12*3e12c5d1SDavid du Colombier while(n > 0) { 13*3e12c5d1SDavid du Colombier if((*s1++ = *s2++) == c) 14*3e12c5d1SDavid du Colombier return s1; 15*3e12c5d1SDavid du Colombier n--; 16*3e12c5d1SDavid du Colombier } 17*3e12c5d1SDavid du Colombier return 0; 18*3e12c5d1SDavid du Colombier } 19