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 |