Admin Panel
#ifndef mc68000
#include <string.h>
char *strncat(char *s1,const char *s2,size_t n)
{
if (n) {
char *s=s1;
do;while(*s++); --s;
for(;;) {
if (!(*s++=*s2++))
break;
if (!--n) {
*s=0; break;
}
}
}
return s1;
}
#else
asm(
" .globl _strncat;"
"_strncat:;"
" moveml sp@(4:W),d0/a0;"
" movel d0,a1;"
" movel sp@(12),d1;"
" jeq L1;"
"L3: tstb a1@+;"
" jne L3;"
" subql #1,a1;"
"L2: moveb a0@+,a1@+;"
" jeq L1;"
" subql #1,d1;"
" jne L2;"
" clrb a1@;"
"L1: rts;"
);
#endif