You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
582 B
C

#include "str.h"
size_t str_copy(char *out,const char *in) {
register char* s=out;
register const char* t=in;
for (;;) {
if (!(*s=*t)) break;
++s; ++t;
if (!(*s=*t)) break;
++s; ++t;
if (!(*s=*t)) break;
++s; ++t;
if (!(*s=*t)) break;
++s; ++t;
}
return (size_t)(s-out);
}
#ifdef UNITTEST
#include <assert.h>
#include <string.h>
int main() {
char buf[100];
memset(buf,1,sizeof(buf)); assert(str_copy(buf,"foo")==3 && !memcmp(buf,"foo",4));
}
#endif