forked from KolibriOS/kolibrios
fix touch and much more
git-svn-id: svn://kolibrios.org@6826 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -55,7 +55,7 @@ rm
|
||||
rmdir <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>>
|
||||
shutdown <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sleep <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Shell'<27> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <<3C><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>>
|
||||
touch <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
touch <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
uptime <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ver <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Shell, ver kernel - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> OS,
|
||||
ver cpu - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
@@ -32,8 +32,8 @@ if (argc != 2)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
filename_in = (char*) malloc(4096);
|
||||
filename_out = (char*) malloc(4096);
|
||||
filename_in = (char*) malloc(FILENAME_MAX);
|
||||
filename_out = (char*) malloc(FILENAME_MAX);
|
||||
|
||||
if (argv[0][0] != '/')
|
||||
{
|
||||
|
@@ -2,7 +2,7 @@
|
||||
int cmd_mkdir(char dir[])
|
||||
{
|
||||
|
||||
char temp[256];
|
||||
char temp[FILENAME_MAX];
|
||||
kol_struct70 k70;
|
||||
unsigned result;
|
||||
|
||||
@@ -34,6 +34,8 @@ if ( '/' == dir[0])
|
||||
else
|
||||
{
|
||||
strcpy(temp, cur_dir);
|
||||
if (temp[strlen(temp)-1] != '/')
|
||||
strcat(temp, "/"); // add slash
|
||||
strcat(temp, dir);
|
||||
k70.p21 = temp;
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ kol_struct70 k70;
|
||||
kol_struct_BDVK bdvk;
|
||||
unsigned result, filesize, pos, i;
|
||||
char buf[81]; //<2F><><EFBFBD><EFBFBD><EFBFBD>
|
||||
char temp[256];
|
||||
char temp[FILENAME_MAX];
|
||||
unsigned flags;
|
||||
|
||||
if (strlen(file)<1)
|
||||
|
@@ -3,7 +3,7 @@ int cmd_rm(char file[])
|
||||
{
|
||||
|
||||
kol_struct70 k70;
|
||||
char temp[256];
|
||||
char temp[FILENAME_MAX];
|
||||
unsigned result;
|
||||
|
||||
if (NULL == file || strlen(file) == 0)
|
||||
@@ -28,6 +28,8 @@ if ( '/' == file[0])
|
||||
else
|
||||
{
|
||||
strcpy(temp, cur_dir);
|
||||
if (temp[strlen(temp)-1] != '/')
|
||||
strcat(temp, "/"); // add slash
|
||||
strcat(temp, file);
|
||||
|
||||
if ( !file_check(temp) )
|
||||
|
@@ -2,7 +2,7 @@
|
||||
int cmd_rmdir(char dir[])
|
||||
{
|
||||
|
||||
char temp[256];
|
||||
char temp[FILENAME_MAX];
|
||||
kol_struct70 k70;
|
||||
unsigned result;
|
||||
|
||||
@@ -33,6 +33,8 @@ if ( '/' == dir[0])
|
||||
else
|
||||
{
|
||||
strcpy(temp, cur_dir);
|
||||
if (temp[strlen(temp)-1] != '/')
|
||||
strcat(temp, "/"); // add slash
|
||||
strcat(temp, dir);
|
||||
k70.p21 = temp;
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ int cmd_touch(char file[])
|
||||
{
|
||||
|
||||
kol_struct70 k70;
|
||||
char temp[256];
|
||||
char temp[FILENAME_MAX];
|
||||
unsigned result;
|
||||
|
||||
if (NULL == file || strlen(file) == 0)
|
||||
@@ -33,6 +33,8 @@ if ( '/' == file[0])
|
||||
else
|
||||
{
|
||||
strcpy(temp, cur_dir);
|
||||
if (temp[strlen(temp)-1] != '/')
|
||||
strcat(temp, "/"); // add slash
|
||||
strcat(temp, file);
|
||||
if ( !file_check(temp) )
|
||||
k70.p00 = 2;
|
||||
@@ -47,6 +49,8 @@ k70.p16 = 0;
|
||||
k70.p20 = 0;
|
||||
k70.p21 = temp;
|
||||
|
||||
//printf("try to touch [%s], fn70(%d)\n\r", temp, k70.p00);
|
||||
|
||||
result = kol_file_70(&k70);
|
||||
|
||||
if (0 == result)
|
||||
|
@@ -4,7 +4,7 @@
|
||||
int executable_run(char cmd[], char args[])
|
||||
{
|
||||
|
||||
char exec[256];
|
||||
char exec[FILENAME_MAX];
|
||||
int result;
|
||||
|
||||
if ( '/' == cmd[0]) // <20> <20><><EFBFBD><EFBFBD> <20><>᮫<EFBFBD><E1AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
@@ -121,6 +121,13 @@ strcpy(title, "SHELL ");
|
||||
strcat(title, SHELL_VERSION);
|
||||
CONSOLE_INIT(title);
|
||||
|
||||
if (sizeof (kol_struct70) != 25)
|
||||
{
|
||||
printf("Invalid struct align kol_struct70, need to fix compile options\n\r");
|
||||
kol_exit();
|
||||
}
|
||||
|
||||
|
||||
strcpy(cur_dir, PATH);
|
||||
dir_truncate(cur_dir);
|
||||
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#define E_NOMEM 30
|
||||
#define E_PARAM 33
|
||||
|
||||
#define FILENAME_MAX 1024
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
|
Reference in New Issue
Block a user