Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/ape/lib/ap/gen/strcpy.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include <string.h>
#define	N	10000

static void*
pmemccpy(void *a1, void *a2, int c, size_t n)
{
	char *s1, *s2;

	s1 = a1;
	s2 = a2;
	while(n > 0) {
		if((*s1++ = *s2++) == c)
			return s1;
		n--;
	}
	return 0;
}

char*
strcpy(char *s1, const char *s2)
{
	char *os1;

	os1 = s1;
	while(!pmemccpy(s1, s2, 0, N)) {
		s1 += N;
		s2 += N;
	}
	return os1;
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.