/programs/system/shell/modules/module_command.c |
---|
17,9 → 17,19 |
(0 != strcmp( CMD_HISTORY[1], CMD)) && |
(0 != strcmp( CMD_HISTORY[2], CMD)) && |
(0 != strcmp( CMD_HISTORY[3], CMD)) && |
(0 != strcmp( CMD_HISTORY[4], CMD)) ) |
(0 != strcmp( CMD_HISTORY[4], CMD)) && |
(0 != strcmp( CMD_HISTORY[5], CMD)) && |
(0 != strcmp( CMD_HISTORY[6], CMD)) && |
(0 != strcmp( CMD_HISTORY[7], CMD)) && |
(0 != strcmp( CMD_HISTORY[8], CMD)) && |
(0 != strcmp( CMD_HISTORY[9], CMD)) ) |
{ |
strcpy(CMD_HISTORY[9], CMD_HISTORY[8]); |
strcpy(CMD_HISTORY[8], CMD_HISTORY[7]); |
strcpy(CMD_HISTORY[7], CMD_HISTORY[6]); |
strcpy(CMD_HISTORY[6], CMD_HISTORY[5]); |
strcpy(CMD_HISTORY[5], CMD_HISTORY[4]); |
strcpy(CMD_HISTORY[4], CMD_HISTORY[3]); |
strcpy(CMD_HISTORY[3], CMD_HISTORY[2]); |
strcpy(CMD_HISTORY[2], CMD_HISTORY[1]); |
100,7 → 110,7 |
switch (key) |
{ |
case 72: // UP |
case 80: // Down |
for (hist = 0; hist < CMD_HISTORY_NUM; hist++) |
{ |
command_clear(); |
118,7 → 128,7 |
break; |
case 80: // DOWN |
case 72: // Up |
for (hist = 0; hist < CMD_HISTORY_NUM; hist++) |
{ |
command_clear(); |
150,7 → 160,14 |
int command_get_cmd(char cmd[]) |
{ |
unsigned i; |
unsigned i, len; |
int quote = 0; |
if (CMD[0]=='"') |
quote = 1; |
if (quote == 0) |
{ |
for (i=0;;i++) |
{ |
cmd[i] = CMD[i]; |
167,6 → 184,28 |
} |
return i+1; |
} |
else |
{ |
len = 0; |
for (i=1;;i++) |
{ |
cmd[len] = CMD[i]; |
if (0 == cmd[len]) |
{ |
len = -2; |
break; |
} |
if ( cmd[len] == '"' ) |
{ |
cmd[len] = '\0'; |
break; |
} |
len++; |
} |
trim(cmd); |
return len+2; |
} |
} |
/// =========================================================== |
/programs/system/shell/modules/module_parameters.c |
---|
0,0 → 1,91 |
/// =========================================================== |
int parameters_prepare(char *param, char* argv[]) |
{ |
int i, param_len; |
int argc = 1; |
int quote = 0; |
int argv_len; |
param_len = strlen(param); |
if ( param_len == 0 ) |
return 0; |
argv[0] = (char*) malloc(4096); |
argv_len = 0; |
for (i = 0; i < param_len; i++) |
{ |
switch (param[i]) |
{ |
case '"': |
if (quote == 0) |
quote = 1; |
else |
{ |
quote = 0; |
argv[argc-1][argv_len] = '\0'; |
argc++; |
argv[argc-1] = (char*) malloc(4096); |
argv[argc-1][argv_len] = '\0'; |
argv_len = 0; |
} |
break; |
case 9: |
case 32: |
if (quote == 0) |
{ |
if ( ( param[i+1] != 32) || ( param[i+1] != 9) ) |
{ |
if (argv_len != 0) |
{ |
argv[argc-1][argv_len] = '\0'; |
argc++; |
argv[argc-1] = (char*) malloc(4096); |
argv[argc-1][argv_len] = '\0'; |
argv_len = 0; |
} |
} |
} |
else |
{ |
argv[argc-1][argv_len] = param[i]; |
argv_len++; |
} |
break; |
default: |
argv[argc-1][argv_len] = param[i]; |
argv_len++; |
break; |
}; |
} |
argv[argc-1][argv_len] = '\0'; |
if ( strlen(argv[argc-1]) == 0 ) |
{ |
free(argv[argc-1]); |
argc--; |
} |
return argc; |
} |
/// =========================================================== |
void parameters_free(int argc, char* argv[]) |
{ |
int i; |
for (i = 0; i < argc; i++) |
free(argv[i]); |
} |
/// =========================================================== |
/programs/system/shell/modules/module_program.c |
---|
6,7 → 6,7 |
k70.p00 = 7; |
k70.p04 = 0; |
k70.p08 = param; |
k70.p08 = (unsigned) param; |
k70.p12 = 0; |
k70.p16 = 0; |
k70.p20 = 0; |
/programs/system/shell/modules/module_program_console.c |
---|
80,7 → 80,7 |
#if LANG_ENG |
printf (" Error in console application.\n\r"); |
#elif LANG_RUS |
printf (" Îøèáêà â êîíñîëüíîì ïðèëîæåíèè.\n\r"); |
printf (" 訡ª ¢ ª®á®«ì®¬ ¯à¨«®¦¥¨¨.\n\r"); |
#endif |
return 0; |
}; |
/programs/system/shell/modules/module_script.c |
---|
11,7 → 11,7 |
k70.p04 = 0; |
k70.p08 = 0; |
k70.p12 = 4; // ÷èòàòü 4 áàéòà |
k70.p16 = buf; |
k70.p16 = (unsigned) buf; |
k70.p20 = 0; |
k70.p21 = file; |
35,7 → 35,7 |
k70.p00 = 5; |
k70.p04 = k70.p08 = k70.p12 = 0; |
k70.p16 = &bdvk; |
k70.p16 = (unsigned) &bdvk; |
k70.p20 = 0; |
k70.p21 = exec; |
54,7 → 54,7 |
k70.p00 = 0; |
k70.p04 = k70.p08 = 0; |
k70.p12 = filesize; |
k70.p16 = buf; |
k70.p16 = (unsigned) buf; |
k70.p20 = 0; |
k70.p21 = exec; |