Subversion Repositories Kolibri OS

Rev

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

Rev 89 Rev 90
Line 274... Line 274...
274
    add   eax,ebp
274
    add   eax,ebp
275
    cmp   esi,eax
275
    cmp   esi,eax
276
    jb   .ansi
276
    jb   .ansi
277
.cd_get_parameters_of_file_1:
277
.cd_get_parameters_of_file_1:
278
    mov   [edi],byte 0
278
    mov   [edi],byte 0
279
    call  .cd_get_parameters_of_file
279
    call  cd_get_parameters_of_file
280
    add   [cd_mem_location],304
280
    add   [cd_mem_location],304
281
    jmp   .get_names_from_buffer_1
281
    jmp   .get_names_from_buffer_1
Line 282... Line 282...
282
 
282
 
283
.ansi_parent_directory:
283
.ansi_parent_directory:
Line 311... Line 311...
311
    add   eax,ebp
311
    add   eax,ebp
312
    cmp   esi,eax
312
    cmp   esi,eax
313
    jb   .unicode
313
    jb   .unicode
314
.cd_get_parameters_of_file_2:
314
.cd_get_parameters_of_file_2:
315
    mov   [edi],word 0
315
    mov   [edi],word 0
316
    call  .cd_get_parameters_of_file
316
    call  cd_get_parameters_of_file
317
    add   [cd_mem_location],560
317
    add   [cd_mem_location],560
318
    jmp   .get_names_from_buffer_1
318
    jmp   .get_names_from_buffer_1
Line 319... Line 319...
319
 
319
 
320
.unicode_parent_directory:
320
.unicode_parent_directory:
Line 326... Line 326...
326
@@:
326
@@:
327
    mov   [edi],dword 2E002E00h ; '..'
327
    mov   [edi],dword 2E002E00h ; '..'
328
    add   edi,4
328
    add   edi,4
329
    jmp   .cd_get_parameters_of_file_2
329
    jmp   .cd_get_parameters_of_file_2
Line -... Line 330...
-
 
330
 
-
 
331
.end_buffer:
-
 
332
    pop   edx edi esi eax
-
 
333
    ret
330
 
334
 
331
.cd_get_parameters_of_file:
335
cd_get_parameters_of_file:
-
 
336
    mov   edi,[cd_mem_location]
332
    mov   edi,[cd_mem_location]
337
cd_get_parameters_of_file_1:
333
; ïîëó÷àåì àòðèáóòû ôàéëà
338
; ïîëó÷àåì àòðèáóòû ôàéëà
334
    xor   eax,eax
339
    xor   eax,eax
335
; ôàéë íå àðõèâèðîâàëñÿ
340
; ôàéë íå àðõèâèðîâàëñÿ
336
    inc   al
341
    inc   al
Line 398... Line 403...
398
    mov   [edi+32+4],eax
403
    mov   [edi+32+4],eax
399
    mov   eax,[ebp-23]
404
    mov   eax,[ebp-23]
400
    mov   [edi+32],eax
405
    mov   [edi+32],eax
401
    ret
406
    ret
Line -... Line 407...
-
 
407
 
-
 
408
;----------------------------------------------------------------
-
 
409
;
-
 
410
;  fs_CdGetFileInfo - LFN variant for CD
-
 
411
;                     get file/directory attributes structure
-
 
412
;        
-
 
413
;----------------------------------------------------------------
-
 
414
fs_CdGetFileInfo:
-
 
415
        cmp     byte [esi], 0
-
 
416
        jnz     @f
402
 
417
        mov     eax, 2
-
 
418
        ret
-
 
419
@@:
-
 
420
        push    edi ebp
-
 
421
        call    cd_find_lfn
-
 
422
        pushfd
-
 
423
        cmp     [DevErrorCode], 0
-
 
424
        jz      @f
-
 
425
        popfd
-
 
426
        pop     ebp edi
-
 
427
        mov     eax, 11
-
 
428
        ret
-
 
429
@@:
-
 
430
        popfd
-
 
431
        jnc     @f
-
 
432
        pop     ebp edi
-
 
433
        mov     eax, ERROR_FILE_NOT_FOUND
-
 
434
        ret
-
 
435
@@:
-
 
436
 
-
 
437
        mov     edi, edx
-
 
438
        call    cd_get_parameters_of_file_1
-
 
439
        and     dword [edi+4], 0
-
 
440
        pop     ebp
403
.end_buffer:
441
        pop     ebp edi
404
    pop   edx edi esi eax
442
        xor     eax, eax
Line 405... Line 443...
405
    ret
443
        ret
406
        
444
 
407
cd_find_lfn:
445
cd_find_lfn: