Rev 5512 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5512 | Rev 5513 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | 15 | ||
Line 16... | Line 16... | ||
16 | Clipboard clipboard; |
16 | Clipboard clipboard; |
17 | 17 | ||
18 | void Copy(dword pcth, char cut) |
18 | void Copy(dword pcth, char cut) |
19 | { |
19 | { |
20 | dword selected_offset2; |
- | |
21 | byte copy_t[4096]; |
20 | dword selected_offset2; |
22 | int cont = 0; |
21 | byte copy_t[4096]; |
23 | dword buff_data; |
22 | dword buff_data; |
- | 23 | int ind = 0; |
|
- | 24 | ||
- | 25 | if (selected_count) |
|
- | 26 | { |
|
- | 27 | buff_data = malloc(selected_count*4096+10); |
|
- | 28 | ESDWORD[buff_data] = selected_count*4096+10; |
|
24 | int ind = 0; |
29 | ESDWORD[buff_data+4] = 3; |
25 | 30 | ESINT[buff_data+8] = selected_count; |
|
26 | for (i=0; i |
31 | for (i=0; i |
27 | { |
- | |
28 | selected_offset2 = file_mas[i]*304 + buf+32 + 7; |
- | |
29 | if (ESBYTE[selected_offset2]) cont++; |
- | |
30 | } |
- | |
31 | if (!cont) |
- | |
32 | { |
- | |
33 | buff_data = malloc(4106); |
- | |
34 | ESDWORD[buff_data] = 4106; |
- | |
35 | ESDWORD[buff_data+4] = 3; |
- | |
36 | ESINT[buff_data+8] = 1; |
- | |
37 | strlcpy(buff_data+10, #file_path, 4096);; |
- | |
38 | clipboard.SetSlotData(4106, buff_data); |
- | |
39 | } |
- | |
40 | else |
- | |
41 | { |
- | |
42 | buff_data = malloc(cont*4096+10); |
- | |
43 | ESDWORD[buff_data] = cont*4096+10; |
- | |
44 | ESDWORD[buff_data+4] = 3; |
- | |
45 | ESINT[buff_data+8] = cont; |
- | |
46 | for (i=0; i |
- | |
47 | { |
32 | { |
48 | selected_offset2 = file_mas[i]*304 + buf+32 + 7; |
33 | selected_offset2 = file_mas[i]*304 + buf+32 + 7; |
49 | if (ESBYTE[selected_offset2]) { |
34 | if (ESBYTE[selected_offset2]) { |
50 | strcpy(#copy_t, #path); |
- | |
51 | strcat(#copy_t, file_mas[i]*304+buf+72); |
35 | strcpy(#copy_t, #path); |
52 | - | ||
53 | strlcpy(ind*4096+buff_data+10, #copy_t, 4096);; |
36 | strcat(#copy_t, file_mas[i]*304+buf+72); |
54 | ind++; |
37 | strlcpy(ind*4096+buff_data+10, #copy_t, 4096);; |
- | 38 | ind++; |
|
55 | } |
39 | } |
- | 40 | } |
|
- | 41 | clipboard.SetSlotData(selected_count*4096+10, buff_data); |
|
- | 42 | } |
|
- | 43 | else |
|
- | 44 | { |
|
- | 45 | buff_data = malloc(4106); |
|
- | 46 | ESDWORD[buff_data] = 4106; |
|
- | 47 | ESDWORD[buff_data+4] = 3; |
|
- | 48 | ESINT[buff_data+8] = 1; |
|
56 | } |
49 | strlcpy(buff_data+10, #file_path, 4096);; |
57 | clipboard.SetSlotData(cont*4096+10, buff_data); |
50 | clipboard.SetSlotData(4106, buff_data); |
58 | } |
51 | } |
59 | cut_active = cut; |
52 | cut_active = cut; |
Line 60... | Line 53... | ||
60 | free(buff_data); |
53 | free(buff_data); |