Rev 171 | Rev 321 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 171 | Rev 247 | ||
---|---|---|---|
Line 597... | Line 597... | ||
597 | ret |
597 | ret |
598 | @@: |
598 | @@: |
599 | cmp byte [edi+11], 0xF |
599 | cmp byte [edi+11], 0xF |
600 | jz .longname |
600 | jz .longname |
601 | push ecx |
601 | push ecx |
602 | mov ecx, 8 |
- | |
603 | push edi ebp ecx |
602 | push edi ebp |
604 | test byte [ebp-4], 1 |
603 | test byte [ebp-4], 1 |
605 | jnz .unicode_short |
604 | jnz .unicode_short |
- | 605 | ||
- | 606 | mov eax, [edi] |
|
- | 607 | mov ecx, [edi+4] |
|
- | 608 | mov [ebp], eax |
|
- | 609 | mov [ebp+4], ecx |
|
- | 610 | ||
- | 611 | mov ecx, 8 |
|
606 | @@: |
612 | @@: |
607 | mov al, [edi] |
- | |
608 | inc edi |
- | |
609 | mov [ebp], al |
613 | cmp byte [ebp+ecx-1], ' ' |
610 | inc ebp |
- | |
611 | loop @b |
614 | loope @b |
- | 615 | ||
612 | pop ecx |
616 | mov eax, [edi+8] |
613 | @@: |
- | |
614 | cmp byte [ebp-1], ' ' |
617 | cmp al, ' ' |
615 | jnz @f |
618 | je .done |
616 | dec ebp |
619 | shl eax, 8 |
617 | loop @b |
620 | mov al, '.' |
618 | @@: |
621 | |
619 | mov byte [ebp], '.' |
622 | lea ebp, [ebp+ecx+1] |
620 | inc ebp |
623 | mov [ebp], eax |
621 | mov ecx, 3 |
624 | mov ecx, 3 |
622 | push ecx |
- | |
623 | @@: |
- | |
624 | mov al, [edi] |
- | |
625 | inc edi |
- | |
626 | mov [ebp], al |
- | |
627 | inc ebp |
- | |
628 | loop @b |
- | |
629 | pop ecx |
- | |
630 | @@: |
625 | @@: |
631 | cmp byte [ebp-1], ' ' |
626 | rol eax, 8 |
632 | jnz @f |
627 | cmp al, ' ' |
633 | dec ebp |
628 | jne .done |
634 | loop @b |
629 | loop @b |
635 | dec ebp |
630 | dec ebp |
636 | @@: |
631 | .done: |
637 | and byte [ebp], 0 ; CF=0 |
632 | and byte [ebp+ecx+1], 0 ; CF=0 |
638 | pop ebp edi ecx |
633 | pop ebp edi ecx |
639 | ret |
634 | ret |
640 | .unicode_short: |
635 | .unicode_short: |
- | 636 | mov ecx, 8 |
|
- | 637 | push ecx |
|
641 | @@: |
638 | @@: |
642 | mov al, [edi] |
639 | mov al, [edi] |
643 | inc edi |
640 | inc edi |
644 | call ansi2uni_char |
641 | call ansi2uni_char |
645 | mov [ebp], ax |
642 | mov [ebp], ax |