Subversion Repositories Kolibri OS

Rev

Rev 6875 | Rev 7040 | Go to most recent revision | Show entire file | Regard 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