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:
parent
0dd49af34c
commit
46ae9b5169
@ -55,7 +55,7 @@ rm
|
||||
rmdir удаляет <каталог>
|
||||
shutdown выключает компьютер
|
||||
sleep приостанавливает работу Shell'а на заданное <время в сотых долях секунды>
|
||||
touch создаёт пустой <файл> или изменяет дату/время создания файла. Не работает
|
||||
touch создаёт пустой <файл> или изменяет дату/время создания файла
|
||||
uptime показывает время работы системы с момента загрузки
|
||||
ver показывает версию Shell, ver kernel - версию и номер ревизии ядра OS,
|
||||
ver cpu - информацию о процессоре
|
||||
|
@ -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]; //¡ãä¥à
|
||||
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>鈞㈲<E9889E>
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user