Subversion Repositories Kolibri OS

Rev

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

Rev 6502 Rev 6792
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2016. 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: 6502 $
8
$Revision: 6792 $
9
 
9
 
Line 897... Line 897...
897
        pop     ecx
897
        pop     ecx
898
        dec     eax
898
        dec     eax
899
        ret
899
        ret
Line 900... Line 900...
900
 
900
 
901
align 4
901
align 4
902
proc load_library stdcall, file_name:dword
902
proc load_library stdcall, file_name:dword, encoding:dword
903
    locals
903
    locals
904
        fullname    dd  ?
904
        fullname    dd  ?
905
        fileinfo    rb  40
905
        fileinfo    rb  40
906
        coff        dd  ?
906
        coff        dd  ?
907
        img_base    dd  ?
907
        img_base    dd  ?
Line 908... Line 908...
908
    endl
908
    endl
909
 
909
 
910
; resolve file name
910
; resolve file name
-
 
911
        stdcall kernel_alloc, maxPathLength
911
        stdcall kernel_alloc, maxPathLength
912
        mov     [fullname], eax
-
 
913
        mov     edi, eax
-
 
914
        mov     esi, [file_name]
912
        mov     [fullname], eax
915
        mov     eax, [encoding]
-
 
916
        push    ebp
913
        mov     ebx, [file_name]
917
        call    getFullPath
914
        stdcall get_full_file_name, eax, maxPathLength
918
        pop     ebp
915
        test    eax, eax
919
        test    eax, eax
916
        jz      .fail
920
        jz      .fail
917
; scan for required DLL in list of already loaded for this process,
921
; scan for required DLL in list of already loaded for this process,