Added the $PWD environmental variable to the shell.

This commit is contained in:
Jonas 'Sortie' Termansen 2012-04-13 23:01:04 +02:00
parent b554eb2dfb
commit 042aeb0181
1 changed files with 12 additions and 6 deletions

View File

@ -32,6 +32,15 @@
int status = 0;
void updatepwd()
{
const size_t CWD_SIZE = 512;
char cwd[CWD_SIZE];
const char* wd = getcwd(cwd, CWD_SIZE);
if ( !wd ) { wd = "?"; }
setenv("PWD", wd, 1);
}
int runcommandline(const char** tokens)
{
int result = 127;
@ -104,6 +113,7 @@ readcmd:
error(0, errno, "cd: %s", newdir);
internalresult = 1;
}
updatepwd();
}
if ( strcmp(argv[0], "exit") == 0 )
{
@ -224,12 +234,7 @@ void command()
| TERMMODE_ECHO;
settermmode(0, termmode);
const size_t CWD_SIZE = 512;
char cwd[CWD_SIZE];
const char* wd = getcwd(cwd, CWD_SIZE);
if ( !wd ) { wd = "?"; }
printf("root@sortix %s # ", wd);
printf("root@sortix %s # ", getenv("PWD"));
fflush(stdout);
const size_t commandsize = 128;
@ -298,6 +303,7 @@ int main(int argc, char* argv[])
setenv("$", pidstr, 1);
setenv("PPID", ppidstr, 1);
setenv("?", "0", 1);
updatepwd();
while ( true ) { command(); }
}