Rev 6875 | Rev 7040 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6875 | Rev 6917 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 6875 $ |
8 | $Revision: 6917 $ |
9 | 9 | ||
10 | ; ============================================================================= |
10 | ; ============================================================================= |
11 | ; ================================= Constants ================================= |
11 | ; ================================= Constants ================================= |
Line 1476... | Line 1476... | ||
1476 | mov eax, [eax+ecx*4] |
1476 | mov eax, [eax+ecx*4] |
1477 | mov edi, [eax+PARTITION.FSUserFunctions] |
1477 | mov edi, [eax+PARTITION.FSUserFunctions] |
1478 | mov ecx, [ebx] |
1478 | mov ecx, [ebx] |
1479 | cmp [edi+4], ecx |
1479 | cmp [edi+4], ecx |
1480 | jbe .unsupported |
1480 | jbe .unsupported |
- | 1481 | pushd edx ebp eax [edi+8+ecx*4] |
|
- | 1482 | cmp ecx, 10 |
|
- | 1483 | jnz .callFS |
|
- | 1484 | or ecx, -1 |
|
- | 1485 | mov edi, esi |
|
- | 1486 | xor eax, eax |
|
- | 1487 | repnz scasb |
|
- | 1488 | mov edx, edi |
|
1481 | push edx |
1489 | dec edi |
- | 1490 | mov al, '/' |
|
- | 1491 | std |
|
- | 1492 | repnz scasb |
|
- | 1493 | cld |
|
1482 | push ebp |
1494 | inc edi |
- | 1495 | mov [edi], ah |
|
- | 1496 | mov ebp, [current_slot] |
|
- | 1497 | add ebp, APPDATA.cur_dir |
|
- | 1498 | pushd ebx esi edx [ebp] ebp edi |
|
- | 1499 | sub esi, 2 |
|
- | 1500 | mov [ebp], esi |
|
1483 | mov ebp, eax |
1501 | mov edi, edx |
- | 1502 | mov esi, [ebx+16] |
|
- | 1503 | mov eax, [ebx+20] |
|
- | 1504 | cmp eax, 4 |
|
- | 1505 | jc @f |
|
- | 1506 | xor eax, eax |
|
- | 1507 | @@: |
|
- | 1508 | call getFullPath |
|
- | 1509 | pop edi ebp |
|
1484 | call dword [edi+8+ecx*4] |
1510 | mov byte [edi], '/' |
- | 1511 | popd [ebp] edi esi ebx |
|
- | 1512 | test eax, eax |
|
- | 1513 | jz .errorRename |
|
- | 1514 | add edi, 2 |
|
- | 1515 | .callFS: |
|
1485 | pop ebp |
1516 | pop eax ebp |
- | 1517 | call eax |
|
1486 | pop edx |
1518 | pop ebp edx |
1487 | mov dword [esp+20], ebx |
1519 | mov dword [esp+20], ebx |
1488 | .cleanup: |
1520 | .cleanup: |
1489 | mov dword [esp+32], eax |
1521 | mov dword [esp+32], eax |
1490 | mov esi, edx |
1522 | mov esi, edx |
1491 | call disk_media_dereference |
1523 | call disk_media_dereference |
Line 1499... | Line 1531... | ||
1499 | cmp edi, default_fs_functions |
1531 | cmp edi, default_fs_functions |
1500 | jz .cleanup |
1532 | jz .cleanup |
1501 | movi eax, ERROR_UNSUPPORTED_FS |
1533 | movi eax, ERROR_UNSUPPORTED_FS |
1502 | jmp .cleanup |
1534 | jmp .cleanup |
Line -... | Line 1535... | ||
- | 1535 | ||
- | 1536 | .errorRename: |
|
1503 | 1537 | pop eax eax ebp edx |
|
1504 | .notfound2: |
1538 | .notfound2: |
1505 | movi eax, ERROR_FILE_NOT_FOUND |
1539 | movi eax, ERROR_FILE_NOT_FOUND |
Line 1506... | Line 1540... | ||
1506 | jmp .cleanup |
1540 | jmp .cleanup |