From d9c48847dbd166a9676e19039401c4e23c2b3f8e Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 31 May 2016 16:00:46 +0200 Subject: [PATCH] lib/libc: set initial directory if VFS initialized Fixes #1984 --- repos/libports/src/lib/libc/vfs_plugin.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/repos/libports/src/lib/libc/vfs_plugin.cc b/repos/libports/src/lib/libc/vfs_plugin.cc index 571b1ecf5c..9de9143689 100644 --- a/repos/libports/src/lib/libc/vfs_plugin.cc +++ b/repos/libports/src/lib/libc/vfs_plugin.cc @@ -201,11 +201,13 @@ class Libc::Vfs_plugin : public Libc::Plugin */ Vfs_plugin() : _root_dir(_vfs_config(), Vfs::global_file_system_factory()) { - chdir(initial_cwd()); + if (_root_dir.num_dirent("/")) { + chdir(initial_cwd()); - _open_stdio(0, config_stdin(), O_RDONLY); - _open_stdio(1, config_stdout(), O_WRONLY); - _open_stdio(2, config_stderr(), O_WRONLY); + _open_stdio(0, config_stdin(), O_RDONLY); + _open_stdio(1, config_stdout(), O_WRONLY); + _open_stdio(2, config_stderr(), O_WRONLY); + } } ~Vfs_plugin() { }