Subversion Repositories Kolibri OS

Rev

Rev 7749 | Rev 7752 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7749 Rev 7750
Line 393... Line 393...
393
    rep movsb
393
    rep movsb
394
    mov eax, ebx
394
    mov eax, ebx
395
    }
395
    }
396
}
396
}
Line 397... Line 397...
397
 
397
 
398
:void strncat(dword text1, text2, signed len)
-
 
399
signed o1,o2;
-
 
400
char s;
398
:void strncat(dword dst, src, dword len)
401
{
399
{
-
 
400
	while (ESBYTE[dst]) dst++;
-
 
401
	while (ESBYTE[src]) && (len) {
402
	s = DSBYTE[text1];
402
		ESBYTE[dst] = ESBYTE[src];
403
	while(s){
403
		dst++;
404
		$inc text1
404
		src++;
405
		s = DSBYTE[text1];
405
		len--;
406
	}
-
 
407
	o1 = len/4;
-
 
408
	o2 = len-4*o1;
-
 
409
	while(o1){
-
 
410
		DSDWORD[text1] = DSDWORD[text2];
-
 
411
		text1 += 4;
-
 
412
		text2 += 4;
-
 
413
		$dec o1
-
 
414
	}
-
 
415
	while(o2){
-
 
416
		DSBYTE[text1] = DSBYTE[text2];
-
 
417
		$inc text1 
-
 
418
		$inc text2 
-
 
419
		$dec o2
-
 
420
	}
-
 
421
	DSBYTE[text1] = 0;
406
	}
Line 422... Line 407...
422
}
407
}
423
 
408
 
424
inline fastcall void chrcat(ESI, BL)
409
inline fastcall void chrcat(ESI, DI)
425
{
410
{
-
 
411
    while (ESBYTE[ESI]) ESI++;
426
    EDI = strlen(ESI);
412
    ESBYTE[ESI] = DI;
427
    ESBYTE[ESI+EDI] = BL;
413
    ESI++;
Line 428... Line 414...
428
    ESBYTE[ESI+EDI+1] = 0;
414
    ESBYTE[ESI] = 0;
429
}
415
}
430
 
416