Subversion Repositories Kolibri OS

Rev

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

Rev 134 Rev 139
Line 339... Line 339...
339
    call find_slash
339
    call find_slash
340
    lea  edx,[edi-filename+fnbuf] ; edx -> '/'
340
    lea  edx,[edi-filename+fnbuf] ; edx -> '/'
341
    and  byte[edi],0
341
    and  byte[edi],0
342
    mov  esi,filename
342
    mov  esi,filename
343
    mov  edi,fnbuf
343
    mov  edi,fnbuf
344
    mov  ecx,64
344
    mov  ecx,1024/4
345
    rep  movsb
345
    rep  movsd
346
    mov  dword[file_info+12],dir_table
346
        and     dword [dir_info+4], 0
347
    mov  dword[file_info+8],DIR_SIZE/512
-
 
348
  .nxt2:
347
  .nxt2:
349
    mcall 58,file_info
348
        mcall   70, dir_info
350
    mov  ecx,DIR_SIZE/32
349
        cmp     ebx, 1
351
    mov  esi,dir_table
350
        jnz     red ;still
-
 
351
        test    byte [dir_table+32], 11000b     ; exclude directories & vol label
352
  .nxt:
352
        jnz     .no
-
 
353
        mov     edi, dir_table+32+40
353
    mov  al,[esi]
354
        mov     esi, edi
354
    cmp  al,0xe5
355
        xor     eax, eax
355
    je   .no
356
        or      ecx, -1
356
    test al,al
357
        repnz   scasb
-
 
358
        mov     eax, [edi-5]
-
 
359
        or      eax, 0x20202000
-
 
360
        cmp     eax, '.mid'
357
    jz   .end
361
        jz      .ok
358
    test byte[esi+12],11000b
362
        cmp     eax, '.kar'
359
    jnz  .no
363
        jnz     .no
360
    mov  eax,[esi+7]
-
 
361
    mov  al,'.'
-
 
362
    cmp  eax,'.MID'
-
 
363
    je   .ok
-
 
364
    cmp  eax,'.KAR'
-
 
365
    jne  .no
-
 
366
  .ok:
364
.ok:
367
    mov  [esi+8],eax
365
        lea     ecx, [edi-dir_table-32-40-1]
368
    pusha
-
 
369
    mov  edi,edx
366
        mov     edi, edx
370
    mov  ecx,12
-
 
371
    rep  movsb
367
        rep     movsb
372
    and  byte[edi],0
-
 
373
    mov  ecx,edi
368
        mov     ecx, edi
374
    sub  ecx,fnbuf
-
 
375
    mov  esi,fnbuf
369
        mov     esi, fnbuf
-
 
370
        sub     ecx, esi
376
    call PL_add
371
        call    PL_add
377
    popa
-
 
378
  .no:
372
.no:
379
    add  esi,32
-
 
380
    loop .nxt
-
 
381
    add  dword[file_info+4],DIR_SIZE/512
373
        inc     dword [dir_info+4]
382
    jmp  .nxt2
374
        jmp     .nxt2
383
  .end:
-
 
384
    mov  ebx,file_info
-
 
385
    and  dword[ebx+4],0
-
 
386
    mov  [fsize],1
-
 
387
    mov  dword[ebx+12],workarea
-
 
388
    jmp  red;still
-
 
389
  bSelZero:
375
  bSelZero:
390
    call PL_clearsel
376
    call PL_clearsel
391
    jmp  red
377
    jmp  red
392
  bInvSel:
378
  bInvSel:
393
    call PL_invsel
379
    call PL_invsel