/programs/system/shell/History.txt |
---|
1,4 → 1,9 |
Shell 0.6.2 // 24.02.2013 // Albom |
* ®¡ ¢«¥ ®¡à ¡®âª ã¯à ¢«ïîé¨å ᨬ¢®«®¢ (\n, \t, \", \', \\, \?) |
* ¥«ª¨¥ ¨á¯à ¢«¥¨ï |
Shell 0.6.1 // 17.02.2013 // Albom |
* à®áâ ï ®¡à ¡®âª ®è¨¡®ª ¢ãâà¥¨å ª®¬ ¤ |
* ®¬ ¤ killall âà áä®à¬¨à®¢ ¢ ¯ à ¬¥âà all ª®¬ ¤ë kill |
/programs/system/shell/cmd/cmd_about.c |
---|
11,3 → 11,4 |
printf(message, SHELL_VERSION); |
return TRUE; |
} |
/programs/system/shell/cmd/cmd_alias.c |
---|
17,3 → 17,4 |
return TRUE; |
} |
/programs/system/shell/cmd/cmd_cd.c |
---|
52,3 → 52,4 |
} |
} |
/programs/system/shell/cmd/cmd_clear.c |
---|
4,3 → 4,4 |
con_cls(); |
return TRUE; |
} |
/programs/system/shell/globals.h |
---|
1,5 → 1,5 |
#define SHELL_VERSION "0.6" |
#define SHELL_VERSION "0.6.2" |
extern char PATH[256]; |
extern char PARAM[256]; |
/programs/system/shell/modules/module_parameters.c |
---|
20,7 → 20,40 |
{ |
switch (param[i]) |
{ |
case '\\': |
if (param[i+1]!='\0') |
{ |
switch(param[i+1]) |
{ |
case 'n': |
argv[argc-1][argv_len] = '\n'; |
argv_len++; |
i++; |
break; |
case 't': |
argv[argc-1][argv_len] = '\t'; |
argv_len++; |
i++; |
case '\\': |
case '\'': |
case '"': |
case '?': |
argv[argc-1][argv_len] = param[i+1]; |
argv_len++; |
i++; |
break; |
default: |
i++; |
}; |
} |
break; |
case '"': |
if (quote == 0) |
quote = 1; |
else |
62,6 → 95,7 |
argv[argc-1][argv_len] = param[i]; |
argv_len++; |
break; |
}; |
} |
/programs/system/shell/prototypes.h |
---|
28,6 → 28,5 |
int parameters_prepare(char *param, char* argv[]); |
void parameters_free(int argc, char* argv[]); |
void print_error(void); |
/// =========================================================== |
/// =========================================================== |
/programs/system/shell/test.c |
---|
4,10 → 4,10 |
#include "program_console.h" |
char *buffer; // èñïîëüçóåòñÿ òîëüêî îäíà èìåíîâàííàÿ îáëàñòü, ïîýòîìó ìîæíî ñäåëàòü å¸ ãëîáàëüíîé ïåðåìåííîé |
char name[32]; // èìÿ íóæíî êàê äëÿ ñîçäàíèÿ îáëàñòè, òàê è äëÿ óäàëåíèÿ, ïîýòîìó ìîæíî ñäåëàòü å¸ ãëîáàëüíîé ïåðåìåííîé |
char *buffer; // ¨á¯®«ì§ã¥âáï ⮫쪮 ®¤ ¨¬¥®¢ ï ®¡« áâì, ¯®í⮬㠬®¦® ᤥ« âì ¥ñ £«®¡ «ì®© ¯¥à¥¬¥®© |
char name[32]; // ¨¬ï 㦮 ª ª ¤«ï ᮧ¤ ¨ï ®¡« áâ¨, â ª ¨ ¤«ï 㤠«¥¨ï, ¯®í⮬㠬®¦® ᤥ« âì ¥ñ £«®¡ «ì®© ¯¥à¥¬¥®© |
int sc_init() // èíèöèàëèçàöèÿ - ñîçäàíèå èìåíîâàííîé îáëàñòè |
int sc_init() // ¨¨æ¨ «¨§ æ¨ï - ᮧ¤ ¨¥ ¨¬¥®¢ ®© ®¡« á⨠|
{ |
char *buf1k; |
19,15 → 19,15 |
if (NULL == buf1k) |
return -1; |
kol_process_info(-1, buf1k); // ïîëó÷àåì ÑÂÎÉ (-1) èäåíòèôèêàòîð ïðîöåññà |
kol_process_info(-1, buf1k); // ¯®«ãç ¥¬ (-1) ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá |
PID = *(buf1k+30); |
free(buf1k); |
itoa(PID, name); // ôîðìèðóåì èç íîìåðà ïðîöåññà ñòðîêó ñ çàãëàâíûìè íóëÿìè 42 -> 0042 (ò.å. äî 9999) |
itoa(PID, name); // ä®à¬¨à㥬 ¨§ ®¬¥à ¯à®æ¥áá áâபã |
strcat(name, "-SHELL"); |
*buffer = NULL; |
result = kol_buffer_open(name, SHM_OPEN_ALWAYS | SHM_WRITE, 1024*16, &buffer); // ñîçäà¸ì îáëàñòü (16 êèë) |
result = kol_buffer_open(name, SHM_OPEN_ALWAYS | SHM_WRITE, 1024*16, &buffer); // ᮧ¤ ñ¬ ®¡« áâì (16 ª¡ ©â) |
return result; |
} |