/programs/system/shell/cmd/cmd_cd.c |
---|
1,4 → 1,12 |
static inline void set_cwd(const char* cwd) |
{ |
__asm__ __volatile__( |
"int $0x40" |
::"a"(30),"b"(1),"c"(cwd)); |
}; |
int cmd_cd(char dir[]) |
{ |
22,6 → 30,7 |
{ |
cur_dir[strlen(cur_dir)-1]='\0'; |
dir_truncate(cur_dir); |
set_cwd(cur_dir); |
return TRUE; |
} |
30,6 → 39,7 |
if ( dir_check(dir) ) |
{ |
strcpy(cur_dir, dir); |
set_cwd(cur_dir); |
return TRUE; |
} |
return FALSE; |
45,6 → 55,7 |
{ |
strcpy(cur_dir, temp); |
set_cwd(cur_dir); |
return TRUE; |
} |