Subversion Repositories Kolibri OS

Rev

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

Rev 227 Rev 237
Line 516... Line 516...
516
           test eax, eax
516
           test eax, eax
517
           jnz .fail
517
           jnz .fail
518
 
518
 
Line 519... Line 519...
519
           mov eax, [file_size]
519
           mov eax, [file_size]
-
 
520
           cmp eax, 1024*1024*16
-
 
521
           ja .fail
Line 520... Line 522...
520
 
522
 
521
           stdcall kernel_alloc, [file_size]
523
           stdcall kernel_alloc, [file_size]
Line 522... Line 524...
522
           mov [file], eax
524
           mov [file], eax
Line 527... Line 529...
527
 
529
 
Line 528... Line 530...
528
           mov eax, [file]
530
           mov eax, [file]
529
           cmp dword [eax], 0x4B43504B
531
           cmp dword [eax], 0x4B43504B
530
           jne .exit
532
           jne .exit
531
 
-
 
-
 
533
           mov ebx, [eax+4]
-
 
534
           mov [file_size], ebx
532
           stdcall kernel_alloc, [eax+4]
535
           stdcall kernel_alloc, ebx
Line 533... Line 536...
533
 
536
 
534
           test eax, eax
537
           test eax, eax
Line 535... Line 538...
535
           jz .cleanup
538
           jz .cleanup
536
 
539
 
537
           mov [file2], eax
540
           mov [file2], eax
538
           stdcall unpack, [file], eax
541
           stdcall unpack, [file], eax
-
 
542
           stdcall kernel_free, [file]
539
           stdcall kernel_free, [file]
543
           mov eax, [file2]
540
           mov eax, [file2]
544
           mov ebx, [file_size]
541
.exit:
545
.exit:
542
           ret
546
           ret
543
.cleanup:
547
.cleanup:
544
           stdcall kernel_free, [file]
548
           stdcall kernel_free, [file]
-
 
549
.fail:
545
.fail:
550
           xor eax, eax
546
           xor eax, eax
551
           xor ebx, ebx
Line 547... Line 552...
547
           ret
552
           ret
548
endp
553
endp
Line 860... Line 865...
860
 
865
 
Line 861... Line 866...
861
           cli
866
           cli
Line 862... Line 867...
862
 
867
 
863
           stdcall load_file, [file_name]
-
 
864
 
868
           stdcall load_file, [file_name]
865
           test eax, eax
869
           test eax, eax
Line 866... Line 870...
866
           jz .fail
870
           jz .fail
867
 
871