Subversion Repositories Kolibri OS

Rev

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

Rev 5207 Rev 6822
Line 4... Line 4...
4
{
4
{
5
 
5
 
Line 6... Line 6...
6
int i;
6
int i;
Line -... Line 7...
-
 
7
 
-
 
8
if ('\0' == CMD[0]) return;
7
 
9
 
8
for (i = 0; i < CMD_HISTORY_NUM_REAL; i++)
10
for (i = 0; i < CMD_HISTORY_NUM_REAL; i++)
9
    if ( 0 == strcmp( CMD_HISTORY[i], CMD ) )
11
	if ( 0 == strcmp( CMD_HISTORY[i], CMD ) )
Line 10... Line 12...
10
       return;
12
		return;
Line 16... Line 18...
16
 
18
 
Line 17... Line 19...
17
if (CMD_HISTORY_NUM_REAL < CMD_HISTORY_NUM-1)
19
if (CMD_HISTORY_NUM_REAL < CMD_HISTORY_NUM-1)
18
	CMD_HISTORY_NUM_REAL++;
20
	CMD_HISTORY_NUM_REAL++;
Line 19... Line 21...
19
 
21
 
Line 20... Line 22...
20
CMD_NUM = 0;
22
CMD_NUM = -1;
Line 55... Line 57...
55
                                cmdPos = 0;
57
				cmdPos = 0;
56
                                CMD[0] = '\0';
58
				CMD[0] = '\0';
57
				break;
59
				break;
58
 
60
 
Line 59... Line -...
59
 
-
 
60
			case 13: // ENTER
61
			case 13: // ENTER
61
				printf("\n\r");
62
				printf("\n\r");
62
				command_history_add();
63
				command_history_add();
63
				return;
64
				return;
Line 64... Line -...
64
 
-
 
65
 
65
 
66
			case 8: // BACKSPACE
66
			case 8: // BACKSPACE
67
				if (cmdPos > 0)
67
				if (cmdPos > 0)
68
					{
68
					{
69
                                        for (i = cmdPos-1; i < cmdLen; i++)
69
					for (i = cmdPos-1; i < cmdLen; i++)
70
											CMD[i] = CMD[i+1];
-
 
71
 
70
										CMD[i] = CMD[i+1];
72
                                        for (i = 0; i < cmdLen-cmdPos; i++)
71
					for (i = 0; i < cmdLen-cmdPos; i++)
Line 73... Line 72...
73
					    printf (" ");
72
						printf (" ");
74
 
73
 
Line 100... Line 99...
100
						{
99
						{
101
						if ((int)*(clipBuf+4)==0) // text?
100
						if ((int)*(clipBuf+4)==0) // text?
102
							{
101
							{
103
							if ((int)*(clipBuf+8)==1) // 866 encoding?
102
							if ((int)*(clipBuf+8)==1) // 866 encoding?
104
 
103
								{
105
                                for (i = cmdPos; i < cmdLen; i++)
104
								for (i = cmdPos; i < cmdLen; i++)
106
                                    printf(" ");
105
									printf(" ");
107
                                for (i = cmdLen; i > 0; i--)
106
								for (i = cmdLen; i > 0; i--)
108
                                    printf("%c %c", 8, 8);
107
									printf("%c %c", 8, 8);
109
                                cmdLen = 0;
108
								cmdLen = 0;
110
                                cmdPos = 0;
109
								cmdPos = 0;
Line 128... Line 127...
128
 
127
 
Line 129... Line 128...
129
								}
128
								}
130
						}
129
							}
131
					}
130
						}
-
 
131
					}
132
				break;
132
				break;
Line 133... Line 133...
133
 
133
 
134
				
134
				
Line 202... Line 202...
202
                                    printf("%c", 8);
202
							printf("%c", 8);
203
 
203
 
Line 204... Line 204...
204
                                cmdLen--;
204
						cmdLen--;
205
                                }
205
					}
206
 
-
 
207
                             break;
206
				break;
Line 208... Line 207...
208
 
207
 
209
                        case 75: // Left
208
			case 75: // Left
210
                             if (cmdPos > 0)
209
				if (cmdPos > 0)
Line 223... Line 222...
223
                                }
222
					}
224
                             break;
223
				break;
225
 
224
 
Line 226... Line 225...
226
 
225
 
227
			case 80: // Down
-
 
228
 
226
			case 72: // Up
229
				if (CMD_HISTORY_NUM_REAL > 0)
227
				if (CMD_HISTORY_NUM_REAL > 0 && CMD_NUM >= -1)
Line 230... Line 228...
230
					{
228
					{
231
 
229
 
Line 232... Line 230...
232
					for (i = cmdPos; i < cmdLen; i++)
230
					for (i = cmdPos; i < cmdLen; i++)
233
						printf(" ");
231
						printf(" ");
Line 234... Line 232...
234
 
232
 
235
					for (i = cmdLen; i > 0; i--)
233
					for (i = cmdLen; i > 0; i--)
236
						printf("%c %c", 8, 8);
234
						printf("%c %c", 8, 8);
237
 
235
 
238
				    if (CMD_NUM < CMD_HISTORY_NUM_REAL-1)
236
					if (CMD_NUM < CMD_HISTORY_NUM_REAL-1)
239
				        CMD_NUM++;
237
						CMD_NUM++;
240
				    else
238
/*					else
241
						CMD_NUM = 0;
239
						CMD_NUM = 0;
242
 
240
*/
Line 243... Line 241...
243
					printf(	"%s", CMD_HISTORY[CMD_NUM] );
241
					printf("%s", CMD_HISTORY[CMD_NUM]);
Line 244... Line 242...
244
					strcpy(CMD, CMD_HISTORY[CMD_NUM]);
242
					strcpy(CMD, CMD_HISTORY[CMD_NUM]);
Line 245... Line 243...
245
					cmdLen = strlen(CMD);
243
					cmdLen = strlen(CMD);
246
					cmdPos = strlen(CMD);
244
					cmdPos = strlen(CMD);
247
 
245
 
Line 248... Line 246...
248
					}
246
					}
249
			
247
			
Line 250... Line 248...
250
				break;
248
				break;
251
 
249
 
Line 252... Line 250...
252
 
250
 
253
			case 72: // Up
251
			case 80: // Down
254
				if (CMD_HISTORY_NUM_REAL > 0)
252
				if (CMD_HISTORY_NUM_REAL > 0 && CMD_NUM >= 0)
255
					{
253
					{
256
 
254
 
257
					for (i = cmdPos; i < cmdLen; i++)
255
					for (i = cmdPos; i < cmdLen; i++)
258
						printf(" ");
256
						printf(" ");
259
 
257
 
260
					for (i = cmdLen; i > 0; i--)
258
					for (i = cmdLen; i > 0; i--)