forked from KolibriOS/kolibrios
7805691d08
- fixed definitions - stack locals changed to heap variables (reduced app size) git-svn-id: svn://kolibrios.org@9808 a494cfbc-eb01-0410-851d-a64ba20cac60
47 lines
784 B
C
47 lines
784 B
C
|
|
int cmd_rmdir(char dir[]) {
|
|
char* temp = (char*) malloc(FILENAME_MAX);
|
|
kol_struct70 k70;
|
|
unsigned result;
|
|
|
|
if (NULL == dir || strlen(dir) == 0) {
|
|
printf(CMD_RMDIR_USAGE);
|
|
return TRUE;
|
|
}
|
|
|
|
if ( ( 0 == strcmp(dir, ".") ) || ( 0 == strcmp(dir, "..") ) || ( 0 == strcmp(cur_dir, "/")) ) {
|
|
return FALSE;
|
|
}
|
|
|
|
k70.p00 = 8;
|
|
k70.p04 = 0;
|
|
//k70.p08 = 0;
|
|
k70.p12 = 0;
|
|
k70.p16 = 0;
|
|
k70.p20 = 0;
|
|
|
|
if ( '/' == dir[0])
|
|
k70.p21 = dir;
|
|
else {
|
|
strcpy(temp, cur_dir);
|
|
if (temp[strlen(temp)-1] != '/')
|
|
strcat(temp, "/"); // add slash
|
|
strcat(temp, dir);
|
|
k70.p21 = temp;
|
|
}
|
|
|
|
if ( !dir_check(temp) )
|
|
return FALSE;
|
|
|
|
result = kol_file_70(&k70);
|
|
|
|
free(temp);
|
|
|
|
if (0 == result)
|
|
return TRUE;
|
|
else
|
|
return FALSE;
|
|
|
|
}
|
|
|