2010-10-17 21:50:55 +02:00
|
|
|
|
|
|
|
|
|
int cmd_touch(char file[])
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
kol_struct70 k70;
|
2017-01-06 22:23:13 +01:00
|
|
|
|
char temp[FILENAME_MAX];
|
2010-10-17 21:50:55 +02:00
|
|
|
|
unsigned result;
|
|
|
|
|
|
2017-01-01 23:28:50 +01:00
|
|
|
|
if (NULL == file || strlen(file) == 0)
|
2010-10-17 21:50:55 +02:00
|
|
|
|
{
|
2010-10-21 01:58:36 +02:00
|
|
|
|
#if LANG_ENG
|
|
|
|
|
printf(" touch <filename>\n\r");
|
|
|
|
|
#elif LANG_RUS
|
|
|
|
|
printf(" touch <<3C><><EFBFBD> 䠩<><E4A0A9>>\n\r");
|
|
|
|
|
#endif
|
2013-02-17 16:22:51 +01:00
|
|
|
|
return TRUE;
|
2010-10-17 21:50:55 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( ( 0 == strcmp(file, ".") ) || ( 0 == strcmp(file, "..") ) || ( 0 == strcmp(cur_dir, "/")) )
|
|
|
|
|
{
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( '/' == file[0])
|
|
|
|
|
{
|
|
|
|
|
strcpy(temp, file);
|
|
|
|
|
|
|
|
|
|
if ( !file_check(temp) )
|
|
|
|
|
k70.p00 = 2;
|
|
|
|
|
else
|
|
|
|
|
k70.p00 = 3;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strcpy(temp, cur_dir);
|
2017-01-06 22:23:13 +01:00
|
|
|
|
if (temp[strlen(temp)-1] != '/')
|
|
|
|
|
strcat(temp, "/"); // add slash
|
2010-10-17 21:50:55 +02:00
|
|
|
|
strcat(temp, file);
|
|
|
|
|
if ( !file_check(temp) )
|
|
|
|
|
k70.p00 = 2;
|
|
|
|
|
else
|
|
|
|
|
k70.p00 = 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
k70.p04 = 0;
|
2017-02-06 13:35:58 +01:00
|
|
|
|
//k70.p08 = 0;
|
2010-10-17 21:50:55 +02:00
|
|
|
|
k70.p12 = 0;
|
|
|
|
|
k70.p16 = 0;
|
|
|
|
|
k70.p20 = 0;
|
|
|
|
|
k70.p21 = temp;
|
|
|
|
|
|
2017-01-06 22:23:13 +01:00
|
|
|
|
//printf("try to touch [%s], fn70(%d)\n\r", temp, k70.p00);
|
|
|
|
|
|
2010-10-17 21:50:55 +02:00
|
|
|
|
result = kol_file_70(&k70);
|
|
|
|
|
|
|
|
|
|
if (0 == result)
|
|
|
|
|
return TRUE;
|
|
|
|
|
else
|
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
|
|
}
|