Subversion Repositories Kolibri OS

Rev

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

Rev 314 Rev 321
Line 32... Line 32...
32
@@:
32
@@:
33
        lodsb
33
        lodsb
34
        stosb
34
        stosb
35
        test    al, al
35
        test    al, al
36
        jnz     @b
36
        jnz     @b
37
@@:
-
 
38
        mov     esi, def_right_dir
37
        mov     esi, def_right_dir
39
        mov     edi, panel2_dir
38
        mov     edi, panel2_dir
40
@@:
39
@@:
41
        lodsb
40
        lodsb
42
        stosb
41
        stosb
Line 673... Line 672...
673
        mov     [execptr], execdata
672
        mov     [execptr], execdata
674
        and     [execparams], 0
673
        and     [execparams], 0
675
.dorun:
674
.dorun:
676
        lea     esi, [ebp + panel1_dir - panel1_data]
675
        lea     esi, [ebp + panel1_dir - panel1_data]
677
        mov     edi, execdata
676
        mov     edi, execdata
678
; TODO: add overflow check
-
 
679
@@:
677
@@:
680
        lodsb
678
        lodsb
681
        test    al, al
679
        test    al, al
682
        jz      @f
680
        jz      @f
683
        stosb
681
        stosb
-
 
682
        cmp     edi, execdataend-1
-
 
683
        jae     .bigfilename
684
        jmp     @b
684
        jmp     @b
685
@@:
685
@@:
686
        lea     esi, [ecx+40]
686
        lea     esi, [ecx+40]
687
        mov     al, '/'
687
        mov     al, '/'
688
        stosb
688
        stosb
689
@@:
689
@@:
690
        lodsb
690
        lodsb
691
        stosb
691
        stosb
-
 
692
        cmp     edi, execdataend
-
 
693
        ja      .bigfilename
692
        test    al, al
694
        test    al, al
693
        jnz     @b
695
        jnz     @b
694
; for fasm call - special handling, because
696
; for fasm call - special handling, because
695
; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile
697
; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile
696
; 2) fasm will probably create new file in directory, so we want to reload panel data
698
; 2) fasm will probably create new file in directory, so we want to reload panel data
697
        xor     edx, edx
699
        xor     edx, edx
698
        cmp     [execparams], edx
700
        cmp     [execparams], edx
699
        jz      .nofasm
701
        jz      .nofasm
700
        cmp     [execptr], fasm
702
        cmp     [execptr], fasm
701
        jnz     .nofasm
703
        jnz     .nofasm
702
; TODO: add buffer/cmdline overflow check
704
        cmp     edi, execdata+(execdataend-execdata)/2
-
 
705
        ja      .bigfilename
703
        mov     esi, execdata
706
        mov     esi, execdata
704
@@:
707
@@:
705
        lodsb
708
        lodsb
706
        stosb
709
        stosb
707
        test    al, al
710
        test    al, al
Line 715... Line 718...
715
        cmp     byte [edi], '.'
718
        cmp     byte [edi], '.'
716
        jz      .ptfound
719
        jz      .ptfound
717
        cmp     byte [edi], '/'
720
        cmp     byte [edi], '/'
718
        jnz     @b
721
        jnz     @b
719
        pop     edi
722
        pop     edi
-
 
723
        cmp     edi, execdataend-4
-
 
724
        ja      .bigfilename
720
        mov     dword [edi-1], '.bin'
725
        mov     dword [edi-1], '.bin'
721
        mov     byte [edi+3], 0
726
        mov     byte [edi+3], 0
722
        jmp     .nofasm
727
        jmp     .nofasm
723
.ptfound:
728
.ptfound:
724
        mov     byte [edi], 0
729
        mov     byte [edi], 0
725
        pop     edi
730
        pop     edi
726
.nofasm:
731
.nofasm:
-
 
732
        mov     ebx, execinfo
-
 
733
; if command line is more than 256 symbols, the kernel will truncate it
-
 
734
; we does not want this!
-
 
735
; N.B. We know that command line is either NULL or execdata, which is always ASCIIZ string,
-
 
736
;      but can be up to 1023 symbols
-
 
737
        mov     esi, [ebx+8]
-
 
738
        test    esi, esi
-
 
739
        jz      .cmdlinelenok
-
 
740
@@:
-
 
741
        lodsb
-
 
742
        test    al, al
-
 
743
        jnz     @b
-
 
744
        sub     esi, [ebx+8]
-
 
745
        dec     esi
-
 
746
        cmp     esi, 256
-
 
747
        ja      .bigcmdline
-
 
748
.cmdlinelenok:
727
        push    70
749
        push    70
728
        pop     eax
750
        pop     eax
729
        mov     ebx, execinfo
-
 
730
        int     40h
751
        int     40h
-
 
752
        neg     eax
-
 
753
        js      @f
-
 
754
        push    aContinue
-
 
755
        mov     esi, esp
-
 
756
        call    get_error_msg
-
 
757
        push    eax
-
 
758
        push    aRunError
-
 
759
        mov     eax, esp
-
 
760
        push    esi
-
 
761
        push    1
-
 
762
        push    eax
-
 
763
        push    2
-
 
764
        push    -1
-
 
765
        push    -1
-
 
766
        push    aError
-
 
767
        call    SayErr
-
 
768
        add     esp, 3*4
-
 
769
        ret
-
 
770
@@:
731
        test    edx, edx
771
        test    edx, edx
732
        jz      @f
772
        jz      @f
733
        push    5
773
        push    5
734
        pop     eax
774
        pop     eax
735
        push    20
775
        push    20
736
        pop     ebx
776
        pop     ebx
737
        int     0x40
777
        int     0x40
738
        jmp     .ctrl_r
778
        jmp     .ctrl_r
739
@@:
779
@@:
740
        ret
780
        ret
-
 
781
.bigfilename3:
-
 
782
        pop     esi
-
 
783
.bigfilename2:
-
 
784
        pop     esi
-
 
785
.bigfilename:
-
 
786
        mov     eax, aFileNameTooBig
-
 
787
@@:
-
 
788
        push    aContinue
-
 
789
        mov     esi, esp
-
 
790
        push    eax
-
 
791
        mov     eax, esp
-
 
792
        push    esi
-
 
793
        push    1
-
 
794
        push    eax
-
 
795
        push    1
-
 
796
        push    -1
-
 
797
        push    -1
-
 
798
        push    aError
-
 
799
        call    SayErr
-
 
800
        add     esp, 2*4
-
 
801
        ret
-
 
802
.bigcmdline:
-
 
803
        mov     eax, aCmdLineTooBig
-
 
804
        jmp     @b
-
 
805
.bigfoldername2:
-
 
806
        mov     byte [ecx], 0
-
 
807
.bigfoldername:
-
 
808
        mov     eax, aFolderNameTooBig
-
 
809
        jmp     @b
-
 
810
.copytoself:
-
 
811
        mov     eax, aCannotCopyToSelf
-
 
812
        jmp     @b
741
.enter_folder:
813
.enter_folder:
742
        lea     esi, [ecx+40]
814
        lea     esi, [ecx+40]
743
        cmp     word [esi], '..'
815
        cmp     word [esi], '..'
744
        jnz     @f
816
        jnz     @f
745
        cmp     byte [esi+2], 0
817
        cmp     byte [esi+2], 0
Line 752... Line 824...
752
        lodsb
824
        lodsb
753
        stosb
825
        stosb
754
        test    al, al
826
        test    al, al
755
        jnz     @b
827
        jnz     @b
756
        lea     edi, [esi-1]
828
        lea     edi, [esi-1]
-
 
829
        lea     edx, [ebp + panel1_dir - panel1_data + 1024]
-
 
830
        cmp     esi, edx
757
        pop     esi
831
        pop     esi
-
 
832
        jae     .bigfoldername
-
 
833
        mov     ecx, edi
758
        mov     al, '/'
834
        mov     al, '/'
759
        cmp     [edi-1], al
835
        cmp     [edi-1], al
760
        jz      @f
836
        jz      @f
761
        stosb
837
        stosb
762
@@:
838
@@:
763
; TODO: add buffer overflow check
-
 
764
@@:
-
 
765
        lodsb
839
        lodsb
-
 
840
        cmp     edi, edx
-
 
841
        jae     .bigfoldername2
766
        stosb
842
        stosb
767
        test    al, al
843
        test    al, al
768
        jnz     @b
844
        jnz     @b
769
.reread:
845
.reread:
770
        call    read_folder
846
        call    read_folder
Line 789... Line 865...
789
        pop     edi
865
        pop     edi
790
        mov     edx, [ebp + panel1_files - panel1_data]
866
        mov     edx, [ebp + panel1_files - panel1_data]
791
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
867
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
792
.scanloop:
868
.scanloop:
793
        mov     esi, [edx]
869
        mov     esi, [edx]
794
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
795
        lea     esi, [esi+eax*4+32+40]
870
        add     esi, 40
796
        add     esi, [ebp + panel1_files - panel1_data]
-
 
797
        push    esi edi
871
        push    esi edi
798
@@:
872
@@:
799
        lodsb
873
        lodsb
800
        call    match_symbol
874
        call    match_symbol
801
        jnz     @f
875
        jnz     @f
Line 1017... Line 1091...
1017
        add     esi, panel1_dir - panel1_data
1091
        add     esi, panel1_dir - panel1_data
1018
@@:
1092
@@:
1019
        lodsb
1093
        lodsb
1020
        test    al, al
1094
        test    al, al
1021
        jz      @f
1095
        jz      @f
-
 
1096
        cmp     edi, CopyDestEditBuf+12+511
-
 
1097
        jae     .bigfoldername
1022
        stosb
1098
        stosb
1023
        jmp     @b
1099
        jmp     @b
1024
@@:
1100
@@:
1025
        mov     al, '/'
1101
        mov     al, '/'
1026
        stosb
1102
        stosb
Line 1121... Line 1197...
1121
        or      ecx, -1
1197
        or      ecx, -1
1122
        xor     eax, eax
1198
        xor     eax, eax
1123
        repnz   scasb
1199
        repnz   scasb
1124
        not     ecx
1200
        not     ecx
1125
        pop     edi
1201
        pop     edi
-
 
1202
        push    edi
-
 
1203
        add     edi, ecx
-
 
1204
        cmp     edi, CopyDestEditBuf+12+513
-
 
1205
        pop     edi
-
 
1206
        jb      @f
-
 
1207
        pop     esi
-
 
1208
        jmp     .bigfilename
-
 
1209
@@:
1126
        lea     edx, [edi+2]
1210
        lea     edx, [edi+2]
1127
        sub     edx, esi
1211
        sub     edx, esi
1128
        lea     edi, [edi+ecx+1]
1212
        lea     edi, [edi+ecx+1]
1129
        xchg    ecx, edx
1213
        xchg    ecx, edx
1130
        std
1214
        std
Line 1162... Line 1246...
1162
        mov     cl, byte [attrinfo.attr]
1246
        mov     cl, byte [attrinfo.attr]
1163
@@:
1247
@@:
1164
        test    cl, 0x10
1248
        test    cl, 0x10
1165
        jz      .copyfile
1249
        jz      .copyfile
1166
;  ¬ ¯®¤áã­ã«¨ ª â «®£ ­ §­ ç¥­¨ï, ¤®¯¨á뢠¥¬ ¨¬ï ä ©« 
1250
;  ¬ ¯®¤áã­ã«¨ ª â «®£ ­ §­ ç¥­¨ï, ¤®¯¨á뢠¥¬ ¨¬ï ä ©« 
-
 
1251
        cmp     edi, CopyDestEditBuf+12+513
-
 
1252
        jae     .bigfilename
1167
        mov     al, '/'
1253
        mov     al, '/'
1168
        stosb
1254
        stosb
1169
        push    esi
1255
        push    esi
1170
        call    get_curfile_folder_entry
1256
        call    get_curfile_folder_entry
1171
        lea     esi, [ecx+40]
1257
        lea     esi, [ecx+40]
1172
@@:
1258
@@:
1173
        lodsb
1259
        lodsb
-
 
1260
        cmp     edi, CopyDestEditBuf+12+513
-
 
1261
        jae     .bigfilename2
1174
        stosb
1262
        stosb
1175
        test    al, al
1263
        test    al, al
1176
        jnz     @b
1264
        jnz     @b
1177
        pop     esi
1265
        pop     esi
1178
.copyfile:
1266
.copyfile:
Line 1192... Line 1280...
1192
        stosb
1280
        stosb
1193
        call    get_curfile_folder_entry
1281
        call    get_curfile_folder_entry
1194
        lea     esi, [ecx+40]
1282
        lea     esi, [ecx+40]
1195
@@:
1283
@@:
1196
        lodsb
1284
        lodsb
-
 
1285
        cmp     edi, saved_file_name+1024
-
 
1286
        jae     .bigfilename3
1197
        stosb
1287
        stosb
1198
        test    al, al
1288
        test    al, al
1199
        jnz     @b
1289
        jnz     @b
1200
        pop     esi
1290
        pop     esi
1201
        pop     edi
1291
        pop     edi
1202
; ¥«ì§ï ᪮¯¨à®¢ âì ä ©« ¯®¢¥àå á ¬®£® ᥡï!
1292
; ¥«ì§ï ᪮¯¨à®¢ âì ä ©« ¯®¢¥àå á ¬®£® ᥡï!
1203
        push    esi edi
1293
        push    esi edi
1204
        call    strcmpi
1294
        call    strcmpi
1205
        pop     edi esi
1295
        pop     edi esi
1206
        jz      .ret2
1296
        jz      .copytoself
1207
; ‘®¡á⢥­­®, ª®¯¨à㥬
1297
; ‘®¡á⢥­­®, ª®¯¨à㥬
1208
; esi->source name, edi->destination name
1298
; esi->source name, edi->destination name
1209
        mov     [writeinfo.code], 2
1299
        mov     [writeinfo.code], 2
1210
        mov     [writeinfo.name], edi
1300
        mov     [writeinfo.name], edi
1211
        and     dword [writeinfo.first], 0
1301
        and     dword [writeinfo.first], 0
Line 1220... Line 1310...
1220
.copyloop:
1310
.copyloop:
1221
        mov     ebx, readinfo
1311
        mov     ebx, readinfo
1222
        push    70
1312
        push    70
1223
        pop     eax
1313
        pop     eax
1224
        int     0x40
1314
        int     0x40
-
 
1315
        test    eax, eax
-
 
1316
        jz      .copyreadok
1225
        cmp     ebx, -1
1317
        cmp     eax, 6
-
 
1318
        jz      .copyreadok
-
 
1319
        push    esi
-
 
1320
        push    aCannotReadFile
-
 
1321
        call    get_error_msg
-
 
1322
        push    eax
-
 
1323
        mov     eax, esp
-
 
1324
        push    RetryOrCancelBtn
-
 
1325
        push    2
-
 
1326
        push    eax
-
 
1327
        push    3
-
 
1328
        push    -1
-
 
1329
        push    -1
-
 
1330
        push    aError
-
 
1331
        call    SayErr
-
 
1332
        add     esp, 3*4
-
 
1333
        test    eax, eax
1226
        jz      .copydone
1334
        jz      .copyloop
-
 
1335
        jmp     .copyfailed
-
 
1336
.copyreadok:
1227
        test    ebx, ebx
1337
        test    ebx, ebx
1228
        jz      .copydone
1338
        jz      .copydone
1229
        add     dword [readinfo.first], ebx
1339
        add     dword [readinfo.first], ebx
1230
        adc     dword [readinfo.first+4], 0
1340
        adc     dword [readinfo.first+4], 0
1231
        mov     [writeinfo.size], ebx
1341
        mov     [writeinfo.size], ebx
-
 
1342
.copywrite:
1232
        mov     ebx, writeinfo
1343
        mov     ebx, writeinfo
1233
        push    70
1344
        push    70
1234
        pop     eax
1345
        pop     eax
1235
        int     0x40
1346
        int     0x40
-
 
1347
        test    eax, eax
-
 
1348
        jz      .copywriteok
-
 
1349
        push    edi
-
 
1350
        push    aCannotWriteFile
-
 
1351
        call    get_error_msg
-
 
1352
        push    eax
-
 
1353
        mov     eax, esp
-
 
1354
        push    RetryOrCancelBtn
-
 
1355
        push    2
-
 
1356
        push    eax
-
 
1357
        push    3
-
 
1358
        push    -1
-
 
1359
        push    -1
-
 
1360
        push    aError
-
 
1361
        call    SayErr
-
 
1362
        add     esp, 3*4
-
 
1363
        test    eax, eax
-
 
1364
        jz      .copywrite
-
 
1365
        jmp     .copyfailed
-
 
1366
.copywriteok:
1236
        mov     ecx, [writeinfo.size]
1367
        mov     ecx, [writeinfo.size]
1237
        add     dword [writeinfo.first], ecx
1368
        add     dword [writeinfo.first], ecx
1238
        adc     dword [writeinfo.first+4], 0
1369
        adc     dword [writeinfo.first+4], 0
1239
        mov     [writeinfo.code], 3
1370
        mov     [writeinfo.code], 3
1240
        cmp     ecx, copy_buffer_size
1371
        cmp     ecx, copy_buffer_size
Line 1243... Line 1374...
1243
        push    ebp
1374
        push    ebp
1244
        call    .ctrl_r
1375
        call    .ctrl_r
1245
        pop     ebp
1376
        pop     ebp
1246
        xor     ebp, panel1_data xor panel2_data
1377
        xor     ebp, panel1_data xor panel2_data
1247
        jmp     .ctrl_r
1378
        jmp     .ctrl_r
-
 
1379
.copyfailed:
-
 
1380
        cmp     [bConfirmDeleteIncomplete], 0
-
 
1381
        jz      @f
-
 
1382
        cmp     [writeinfo.code], 2
-
 
1383
        jz      .copydone
-
 
1384
        push    aIncompleteFile
-
 
1385
        mov     eax, esp
-
 
1386
        push    DeleteOrKeepBtn
-
 
1387
        push    2
-
 
1388
        push    eax
-
 
1389
        push    1
-
 
1390
        push    -1
-
 
1391
        push    -1
-
 
1392
        push    aCopyCaption
-
 
1393
        call    SayErr
-
 
1394
        add     esp, 4
-
 
1395
        test    eax, eax
-
 
1396
        jnz     .copydone
-
 
1397
@@:
-
 
1398
        mov     ebx, delinfo
-
 
1399
        push    dword [ebx+21]
-
 
1400
        mov     dword [ebx+21], edi
-
 
1401
        push    70
-
 
1402
        pop     eax
-
 
1403
        int     0x40
-
 
1404
; ignore errors
-
 
1405
        pop     dword [delinfo+21]
-
 
1406
        jmp     .copydone
Line 1248... Line 1407...
1248
 
1407
 
1249
.f3:
1408
.f3:
1250
        call    view_file
1409
        call    view_file
1251
.ret2:
1410
.ret2:
Line 1324... Line 1483...
1324
        lea     esi, [ecx+40]
1483
        lea     esi, [ecx+40]
1325
        mov     al, '/'
1484
        mov     al, '/'
1326
        stosb
1485
        stosb
1327
@@:
1486
@@:
1328
        lodsb
1487
        lodsb
-
 
1488
        cmp     edi, execdataend
-
 
1489
        jae     .bigfilename
1329
        stosb
1490
        stosb
1330
        test    al, al
1491
        test    al, al
1331
        jnz     @b
1492
        jnz     @b
-
 
1493
.retrydel:
1332
        push    70
1494
        push    70
1333
        pop     eax
1495
        pop     eax
1334
        mov     ebx, delinfo
1496
        mov     ebx, delinfo
1335
        int     0x40
1497
        int     0x40
-
 
1498
        test    eax, eax
-
 
1499
        jz      .ctrl_r
-
 
1500
        push    execdata
-
 
1501
        push    aCannotDeleteFolder
-
 
1502
        call    get_curfile_folder_entry
-
 
1503
        test    byte [ecx], 10h
-
 
1504
        jnz     @f
-
 
1505
        mov     dword [esp], aCannotDeleteFile
-
 
1506
@@:
-
 
1507
        call    get_error_msg
-
 
1508
        push    eax
-
 
1509
        mov     eax, esp
-
 
1510
        push    RetryOrCancelBtn
-
 
1511
        push    2
-
 
1512
        push    eax
-
 
1513
        push    3
-
 
1514
        push    -1
-
 
1515
        push    -1
-
 
1516
        push    aError
-
 
1517
        call    SayErr
-
 
1518
        add     esp, 3*4
-
 
1519
        test    eax, eax
-
 
1520
        jz      .retrydel
1336
.ctrl_r:
1521
.ctrl_r:
1337
; Rescan panel
1522
; Rescan panel
1338
;       call    read_folder
1523
;       call    read_folder
1339
;       jmp     .done_redraw
1524
;       jmp     .done_redraw
1340
        mov     eax, [ebp + panel1_index - panel1_data]
1525
        mov     eax, [ebp + panel1_index - panel1_data]
Line 1354... Line 1539...
1354
        or      eax, -1
1539
        or      eax, -1
1355
@@:
1540
@@:
1356
        inc     eax
1541
        inc     eax
1357
        cmp     eax, [ebp + panel1_numfiles - panel1_data]
1542
        cmp     eax, [ebp + panel1_numfiles - panel1_data]
1358
        jae     .ctrl_r.notfound
1543
        jae     .ctrl_r.notfound
1359
        mov     esi, [ebp + panel1_nfa - panel1_data]
-
 
1360
        mov     ecx, [ebp + panel1_files - panel1_data]
1544
        mov     ecx, [ebp + panel1_files - panel1_data]
1361
        lea     esi, [ecx+esi*4+32+40]
1545
        mov     esi, [ecx+eax*4]
1362
        add     esi, [ecx+eax*4]
1546
        add     esi, 40
1363
        mov     edi, saved_file_name
1547
        mov     edi, saved_file_name
1364
        call    strcmpi
1548
        call    strcmpi
1365
        jnz     @b
1549
        jnz     @b
1366
.ctrl_r.found:
1550
.ctrl_r.found:
1367
        mov     [ebp + panel1_index - panel1_data], eax
1551
        mov     [ebp + panel1_index - panel1_data], eax
Line 1494... Line 1678...
1494
        jmp     @b
1678
        jmp     @b
1495
@@:
1679
@@:
1496
        pop     eax
1680
        pop     eax
1497
        call    get_curfile_folder_entry
1681
        call    get_curfile_folder_entry
1498
        jmp     .run_association2
1682
        jmp     .run_association2
-
 
1683
.f7:
-
 
1684
        mov     dword [CopyDestEditBuf], CopyDestEditBuf.length
-
 
1685
        and     dword [CopyDestEditBuf+4], 0
-
 
1686
        and     dword [CopyDestEditBuf+8], 0
-
 
1687
        mov     byte [CopyDestEditBuf+12], 0
-
 
1688
        mov     ebx, mkdir_dlgdata
-
 
1689
        mov     eax, [cur_width]
-
 
1690
        sub     eax, 12
-
 
1691
        mov     [ebx + dlgtemplate.width], eax
-
 
1692
        dec     eax
-
 
1693
        dec     eax
-
 
1694
        mov     [ebx - mkdir_dlgdata + mkdir_dlgdata.width2], eax
-
 
1695
        shr     eax, 1
-
 
1696
        dec     eax
-
 
1697
        dec     eax
-
 
1698
        mov     [ebx - mkdir_dlgdata + mkdir_dlgdata.cont_x2], eax
-
 
1699
        sub     eax, a_ContinueLength-1
-
 
1700
        mov     [ebx - mkdir_dlgdata + mkdir_dlgdata.cont_x1], eax
-
 
1701
        add     eax, a_ContinueLength+3
-
 
1702
        mov     [ebx - mkdir_dlgdata + mkdir_dlgdata.cnl_x1], eax
-
 
1703
        add     eax, aCancelBLength - 1
-
 
1704
        mov     [ebx - mkdir_dlgdata + mkdir_dlgdata.cnl_x2], eax
-
 
1705
        mov     byte [ebx - mkdir_dlgdata + mkdir_dlgdata.flags0], 0xC
-
 
1706
        and     byte [ebx - mkdir_dlgdata + mkdir_dlgdata.flags1], not 4
-
 
1707
        and     byte [ebx - mkdir_dlgdata + mkdir_dlgdata.flags2], not 4
-
 
1708
        push    ebx
-
 
1709
        call    DialogBox
-
 
1710
        cmp     eax, mkdir_dlgdata.cont_btn
-
 
1711
        jnz     .ret2
-
 
1712
        mov     esi, CopyDestEditBuf+12
-
 
1713
        cmp     byte [esi], 0
-
 
1714
        jz      .ret2
-
 
1715
        cmp     byte [esi], '/'
-
 
1716
        jz      .mkdir_absolute_path
-
 
1717
        push    esi
-
 
1718
        lea     edi, [ebp + panel1_dir - panel1_data]
-
 
1719
        or      ecx, -1
-
 
1720
        xor     eax, eax
-
 
1721
        repnz   scasb
-
 
1722
        not     ecx
-
 
1723
        mov     edi, esi
-
 
1724
@@:
-
 
1725
        cmp     byte [edi+1], 0
-
 
1726
        jz      @f
-
 
1727
        inc     edi
-
 
1728
        jmp     @b
-
 
1729
@@:
-
 
1730
        push    edi
-
 
1731
        add     edi, ecx
-
 
1732
        cmp     edi, CopyDestEditBuf+12+513
-
 
1733
        pop     edi
-
 
1734
        jb      @f
-
 
1735
        pop     esi
-
 
1736
        jmp     .bigfilename
-
 
1737
@@:
-
 
1738
        lea     edx, [edi+2]
-
 
1739
        sub     edx, esi
-
 
1740
        lea     edi, [edi+ecx+1]
-
 
1741
        xchg    ecx, edx
-
 
1742
        std
-
 
1743
        lea     esi, [esi+ecx-1]
-
 
1744
        rep     movsb
-
 
1745
        cld
-
 
1746
        pop     edi
-
 
1747
        lea     esi, [ebp + panel1_dir - panel1_data]
-
 
1748
        push    edi
-
 
1749
        mov     ecx, edx
-
 
1750
        rep     movsb
-
 
1751
        mov     byte [edi-1], '/'
-
 
1752
        pop     esi
-
 
1753
.mkdir_absolute_path:
-
 
1754
.mkdir_retry:
-
 
1755
        push    70
-
 
1756
        pop     eax
-
 
1757
        mov     ebx, mkdirinfo
-
 
1758
        int     0x40
-
 
1759
        test    eax, eax
-
 
1760
        jz      @f
-
 
1761
        push    CopyDestEditBuf+12
-
 
1762
        push    aCannotMakeFolder
-
 
1763
        call    get_error_msg
-
 
1764
        push    eax
-
 
1765
        mov     eax, esp
-
 
1766
        push    RetryOrCancelBtn
-
 
1767
        push    2
-
 
1768
        push    eax
-
 
1769
        push    3
-
 
1770
        push    -1
-
 
1771
        push    -1
-
 
1772
        push    aError
-
 
1773
        call    SayErr
-
 
1774
        add     esp, 3*4
-
 
1775
        test    eax, eax
-
 
1776
        jz      .mkdir_retry
-
 
1777
@@:
-
 
1778
        jmp     .copydone
Line 1499... Line 1779...
1499
 
1779
 
1500
panels_OnRedraw:
1780
panels_OnRedraw:
1501
        call    draw_cmdbar
1781
        call    draw_cmdbar
1502
        mov     ebp, panel1_data
1782
        mov     ebp, panel1_data
Line 1537... Line 1817...
1537
        mov     [panel1_height], eax
1817
        mov     [panel1_height], eax
1538
        mov     [panel2_height], eax
1818
        mov     [panel2_height], eax
1539
        ret
1819
        ret
Line 1540... Line 1820...
1540
 
1820
 
1541
get_curfile_folder_entry:
-
 
1542
        push    eax
1821
get_curfile_folder_entry:
1543
        mov     ecx, [ebp + panel1_index - panel1_data]
-
 
1544
        mov     eax, [ebp + panel1_files - panel1_data]
1822
        mov     ecx, [ebp + panel1_index - panel1_data]
1545
        mov     ecx, [eax+ecx*4]
-
 
1546
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
1547
        lea     ecx, [ecx+eax*4+32]
1823
        shl     ecx, 2
1548
        add     ecx, [ebp + panel1_files - panel1_data]
1824
        add     ecx, [ebp + panel1_files - panel1_data]
1549
        pop     eax
1825
        mov     ecx, [ecx]
1550
        ret
1826
        ret
1551
get_curfile_name:
1827
get_curfile_name:
1552
        call    get_curfile_folder_entry
1828
        call    get_curfile_folder_entry
1553
        add     ecx, 40
1829
        add     ecx, 40
Line 1600... Line 1876...
1600
        dec     esi
1876
        dec     esi
1601
        mov     ebx, esi
1877
        mov     ebx, esi
1602
        sub     ebx, [esp]
1878
        sub     ebx, [esp]
1603
        dec     esi
1879
        dec     esi
1604
        push    esi
1880
        push    esi
1605
        mov     edx, [ebp + panel1_files - panel1_data]
-
 
1606
        mov     esi, [ebp + panel1_index - panel1_data]
1881
        mov     esi, [ebp + panel1_index - panel1_data]
1607
        mov     esi, [edx+esi*4]
-
 
1608
        add     esi, edx
1882
        shl     esi, 2
1609
        mov     edx, [ebp + panel1_nfa - panel1_data]
1883
        add     esi, [ebp + panel1_files - panel1_data]
1610
        lea     esi, [esi+edx*4+32+40]
1884
        mov     esi, [esi]
-
 
1885
        add     esi, 40
1611
        push    esi
1886
        push    esi
1612
@@:
1887
@@:
1613
        lodsb
1888
        lodsb
1614
        test    al, al
1889
        test    al, al
1615
        jnz     @b
1890
        jnz     @b
Line 2284... Line 2559...
2284
        jz      .skip_curinfo
2559
        jz      .skip_curinfo
2285
; ˆ­ä®à¬ æ¨ï ® ¢ë¡à ­­®¬ ä ©«¥
2560
; ˆ­ä®à¬ æ¨ï ® ¢ë¡à ­­®¬ ä ©«¥
2286
        mov     ebx, [ebp + panel1_index - panel1_data]
2561
        mov     ebx, [ebp + panel1_index - panel1_data]
2287
        mov     eax, [ebp + panel1_files - panel1_data]
2562
        mov     eax, [ebp + panel1_files - panel1_data]
2288
        mov     ebx, [eax+ebx*4]
2563
        mov     ebx, [eax+ebx*4]
2289
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
2290
        lea     ebx, [ebx+eax*4+32]
-
 
2291
        add     ebx, [ebp + panel1_files - panel1_data]
-
 
2292
        mov     eax, [ebp + panel1_left - panel1_data]
2564
        mov     eax, [ebp + panel1_left - panel1_data]
2293
        add     eax, [ebp + panel1_width - panel1_data]
2565
        add     eax, [ebp + panel1_width - panel1_data]
2294
        dec     eax
2566
        dec     eax
2295
        mov     edx, [ebp + panel1_top - panel1_data]
2567
        mov     edx, [ebp + panel1_top - panel1_data]
2296
        add     edx, [ebp + panel1_height - panel1_data]
2568
        add     edx, [ebp + panel1_height - panel1_data]
Line 2517... Line 2789...
2517
        jae     .ret
2789
        jae     .ret
2518
        push    ecx
2790
        push    ecx
2519
        mov     esi, [column_index]
2791
        mov     esi, [column_index]
2520
        mov     ecx, [ebp + panel1_files - panel1_data]
2792
        mov     ecx, [ebp + panel1_files - panel1_data]
2521
        mov     esi, [ecx+esi*4]
2793
        mov     esi, [ecx+esi*4]
2522
        mov     ecx, [ebp + panel1_nfa - panel1_data]
-
 
2523
        lea     esi, [esi + ecx*4 + 32 + 40]
2794
        add     esi, 40
2524
        add     esi, [ebp + panel1_files - panel1_data]
-
 
2525
        mov     ah, [esi - 40 + 5]
2795
        mov     ah, [esi - 40 + 5]
2526
        cmp     ebp, [active_panel]
2796
        cmp     ebp, [active_panel]
2527
        jnz     @f
2797
        jnz     @f
2528
        mov     ecx, [column_index]
2798
        mov     ecx, [column_index]
2529
        cmp     ecx, [ebp + panel1_index - panel1_data]
2799
        cmp     ecx, [ebp + panel1_index - panel1_data]
Line 2730... Line 3000...
2730
        pop     eax
3000
        pop     eax
2731
        jmp     .readdone
3001
        jmp     .readdone
2732
.succ1:
3002
.succ1:
2733
        mov     [ebp + panel1_files - panel1_data], eax
3003
        mov     [ebp + panel1_files - panel1_data], eax
2734
        pop     [ebp + panel1_nfa - panel1_data]
3004
        pop     [ebp + panel1_nfa - panel1_data]
-
 
3005
        mov     [prev_dir], 0
2735
        jmp     read_folder
3006
        jmp     read_folder
2736
.readdone:
3007
.readdone:
2737
        and     [ebp + panel1_start - panel1_data], 0
3008
        and     [ebp + panel1_start - panel1_data], 0
2738
        and     [ebp + panel1_index - panel1_data], 0
3009
        and     [ebp + panel1_index - panel1_data], 0
2739
        and     [ebp + panel1_start - panel1_data], 0
3010
        and     [ebp + panel1_start - panel1_data], 0
2740
        mov     edi, [ebp + panel1_files - panel1_data]
3011
        mov     edi, [ebp + panel1_files - panel1_data]
2741
        mov     eax, [ebp + panel1_nfa - panel1_data]
3012
        mov     eax, [ebp + panel1_nfa - panel1_data]
2742
        lea     esi, [edi + eax*4 + 32]
3013
        lea     eax, [edi + eax*4 + 32]
2743
        xor     eax, eax
-
 
2744
        mov     ecx, [esi-32+4]
3014
        mov     ecx, [eax-32+4]
2745
        test    ecx, ecx
3015
        test    ecx, ecx
2746
        jz      .loopdone
3016
        jz      .loopdone
-
 
3017
        xor     edx, edx
2747
; ˆ£­®à¨à㥬 ᯥ樠«ì­ë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ 
3018
; ˆ£­®à¨à㥬 ᯥ樠«ì­ë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ 
2748
.ptrinit:
3019
.ptrinit:
2749
        cmp     word [esi+eax+40], '.'
3020
        cmp     word [eax+40], '.'
2750
        jz      .loopcont
3021
        jz      .loopcont
2751
        test    byte [esi+eax], 8
3022
        test    byte [eax], 8
2752
        jnz     .loopcont
3023
        jnz     .loopcont
-
 
3024
        test    edx, edx
-
 
3025
        jnz     .nodotdot
-
 
3026
        cmp     word [eax+40], '..'
-
 
3027
        jnz     .nodotdot
-
 
3028
        cmp     byte [eax+42], 0
-
 
3029
        jnz     .nodotdot
-
 
3030
        mov     edx, eax
-
 
3031
        push    edi
-
 
3032
@@:
-
 
3033
        cmp     edi, [ebp + panel1_files - panel1_data]
-
 
3034
        jbe     @f
-
 
3035
        push    dword [edi-4]
-
 
3036
        pop     dword [edi]
-
 
3037
        sub     edi, 4
-
 
3038
        jmp     @b
-
 
3039
@@:
2753
        stosd
3040
        stosd
-
 
3041
        pop     edi
-
 
3042
        scasd
-
 
3043
        jmp     .dotdot
-
 
3044
.nodotdot:
-
 
3045
        stosd
-
 
3046
.dotdot:
2754
; ¯®¤á¢¥âª 
3047
; ¯®¤á¢¥âª 
2755
;        call    insert_last_dot
3048
;        call    insert_last_dot
2756
        pushad
3049
        pushad
2757
        lea     ebp, [esi+eax]
3050
        mov     ebp, eax
2758
        lea     esi, [ebp+40]
3051
        lea     esi, [ebp+40]
2759
        mov     edi, lower_file_name
3052
        mov     edi, lower_file_name
2760
        mov     edx, edi
3053
        mov     edx, edi
2761
@@:
3054
@@:
2762
        lodsb
3055
        lodsb
Line 2815... Line 3108...
2815
sort_files:
3108
sort_files:
2816
        movzx   eax, [ebp + panel1_sortmode - panel1_data]
3109
        movzx   eax, [ebp + panel1_sortmode - panel1_data]
2817
        mov     ebx, [compare_fns + eax*4]
3110
        mov     ebx, [compare_fns + eax*4]
2818
        mov     edx, [ebp + panel1_files - panel1_data]
3111
        mov     edx, [ebp + panel1_files - panel1_data]
2819
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
3112
        mov     ecx, [ebp + panel1_numfiles - panel1_data]
-
 
3113
        jecxz   .skip
-
 
3114
        mov     eax, [edx]
-
 
3115
        cmp     word [eax], '..'
-
 
3116
        jnz     .nodotdot
-
 
3117
        cmp     byte [eax+2], 0
-
 
3118
        jnz     .nodotdot
-
 
3119
        dec     ecx
-
 
3120
        add     edx, 4
-
 
3121
.nodotdot:
2820
        call    sort
3122
        call    sort
-
 
3123
.skip:
2821
        mov     [bSilentFolderMode], 0  ; leave silent mode
3124
        mov     [bSilentFolderMode], 0  ; leave silent mode
2822
        ret
3125
        ret
Line 2823... Line 3126...
2823
 
3126
 
2824
compare_name:
-
 
2825
        push    eax
-
 
2826
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
2827
        add     esi, [ebp + panel1_files - panel1_data]
-
 
2828
        add     edi, [ebp + panel1_files - panel1_data]
-
 
2829
        lea     esi, [esi+eax*4+0x20]
-
 
2830
        lea     edi, [edi+eax*4+0x20]
-
 
2831
        pop     eax
-
 
2832
        cmp     word [esi+40], '..'
-
 
2833
        jnz     @f
-
 
2834
        cmp     byte [esi+42], 0
-
 
2835
        jz      .less
-
 
2836
@@:     cmp     word [edi+40], '..'
-
 
2837
        jnz     @f
-
 
2838
        cmp     byte [edi+42], 0
-
 
2839
        jz      .greater
-
 
2840
@@:
3127
compare_name:
2841
        test    byte [esi], 10h
3128
        test    byte [esi], 10h
2842
        jnz     .1dir
3129
        jnz     .1dir
2843
        test    byte [edi], 10h
3130
        test    byte [edi], 10h
2844
        jnz     .greater
3131
        jnz     .greater
Line 2856... Line 3143...
2856
        xor     edi, edi
3143
        xor     edi, edi
2857
        stc
3144
        stc
2858
        ret
3145
        ret
Line 2859... Line 3146...
2859
 
3146
 
2860
compare_name_rev:
-
 
2861
        push    eax
-
 
2862
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
2863
        add     esi, [ebp + panel1_files - panel1_data]
-
 
2864
        add     edi, [ebp + panel1_files - panel1_data]
-
 
2865
        lea     esi, [esi+eax*4+0x20]
-
 
2866
        lea     edi, [edi+eax*4+0x20]
-
 
2867
        pop     eax
-
 
2868
        cmp     word [esi+40], '..'
-
 
2869
        jnz     @f
-
 
2870
        cmp     byte [esi+42], 0
-
 
2871
        jz      .less
-
 
2872
@@:     cmp     word [edi+40], '..'
-
 
2873
        jnz     @f
-
 
2874
        cmp     byte [edi+42], 0
-
 
2875
        jz      .greater
-
 
2876
@@:
3147
compare_name_rev:
2877
        test    byte [esi], 10h
3148
        test    byte [esi], 10h
2878
        jnz     .1dir
3149
        jnz     .1dir
2879
        test    byte [edi], 10h
3150
        test    byte [edi], 10h
2880
        jnz     .greater
3151
        jnz     .greater
Line 2906... Line 3177...
2906
.ret:
3177
.ret:
2907
        pop     eax
3178
        pop     eax
2908
        ret
3179
        ret
Line 2909... Line 3180...
2909
 
3180
 
2910
compare_ext:
-
 
2911
        push    eax
-
 
2912
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
2913
        add     esi, [ebp + panel1_files - panel1_data]
-
 
2914
        add     edi, [ebp + panel1_files - panel1_data]
-
 
2915
        lea     esi, [esi+eax*4+0x20]
-
 
2916
        lea     edi, [edi+eax*4+0x20]
-
 
2917
        pop     eax
-
 
2918
        cmp     word [esi+40], '..'
-
 
2919
        jnz     @f
-
 
2920
        cmp     byte [esi+42], 0
-
 
2921
        jz      .less
-
 
2922
@@:     cmp     word [edi+40], '..'
-
 
2923
        jnz     @f
-
 
2924
        cmp     byte [edi+42], 0
-
 
2925
        jz      .greater
-
 
2926
@@:
3181
compare_ext:
2927
        test    byte [esi], 10h
3182
        test    byte [esi], 10h
2928
        jnz     .1dir
3183
        jnz     .1dir
2929
        test    byte [edi], 10h
3184
        test    byte [edi], 10h
2930
        jnz     .greater
3185
        jnz     .greater
Line 2953... Line 3208...
2953
        xor     edi, edi
3208
        xor     edi, edi
2954
        stc
3209
        stc
2955
        ret
3210
        ret
Line 2956... Line 3211...
2956
 
3211
 
2957
compare_ext_rev:
-
 
2958
        push    eax
-
 
2959
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
2960
        add     esi, [ebp + panel1_files - panel1_data]
-
 
2961
        add     edi, [ebp + panel1_files - panel1_data]
-
 
2962
        lea     esi, [esi+eax*4+0x20]
-
 
2963
        lea     edi, [edi+eax*4+0x20]
-
 
2964
        pop     eax
-
 
2965
        cmp     word [esi+40], '..'
-
 
2966
        jnz     @f
-
 
2967
        cmp     byte [esi+42], 0
-
 
2968
        jz      .less
-
 
2969
@@:     cmp     word [edi+40], '..'
-
 
2970
        jnz     @f
-
 
2971
        cmp     byte [edi+42], 0
-
 
2972
        jz      .greater
-
 
2973
@@:
3212
compare_ext_rev:
2974
        test    byte [esi], 10h
3213
        test    byte [esi], 10h
2975
        jnz     .1dir
3214
        jnz     .1dir
2976
        test    byte [edi], 10h
3215
        test    byte [edi], 10h
2977
        jnz     .greater
3216
        jnz     .greater
Line 3019... Line 3258...
3019
        mov     esi, eax
3258
        mov     esi, eax
3020
        pop     eax
3259
        pop     eax
3021
        ret
3260
        ret
Line 3022... Line 3261...
3022
 
3261
 
3023
compare_modified:
-
 
3024
        push    eax
-
 
3025
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3026
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3027
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3028
        lea     esi, [esi+eax*4+0x20]
-
 
3029
        lea     edi, [edi+eax*4+0x20]
-
 
3030
        pop     eax
-
 
3031
        cmp     word [esi+40], '..'
-
 
3032
        jnz     @f
-
 
3033
        cmp     byte [esi+42], 0
-
 
3034
        jz      .less
-
 
3035
@@:     cmp     word [edi+40], '..'
-
 
3036
        jnz     @f
-
 
3037
        cmp     byte [edi+42], 0
-
 
3038
        jz      .greater
-
 
3039
@@:
3262
compare_modified:
3040
        test    byte [esi], 10h
3263
        test    byte [esi], 10h
3041
        jnz     .1dir
3264
        jnz     .1dir
3042
        test    byte [edi], 10h
3265
        test    byte [edi], 10h
3043
        jnz     .greater
3266
        jnz     .greater
Line 3067... Line 3290...
3067
        xor     edi, edi
3290
        xor     edi, edi
3068
        stc
3291
        stc
3069
        ret
3292
        ret
Line 3070... Line 3293...
3070
 
3293
 
3071
compare_modified_rev:
-
 
3072
        push    eax
-
 
3073
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3074
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3075
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3076
        lea     esi, [esi+eax*4+0x20]
-
 
3077
        lea     edi, [edi+eax*4+0x20]
-
 
3078
        pop     eax
-
 
3079
        cmp     word [esi+40], '..'
-
 
3080
        jnz     @f
-
 
3081
        cmp     byte [esi+42], 0
-
 
3082
        jz      .less
-
 
3083
@@:     cmp     word [edi+40], '..'
-
 
3084
        jnz     @f
-
 
3085
        cmp     byte [edi+42], 0
-
 
3086
        jz      .greater
-
 
3087
@@:
3294
compare_modified_rev:
3088
        test    byte [esi], 10h
3295
        test    byte [esi], 10h
3089
        jnz     .1dir
3296
        jnz     .1dir
3090
        test    byte [edi], 10h
3297
        test    byte [edi], 10h
3091
        jnz     .greater
3298
        jnz     .greater
Line 3116... Line 3323...
3116
        xor     edi, edi
3323
        xor     edi, edi
3117
        stc
3324
        stc
3118
        ret
3325
        ret
Line 3119... Line 3326...
3119
 
3326
 
3120
compare_size:
-
 
3121
        push    eax
-
 
3122
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3123
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3124
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3125
        lea     esi, [esi+eax*4+0x20]
-
 
3126
        lea     edi, [edi+eax*4+0x20]
-
 
3127
        pop     eax
-
 
3128
        cmp     word [esi+40], '..'
-
 
3129
        jnz     @f
-
 
3130
        cmp     byte [esi+42], 0
-
 
3131
        jz      .less
-
 
3132
@@:     cmp     word [edi+40], '..'
-
 
3133
        jnz     @f
-
 
3134
        cmp     byte [edi+42], 0
-
 
3135
        jz      .greater
-
 
3136
@@:
3327
compare_size:
3137
        test    byte [esi], 10h
3328
        test    byte [esi], 10h
3138
        jnz     .1dir
3329
        jnz     .1dir
3139
        test    byte [edi], 10h
3330
        test    byte [edi], 10h
3140
        jnz     .greater
3331
        jnz     .greater
Line 3164... Line 3355...
3164
        xor     edi, edi
3355
        xor     edi, edi
3165
        stc
3356
        stc
3166
        ret
3357
        ret
Line 3167... Line 3358...
3167
 
3358
 
3168
compare_size_rev:
-
 
3169
        push    eax
-
 
3170
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3171
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3172
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3173
        lea     esi, [esi+eax*4+0x20]
-
 
3174
        lea     edi, [edi+eax*4+0x20]
-
 
3175
        pop     eax
-
 
3176
        cmp     word [esi+40], '..'
-
 
3177
        jnz     @f
-
 
3178
        cmp     byte [esi+42], 0
-
 
3179
        jz      .less
-
 
3180
@@:     cmp     word [edi+40], '..'
-
 
3181
        jnz     @f
-
 
3182
        cmp     byte [edi+42], 0
-
 
3183
        jz      .greater
-
 
3184
@@:
3359
compare_size_rev:
3185
        test    byte [esi], 10h
3360
        test    byte [esi], 10h
3186
        jnz     .1dir
3361
        jnz     .1dir
3187
        test    byte [edi], 10h
3362
        test    byte [edi], 10h
3188
        jnz     .greater
3363
        jnz     .greater
Line 3216... Line 3391...
3216
 
3391
 
3217
compare_unordered:
3392
compare_unordered:
3218
        cmp     esi, edi
3393
        cmp     esi, edi
3219
        ret
3394
        ret
3220
compare_unordered_rev:
-
 
3221
        push    eax
-
 
3222
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3223
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3224
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3225
        lea     esi, [esi+eax*4+0x20]
-
 
3226
        lea     edi, [edi+eax*4+0x20]
-
 
3227
        pop     eax
-
 
3228
        cmp     word [esi+40], '..'
-
 
3229
        jnz     @f
-
 
3230
        cmp     byte [esi+42], 0
-
 
3231
        jz      .less
-
 
3232
@@:     cmp     word [edi+40], '..'
-
 
3233
        jnz     @f
-
 
3234
        cmp     byte [edi+42], 0
-
 
3235
        jz      .greater
-
 
3236
@@:
3395
compare_unordered_rev:
3237
        cmp     edi, esi
3396
        cmp     edi, esi
3238
        ret
-
 
3239
.greater:
-
 
3240
        test    esi, esi
-
 
3241
        ret
-
 
3242
.less:
-
 
3243
        xor     edi, edi
-
 
3244
        stc
-
 
Line 3245... Line 3397...
3245
        ret
3397
        ret
3246
 
-
 
3247
compare_created:
-
 
3248
        push    eax
-
 
3249
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3250
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3251
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3252
        lea     esi, [esi+eax*4+0x20]
-
 
3253
        lea     edi, [edi+eax*4+0x20]
-
 
3254
        pop     eax
-
 
3255
        cmp     word [esi+40], '..'
-
 
3256
        jnz     @f
-
 
3257
        cmp     byte [esi+42], 0
-
 
3258
        jz      .less
-
 
3259
@@:     cmp     word [edi+40], '..'
-
 
3260
        jnz     @f
-
 
3261
        cmp     byte [edi+42], 0
-
 
3262
        jz      .greater
3398
 
3263
@@:
3399
compare_created:
3264
        test    byte [esi], 10h
3400
        test    byte [esi], 10h
3265
        jnz     .1dir
3401
        jnz     .1dir
3266
        test    byte [edi], 10h
3402
        test    byte [edi], 10h
Line 3291... Line 3427...
3291
        xor     edi, edi
3427
        xor     edi, edi
3292
        stc
3428
        stc
3293
        ret
3429
        ret
Line 3294... Line 3430...
3294
 
3430
 
3295
compare_created_rev:
-
 
3296
        push    eax
-
 
3297
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3298
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3299
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3300
        lea     esi, [esi+eax*4+0x20]
-
 
3301
        lea     edi, [edi+eax*4+0x20]
-
 
3302
        pop     eax
-
 
3303
        cmp     word [esi+40], '..'
-
 
3304
        jnz     @f
-
 
3305
        cmp     byte [esi+42], 0
-
 
3306
        jz      .less
-
 
3307
@@:     cmp     word [edi+40], '..'
-
 
3308
        jnz     @f
-
 
3309
        cmp     byte [edi+42], 0
-
 
3310
        jz      .greater
-
 
3311
@@:
3431
compare_created_rev:
3312
        test    byte [esi], 10h
3432
        test    byte [esi], 10h
3313
        jnz     .1dir
3433
        jnz     .1dir
3314
        test    byte [edi], 10h
3434
        test    byte [edi], 10h
3315
        jnz     .greater
3435
        jnz     .greater
Line 3340... Line 3460...
3340
        xor     edi, edi
3460
        xor     edi, edi
3341
        stc
3461
        stc
3342
        ret
3462
        ret
Line 3343... Line 3463...
3343
 
3463
 
3344
compare_accessed:
-
 
3345
        push    eax
-
 
3346
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3347
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3348
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3349
        lea     esi, [esi+eax*4+0x20]
-
 
3350
        lea     edi, [edi+eax*4+0x20]
-
 
3351
        pop     eax
-
 
3352
        cmp     word [esi+40], '..'
-
 
3353
        jnz     @f
-
 
3354
        cmp     byte [esi+42], 0
-
 
3355
        jz      .less
-
 
3356
@@:     cmp     word [edi+40], '..'
-
 
3357
        jnz     @f
-
 
3358
        cmp     byte [edi+42], 0
-
 
3359
        jz      .greater
-
 
3360
@@:
3464
compare_accessed:
3361
        test    byte [esi], 10h
3465
        test    byte [esi], 10h
3362
        jnz     .1dir
3466
        jnz     .1dir
3363
        test    byte [edi], 10h
3467
        test    byte [edi], 10h
3364
        jnz     .greater
3468
        jnz     .greater
Line 3388... Line 3492...
3388
        xor     edi, edi
3492
        xor     edi, edi
3389
        stc
3493
        stc
3390
        ret
3494
        ret
Line 3391... Line 3495...
3391
 
3495
 
3392
compare_accessed_rev:
-
 
3393
        push    eax
-
 
3394
        mov     eax, [ebp + panel1_nfa - panel1_data]
-
 
3395
        add     esi, [ebp + panel1_files - panel1_data]
-
 
3396
        add     edi, [ebp + panel1_files - panel1_data]
-
 
3397
        lea     esi, [esi+eax*4+0x20]
-
 
3398
        lea     edi, [edi+eax*4+0x20]
-
 
3399
        pop     eax
-
 
3400
        cmp     word [esi+40], '..'
-
 
3401
        jnz     @f
-
 
3402
        cmp     byte [esi+42], 0
-
 
3403
        jz      .less
-
 
3404
@@:     cmp     word [edi+40], '..'
-
 
3405
        jnz     @f
-
 
3406
        cmp     byte [edi+42], 0
-
 
3407
        jz      .greater
-
 
3408
@@:
3496
compare_accessed_rev:
3409
        test    byte [esi], 10h
3497
        test    byte [esi], 10h
3410
        jnz     .1dir
3498
        jnz     .1dir
3411
        test    byte [edi], 10h
3499
        test    byte [edi], 10h
3412
        jnz     .greater
3500
        jnz     .greater
Line 4005... Line 4093...
4005
        inc     edi
4093
        inc     edi
4006
@@:
4094
@@:
4007
        pop     esi
4095
        pop     esi
4008
        ret
4096
        ret
Line 4009... Line 4097...
4009
 
4097
 
Line 4010... Line 4098...
4010
header  db      'Kolibri Far 0.2',0
4098
header  db      'Kolibri Far 0.21',0
4011
 
4099
 
Line 4012... Line 4100...
4012
nomem_draw      db      'No memory for redraw.',0
4100
nomem_draw      db      'No memory for redraw.',0
Line 4532... Line 4620...
4532
        dd      panels_OnKey.f3
4620
        dd      panels_OnKey.f3
4533
        dw      0x3F, 0
4621
        dw      0x3F, 0
4534
        dd      panels_OnKey.f5
4622
        dd      panels_OnKey.f5
4535
        dw      0x3F, 1
4623
        dw      0x3F, 1
4536
        dd      panels_OnKey.shift_f5
4624
        dd      panels_OnKey.shift_f5
-
 
4625
        dw      0x41, 0
-
 
4626
        dd      panels_OnKey.f7
4537
        dw      0x42, 0
4627
        dw      0x42, 0
4538
        dd      panels_OnKey.f8
4628
        dd      panels_OnKey.f8
4539
        dw      0x43, 0x100
4629
        dw      0x43, 0x100
4540
        dd      alt_f9
4630
        dd      alt_f9
4541
        dw      0x44, 0
4631
        dw      0x44, 0
Line 4642... Line 4732...
4642
                dd      0
4732
                dd      0
4643
                dd      0
4733
                dd      0
4644
                db      0
4734
                db      0
4645
                dd      execdata
4735
                dd      execdata
Line -... Line 4736...
-
 
4736
 
-
 
4737
mkdirinfo:
-
 
4738
                dd      9
-
 
4739
                dd      0
-
 
4740
                dd      0
-
 
4741
                dd      0
-
 
4742
                dd      0
-
 
4743
                db      0
-
 
4744
                dd      CopyDestEditBuf+12
4646
 
4745
 
4647
if lang eq ru
4746
if lang eq ru
4648
compare_names   db      '¨ˆà¬Œ €­á‘¤„'
4747
compare_names   db      '¨ˆà¬Œ €­á‘¤„'
4649
else
4748
else
4650
compare_names   db      'nNxXmMsSuUcCaA'
4749
compare_names   db      'nNxXmMsSuUcCaA'
Line 4852... Line 4951...
4852
 
4951
 
4853
fasm    db      '/rd/1/develop/fasm',0
4952
fasm    db      '/rd/1/develop/fasm',0
Line 4854... Line 4953...
4854
animage db      '/rd/1/animage',0
4953
animage db      '/rd/1/animage',0
-
 
4954
 
Line 4855... Line 4955...
4855
 
4955
bConfirmDelete  db      1
Line 4856... Line 4956...
4856
bConfirmDelete  db      1
4956
bConfirmDeleteIncomplete db 0
4857
 
4957
 
Line 4922... Line 5022...
4922
.del_x1 dd      ?
5022
.del_x1 dd      ?
4923
        dd      2
5023
        dd      2
4924
.del_x2 dd      ?
5024
.del_x2 dd      ?
4925
        dd      2
5025
        dd      2
4926
        dd      aDelete
5026
        dd      aDelete
4927
.flags1 dd      4
5027
.flags1 dd      0xC
4928
; ª­®¯ª  "®â¬¥­¨âì"
5028
; ª­®¯ª  "®â¬¥­¨âì"
4929
        dd      2
5029
        dd      2
4930
.cnl_x1 dd      ?
5030
.cnl_x1 dd      ?
4931
        dd      2
5031
        dd      2
4932
.cnl_x2 dd      ?
5032
.cnl_x2 dd      ?
4933
        dd      2
5033
        dd      2
4934
        dd      aCancel
5034
        dd      aCancel
4935
.flags2 dd      0
5035
.flags2 dd      8
Line 4936... Line 5036...
4936
 
5036
 
4937
; ¤¨ «®£ ª®¯¨à®¢ ­¨ï
5037
; ¤¨ «®£ ª®¯¨à®¢ ­¨ï
4938
copy_dlgdata:
5038
copy_dlgdata:
4939
        dd      1
5039
        dd      1
Line 4981... Line 5081...
4981
.cnl_x2 dd      ?
5081
.cnl_x2 dd      ?
4982
        dd      3
5082
        dd      3
4983
        dd      aCancelB
5083
        dd      aCancelB
4984
.flags2 dd      8
5084
.flags2 dd      8
Line -... Line 5085...
-
 
5085
 
-
 
5086
mkdir_dlgdata:
-
 
5087
        dd      1
-
 
5088
        dd      -1, -1
-
 
5089
.width  dd      ?
-
 
5090
.height dd      4
-
 
5091
        dd      4, 2
-
 
5092
        dd      aMkDirCaption
-
 
5093
        dd      ?
-
 
5094
        dd      0
-
 
5095
        dd      0
-
 
5096
        dd      4
-
 
5097
; ‘âப  "‘®§¤ âì ¯ ¯ªã"
-
 
5098
        dd      1
-
 
5099
        dd      1,0,aMkDirLen,0
-
 
5100
        dd      aMkDir
-
 
5101
        dd      0
-
 
5102
; ¯®«¥ । ªâ¨à®¢ ­¨ï á ¨¬¥­¥¬ ᮧ¤ ¢ ¥¬®© ¯ ¯ª¨
-
 
5103
        dd      3
-
 
5104
        dd      1,1
-
 
5105
.width2 dd      ?
-
 
5106
        dd      1
-
 
5107
        dd      CopyDestEditBuf
-
 
5108
.flags0 dd      0xC
-
 
5109
; ª­®¯ª  "à®¤®«¦¨âì"
-
 
5110
.cont_btn:
-
 
5111
        dd      2
-
 
5112
.cont_x1 dd     ?
-
 
5113
        dd      3
-
 
5114
.cont_x2 dd     ?
-
 
5115
        dd      3
-
 
5116
        dd      a_Continue
-
 
5117
.flags1 dd      18h
-
 
5118
; ª­®¯ª  "®â¬¥­¨âì"
-
 
5119
        dd      2
-
 
5120
.cnl_x1 dd      ?
-
 
5121
        dd      3
-
 
5122
.cnl_x2 dd      ?
-
 
5123
        dd      3
-
 
5124
        dd      aCancelB
-
 
5125
.flags2 dd      8
-
 
5126
 
-
 
5127
RetryOrCancelBtn:
-
 
5128
        dd      aRetry
-
 
5129
        dd      a_Cancel
-
 
5130
DeleteOrKeepBtn:
-
 
5131
        dd      a_Delete
-
 
5132
        dd      aKeep
-
 
5133
RetryOrIgnoreBtn:
-
 
5134
        dd      aRetry
Line 4985... Line 5135...
4985
 
5135
        dd      aIgnore
4986
 
5136
 
4987
if lang eq ru
5137
if lang eq ru
4988
aDeleteCaption          db      '“¤ «¥­¨¥',0
5138
aDeleteCaption          db      '“¤ «¥­¨¥',0
Line 4997... Line 5147...
4997
aCancelB                db      '[ Žâ¬¥­¨âì ]',0
5147
aCancelB                db      '[ Žâ¬¥­¨âì ]',0
4998
aCancelBLength = $ - aCancelB - 1
5148
aCancelBLength = $ - aCancelB - 1
4999
aCopyCaption            db      'Š®¯¨à®¢ ­¨¥',0
5149
aCopyCaption            db      'Š®¯¨à®¢ ­¨¥',0
5000
aCopy                   db      '[ Š®¯¨à®¢ âì ]',0
5150
aCopy                   db      '[ Š®¯¨à®¢ âì ]',0
5001
aCopyLength = $ - aCopy - 1
5151
aCopyLength = $ - aCopy - 1
-
 
5152
a_Continue              db      '[ à®¤®«¦¨âì ]',0
-
 
5153
a_ContinueLength = $ - a_Continue - 1
5002
aCopy1                  db      'Š®¯¨à®¢ âì "',0
5154
aCopy1                  db      'Š®¯¨à®¢ âì "',0
5003
aCopy2                  db      '" ¢:',0
5155
aCopy2                  db      '" ¢:',0
5004
aError                  db      'Žè¨¡ª ',0
5156
aError                  db      'Žè¨¡ª ',0
5005
aContinue               db      'à®¤®«¦¨âì',0
5157
aContinue               db      'à®¤®«¦¨âì',0
5006
aRetry                  db      '®¢â®à¨âì',0
5158
aRetry                  db      '®¢â®à¨âì',0
-
 
5159
a_Cancel                db      'Žâ¬¥­¨âì',0
-
 
5160
a_Delete                db      '“¤ «¨âì',0
5007
error0msg               db      '‘âà ­­®... ¥â ®è¨¡ª¨',0
5161
error0msg               db      '‘âà ­­®... ¥â ®è¨¡ª¨',0
5008
error1msg               db      '‘âà ­­®... ¥ ®¯à¥¤¥«¥­  ¡ §  ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0
5162
error1msg               db      '‘âà ­­®... ¥ ®¯à¥¤¥«¥­  ¡ §  ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0
5009
error2msg               db      '”ã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ­­®© ä ©«®¢®© á¨á⥬ë',0
5163
error2msg               db      '”ã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ­­®© ä ©«®¢®© á¨á⥬ë',0
5010
error3msg               db      '¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
5164
error3msg               db      '¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
5011
error4msg               db      '‘âà ­­®... Žè¨¡ª  4',0
5165
error4msg               db      '‘âà ­­®... Žè¨¡ª  4',0
Line 5019... Line 5173...
5019
error30msg              db      '¥¤®áâ â®ç­® ¯ ¬ïâ¨',0
5173
error30msg              db      '¥¤®áâ â®ç­® ¯ ¬ïâ¨',0
5020
error31msg              db      '” ©« ­¥ ï¥âáï ¨á¯®«­ï¥¬ë¬',0
5174
error31msg              db      '” ©« ­¥ ï¥âáï ¨á¯®«­ï¥¬ë¬',0
5021
error32msg              db      '‘«¨èª®¬ ¬­®£® ¯à®æ¥áᮢ',0
5175
error32msg              db      '‘«¨èª®¬ ¬­®£® ¯à®æ¥áᮢ',0
5022
aUnknownError           db      '¥¨§¢¥áâ­ë© ª®¤ ®è¨¡ª¨: ',0
5176
aUnknownError           db      '¥¨§¢¥áâ­ë© ª®¤ ®è¨¡ª¨: ',0
5023
aCannotReadFolder       db      '¥ ¬®£ã ¯à®ç¨â âì ¯ ¯ªã',0
5177
aCannotReadFolder       db      '¥ ¬®£ã ¯à®ç¨â âì ¯ ¯ªã',0
-
 
5178
aRunError               db      'Žè¨¡ª  ¯à¨ § ¯ã᪥ ¯à®£à ¬¬ë:',0
-
 
5179
aFileNameTooBig         db      '®«­®¥ ¨¬ï ä ©«  ᫨誮¬ ¤«¨­­®¥',0
-
 
5180
aFolderNameTooBig       db      '®«­®¥ ¨¬ï ¯ ¯ª¨ ᫨誮¬ ¤«¨­­®¥',0
-
 
5181
aCmdLineTooBig          db      'Š®¬ ­¤­ ï áâப  ¯à¥¢ë蠥⠣࠭¨æã OS ¢ 256 ᨬ¢®«®¢',0
-
 
5182
aCannotCopyToSelf       db      '” ©« ­¥ ¬®¦¥â ¡ëâì ᪮¯¨à®¢ ­ ¢ á ¬®£® ᥡï',0
-
 
5183
aCannotReadFile         db      '¥ ¬®£ã ¯à®ç¨â âì ä ©«',0
-
 
5184
aIncompleteFile         db      'ë« ¯®«ã祭 ­¥¯®«­ë© ä ©«. “¤ «¨âì ¥£®?',0
-
 
5185
aKeep                   db      'Žáâ ¢¨âì',0
-
 
5186
aCannotWriteFile        db      '¥ ¬®£ã § ¯¨á âì ¢ ä ©«',0
-
 
5187
aCannotDeleteFile       db      '¥ ¬®£ã 㤠«¨âì ä ©«',0
-
 
5188
aCannotDeleteFolder     db      '¥ ¬®£ã 㤠«¨âì ¯ ¯ªã',0
-
 
5189
aIgnore                 db      'ˆ£­®à¨à®¢ âì',0
-
 
5190
aMkDirCaption           db      '‘®§¤ ­¨¥ ¯ ¯ª¨',0
-
 
5191
aMkDir                  db      '‘®§¤ âì ¯ ¯ªã',0
-
 
5192
aMkDirLen = $ - aMkDir - 1
-
 
5193
aCannotMakeFolder       db      '¥ ¬®£ã ᮧ¤ âì ¯ ¯ªã',0
5024
else
5194
else
5025
aDeleteCaption          db      'Delete',0
5195
aDeleteCaption          db      'Delete',0
5026
aConfirmDeleteText      db      'Do you wish to delete ',0
5196
aConfirmDeleteText      db      'Do you wish to delete ',0
5027
aDeleteFolder           db      'the folder',0
5197
aDeleteFolder           db      'the folder',0
5028
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
5198
aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2
Line 5034... Line 5204...
5034
aCancelB                db      '[ Cancel ]',0
5204
aCancelB                db      '[ Cancel ]',0
5035
aCancelBLength = $ - aCancelB - 1
5205
aCancelBLength = $ - aCancelB - 1
5036
aCopyCaption            db      'Copy',0
5206
aCopyCaption            db      'Copy',0
5037
aCopy                   db      '[ Copy ]',0
5207
aCopy                   db      '[ Copy ]',0
5038
aCopyLength = $ - aCopy - 1
5208
aCopyLength = $ - aCopy - 1
-
 
5209
a_Continue              db      '[ Continue ]',0
-
 
5210
a_ContinueLength = $ - a_Continue - 1
5039
aCopy1                  db      'Copy "',0
5211
aCopy1                  db      'Copy "',0
5040
aCopy2                  db      '" to:',0
5212
aCopy2                  db      '" to:',0
5041
aError                  db      'Error',0
5213
aError                  db      'Error',0
5042
aContinue               db      'Continue',0
5214
aContinue               db      'Continue',0
5043
aRetry                  db      'Retry',0
5215
aRetry                  db      'Retry',0
-
 
5216
a_Cancel                db      'Cancel',0
-
 
5217
a_Delete                db      'Delete',0
5044
error0msg               db      'Strange... No error',0
5218
error0msg               db      'Strange... No error',0
5045
error1msg               db      'Strange... Hard disk base and/or partition not defined',0
5219
error1msg               db      'Strange... Hard disk base and/or partition not defined',0
5046
error2msg               db      'The file system does not support this function',0
5220
error2msg               db      'The file system does not support this function',0
5047
error3msg               db      'Unknown file system',0
5221
error3msg               db      'Unknown file system',0
5048
error4msg               db      'Strange... Error 4',0
5222
error4msg               db      'Strange... Error 4',0
Line 5056... Line 5230...
5056
error30msg              db      'Not enough memory',0
5230
error30msg              db      'Not enough memory',0
5057
error31msg              db      'File is not executable',0
5231
error31msg              db      'File is not executable',0
5058
error32msg              db      'Too many processes',0
5232
error32msg              db      'Too many processes',0
5059
aUnknownError           db      'Unknown error code: ',0
5233
aUnknownError           db      'Unknown error code: ',0
5060
aCannotReadFolder       db      'Cannot read folder',0
5234
aCannotReadFolder       db      'Cannot read folder',0
-
 
5235
aRunError               db      'Cannot execute program:',0
-
 
5236
aFileNameTooBig         db      'Full file name is too long',0
-
 
5237
aFolderNameTooBig       db      'Full folder name is too long',0
-
 
5238
aCmdLineTooBig          db      'Command line is too long (OS limit is 256 symbols)',0
-
 
5239
aCannotCopyToSelf       db      'File cannot be copied onto itself',0
-
 
5240
aCannotReadFile         db      'Cannot read file',0
-
 
5241
aIncompleteFile         db      'Incomplete file was retrieved. Delete it?',0
-
 
5242
aKeep                   db      'Keep',0
-
 
5243
aCannotWriteFile        db      'Cannot write file',0
-
 
5244
aCannotDeleteFile       db      'Cannot delete file',0
-
 
5245
aCannotDeleteFolder     db      'Cannot delete folder',0
-
 
5246
aIgnore                 db      'Ignore',0
-
 
5247
aMkDirCaption           db      'Make folder',0
-
 
5248
aMkDir                  db      'Create the folder',0
-
 
5249
aMkDirLen = $ - aMkDir - 1
-
 
5250
aCannotMakeFolder       db      'Cannot create folder',0
5061
end if
5251
end if
5062
aOk                     db      'OK',0
5252
aOk                     db      'OK',0
5063
aNoMemory               db      'No memory!',0
5253
aNoMemory               db      'No memory!',0
Line 5064... Line 5254...
5064
 
5254
 
Line 5076... Line 5266...
5076
i_end:
5266
i_end:
Line 5077... Line 5267...
5077
 
5267
 
Line 5078... Line 5268...
5078
IncludeUGlobals
5268
IncludeUGlobals
-
 
5269
 
5079
 
5270
execdata rb     1024
5080
execdata rb     1024
5271
execdataend:
Line 5081... Line 5272...
5081
        align   4
5272
        align   4
5082
attrinfo.attr   rb      40
5273
attrinfo.attr   rb      40
Line 5159... Line 5350...
5159
active_screen_data dd   ?
5350
active_screen_data dd   ?
Line 5160... Line 5351...
5160
 
5351
 
5161
aConfirmDeleteTextBuf   rb      aConfirmDeleteTextMax + 1
5352
aConfirmDeleteTextBuf   rb      aConfirmDeleteTextMax + 1
5162
CopySourceTextBuf       rb      512
5353
CopySourceTextBuf       rb      512
5163
CopyDestEditBuf         rb      12+512+1
5354
CopyDestEditBuf         rb      12+512+1
Line 5164... Line 5355...
5164
.length = $ - CopyDestEditBuf - 9
5355
.length = $ - CopyDestEditBuf - 13
5165
 
5356
 
Line 5166... Line 5357...
5166
align 4
5357
align 4