Rev 4015 | Rev 4309 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4015 | Rev 4050 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /// =========================================================== |
1 | /// =========================================================== |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | void command_history_add(char command[]) |
3 | void command_history_add() |
Line 4... | Line 4... | ||
4 | { |
4 | { |
- | 5 | ||
5 | 6 | int i; |
|
6 | if ( (0 != strcmp( CMD_HISTORY[0], CMD)) && |
- | |
7 | (0 != strcmp( CMD_HISTORY[1], CMD)) && |
- | |
8 | (0 != strcmp( CMD_HISTORY[2], CMD)) && |
- | |
9 | (0 != strcmp( CMD_HISTORY[3], CMD)) && |
- | |
10 | (0 != strcmp( CMD_HISTORY[4], CMD)) && |
- | |
11 | (0 != strcmp( CMD_HISTORY[5], CMD)) && |
7 | |
12 | (0 != strcmp( CMD_HISTORY[6], CMD)) && |
8 | for (i = 0; i < CMD_HISTORY_NUM_REAL; i++) |
13 | (0 != strcmp( CMD_HISTORY[7], CMD)) && |
- | |
14 | (0 != strcmp( CMD_HISTORY[8], CMD)) && |
9 | if ( 0 == strcmp( CMD_HISTORY[i], CMD ) ) |
15 | (0 != strcmp( CMD_HISTORY[9], CMD)) ) |
- | |
16 | - | ||
17 | { |
- | |
18 | strcpy(CMD_HISTORY[9], CMD_HISTORY[8]); |
- | |
19 | strcpy(CMD_HISTORY[8], CMD_HISTORY[7]); |
- | |
20 | strcpy(CMD_HISTORY[7], CMD_HISTORY[6]); |
- | |
21 | strcpy(CMD_HISTORY[6], CMD_HISTORY[5]); |
- | |
22 | strcpy(CMD_HISTORY[5], CMD_HISTORY[4]); |
10 | return; |
23 | strcpy(CMD_HISTORY[4], CMD_HISTORY[3]); |
11 | |
24 | strcpy(CMD_HISTORY[3], CMD_HISTORY[2]); |
- | |
Line 25... | Line 12... | ||
25 | strcpy(CMD_HISTORY[2], CMD_HISTORY[1]); |
12 | for (i = CMD_HISTORY_NUM_REAL; i > 0 ; i--) |
Line 26... | Line 13... | ||
26 | strcpy(CMD_HISTORY[1], CMD_HISTORY[0]); |
13 | strcpy(CMD_HISTORY[i], CMD_HISTORY[i-1]); |
27 | 14 | ||
Line 28... | Line 15... | ||
28 | strcpy(CMD_HISTORY[0], CMD); |
15 | strcpy(CMD_HISTORY[0], CMD); |
Line 29... | Line 16... | ||
29 | 16 | ||
Line -... | Line 17... | ||
- | 17 | if (CMD_HISTORY_NUM_REAL < CMD_HISTORY_NUM-1) |
|
- | 18 | CMD_HISTORY_NUM_REAL++; |
|
30 | if (CMD_HISTORY_NUM_REAL < CMD_HISTORY_NUM) |
19 | |
Line 31... | Line 20... | ||
31 | CMD_HISTORY_NUM_REAL++; |
20 | CMD_NUM = 0; |
32 | 21 | ||
33 | } |
22 | } |
Line 65... | Line 54... | ||
65 | 54 | ||
Line 66... | Line 55... | ||
66 | 55 | ||
67 | case 13: // ENTER |
56 | case 13: // ENTER |
68 | printf("\n\r"); |
57 | printf("\n\r"); |
69 | command_history_add(CMD); |
58 | command_history_add(); |
Line 70... | Line 59... | ||
70 | return; |
59 | return; |
71 | 60 | ||
Line 172... | Line 161... | ||
172 | break; |
161 | break; |
173 | 162 | ||
Line 174... | Line 163... | ||
174 | 163 | ||
- | 164 | case 80: // Down |
|
175 | case 80: // Down |
165 | |
176 | for (i = 0; i < CMD_HISTORY_NUM; i++) |
166 | if (CMD_HISTORY_NUM_REAL > 0) |
Line 177... | Line 167... | ||
177 | { |
167 | { |
178 | 168 | ||
Line 179... | Line 169... | ||
179 | for (i = cmdPos; i < cmdLen; i++) |
169 | for (i = cmdPos; i < cmdLen; i++) |
180 | printf(" "); |
170 | printf(" "); |
Line 181... | Line 171... | ||
181 | 171 | ||
182 | for (i = cmdLen; i > 0; i--) |
172 | for (i = cmdLen; i > 0; i--) |
183 | printf("%c %c", 8, 8); |
173 | printf("%c %c", 8, 8); |
184 | 174 | ||
Line 185... | Line 175... | ||
185 | if (CMD_NUM < CMD_HISTORY_NUM-1) |
175 | if (CMD_NUM < CMD_HISTORY_NUM_REAL-1) |
186 | CMD_NUM++; |
176 | CMD_NUM++; |
187 | else |
177 | else |
188 | CMD_NUM = 0; |
178 | CMD_NUM = 0; |
189 | - | ||
Line 190... | Line 179... | ||
190 | printf( CMD_HISTORY[CMD_NUM] ); |
179 | |
Line 191... | Line 180... | ||
191 | strcpy(CMD, CMD_HISTORY[CMD_NUM]); |
180 | printf( CMD_HISTORY[CMD_NUM] ); |
Line 192... | Line 181... | ||
192 | cmdLen = strlen(CMD); |
181 | strcpy(CMD, CMD_HISTORY[CMD_NUM]); |
193 | if ((cmdPos = strlen(CMD)) != 0) |
182 | cmdLen = strlen(CMD); |
194 | break; |
183 | cmdPos = strlen(CMD); |
Line 195... | Line 184... | ||
195 | 184 | ||
196 | } |
185 | } |
Line 210... | Line 199... | ||
210 | 199 | ||
Line 211... | Line 200... | ||
211 | if (CMD_NUM > 0) |
200 | if (CMD_NUM > 0) |
212 | CMD_NUM--; |
201 | CMD_NUM--; |
213 | else |
202 | else |
214 | CMD_NUM = CMD_HISTORY_NUM-1; |
203 | CMD_NUM = CMD_HISTORY_NUM_REAL-1; |
Line 215... | Line 204... | ||
215 | 204 | ||
216 | printf( CMD_HISTORY[CMD_NUM] ); |
205 | printf( CMD_HISTORY[CMD_NUM] ); |
217 | strcpy(CMD, CMD_HISTORY[CMD_NUM]); |
206 | strcpy(CMD, CMD_HISTORY[CMD_NUM]); |
218 | cmdLen = strlen(CMD); |
207 | cmdLen = strlen(CMD); |
219 | if ((cmdPos = strlen(CMD)) != 0) |
208 | cmdPos = strlen(CMD); |
220 | break; |
209 | |
221 | } |
210 | } |
Line 222... | Line 211... | ||
222 | break; |
211 | break; |