Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4973 right-hear 1
#include 
2
 
3
char *
4
strncat(char *dst, const char *src, size_t n)
5
{
6
int d0, d1, d2, d3;
7
__asm__ __volatile__(
8
	"repne\n\t"
9
	"scasb\n\t"
10
	"decl %1\n\t"
11
	"movl %8,%3\n"
12
	"1:\tdecl %3\n\t"
13
	"js 2f\n\t"
14
	"lodsb\n\t"
15
	"stosb\n\t"
16
	"testb %%al,%%al\n\t"
17
	"jne 1b\n"
18
	"2:\txorl %2,%2\n\t"
19
	"stosb"
20
	: "=&S" (d0), "=&D" (d1), "=&a" (d2), "=&c" (d3)
21
	: "0" (src),"1" (dst),"2" (0),"3" (0xffffffff), "g" (n)
22
	: "memory");
23
return dst;
24
}