Rev 4309 | Rev 5207 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4309 | Rev 4516 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | unsigned cmdLen = 0; |
33 | unsigned cmdLen = 0; |
34 | unsigned cmdPos = 0; |
34 | unsigned cmdPos = 0; |
35 | CMD[0] = '\0'; |
35 | CMD[0] = '\0'; |
36 | 36 | ||
Line -... | Line 37... | ||
- | 37 | int clipNum; // number of clipboard slots |
|
- | 38 | char* clipBuf; // clipboard buffer |
|
- | 39 | char clipCopy[255+12]; |
|
- | 40 | ||
37 | for (;;) |
41 | for (;;) |
38 | { |
42 | { |
39 | key = getch(); |
43 | key = getch(); |
40 | if ( 0 != (key & 0xff) ) |
44 | if ( 0 != (key & 0xff) ) |
41 | { |
45 | { |
Line 85... | Line 89... | ||
85 | case 9: // TAB |
89 | case 9: // TAB |
86 | break; |
90 | break; |
Line -... | Line 91... | ||
- | 91 | ||
- | 92 | ||
- | 93 | case 22: // Ctrl+V |
|
- | 94 | clipNum = kol_clip_num(); |
|
- | 95 | if (clipNum > 0) |
|
- | 96 | { |
|
- | 97 | clipBuf = kol_clip_get(clipNum-1); |
|
- | 98 | // printf("Length: %d, Type: %d, Encoding: %d\n", (int) *clipBuf, (int)*(clipBuf+4), (int)*(clipBuf+8)); |
|
- | 99 | if ( (int) *clipBuf > 0 ) // is clipboard empty? |
|
- | 100 | { |
|
- | 101 | if ((int)*(clipBuf+4)==0) // text? |
|
- | 102 | { |
|
- | 103 | if ((int)*(clipBuf+8)==1) // 866 encoding? |
|
- | 104 | ||
- | 105 | for (i = cmdPos; i < cmdLen; i++) |
|
- | 106 | printf(" "); |
|
- | 107 | for (i = cmdLen; i > 0; i--) |
|
- | 108 | printf("%c %c", 8, 8); |
|
- | 109 | cmdLen = 0; |
|
- | 110 | cmdPos = 0; |
|
- | 111 | CMD[0] = '\0'; |
|
- | 112 | ||
- | 113 | // strcpy_n |
|
- | 114 | for (i = 0; i < 255; i++) |
|
- | 115 | { |
|
- | 116 | CMD[i]=*(clipBuf+12+i); |
|
- | 117 | if (CMD[i]=='\0') |
|
- | 118 | break; |
|
- | 119 | } |
|
- | 120 | ||
- | 121 | cmdPos = cmdLen = strlen(CMD); |
|
- | 122 | /* |
|
- | 123 | printf("Length: %d\n", cmdLen); |
|
- | 124 | for (i = 0; i < cmdLen; i++) |
|
- | 125 | printf("%d ", CMD[i]); |
|
- | 126 | */ |
|
- | 127 | printf("%s", CMD); |
|
- | 128 | ||
- | 129 | } |
|
- | 130 | } |
|
- | 131 | } |
|
- | 132 | break; |
|
- | 133 | ||
- | 134 | ||
- | 135 | case 3: // Ctrl+C |
|
- | 136 | if ( cmdLen > 0 ) |
|
- | 137 | { |
|
- | 138 | ||
- | 139 | *clipCopy = 12 + cmdLen; |
|
- | 140 | *(clipCopy+4)=0; |
|
- | 141 | *(clipCopy+8)=1; |
|
- | 142 | ||
- | 143 | for (i = 0; i <= cmdLen; i++) |
|
- | 144 | *(clipCopy+12+i) = CMD[i]; |
|
- | 145 | ||
- | 146 | kol_clip_set(12+cmdLen, clipCopy); |
|
- | 147 | ||
- | 148 | } |
|
- | 149 | break; |
|
87 | 150 | ||
88 | 151 | ||
89 | default: |
152 | default: |
90 | if (cmdLen < 255) |
153 | if (cmdLen < 255) |
91 | { |
154 | { |