_test_sysio_startup()
{
int err;
+ const char *cwd;
const char *s;
err = _sysio_init();
if (err)
return err;
s = getenv("SYSIO_NAMESPACE");
- if (s)
- err = _sysio_boot(s);
- else if (!(s = getenv("SYSIO_MANUAL"))) {
+ if (!(s || (s = getenv("SYSIO_MANUAL")))) {
/*
* Assume a native mount at root.
*/
- err = _sysio_boot("{mnt,dev=\"native:/\",dir=/,fl=0}");
+ s = "{mnt,dev=\"native:/\",dir=/,fl=0}";
}
+ cwd = getenv("SYSIO_CWD");
+#if DEFER_INIT_CWD
+ err = _sysio_boot(s, cwd ? cwd : "/");
+#else
+ err = _sysio_boot(s);
+#endif
if (err)
return err;
- s = getenv("SYSIO_CWD");
- if (s) {
- err = chdir(s);
- if (err)
- return err;
- }
+#if !DEFER_INIT_CWD
+ if (!cwd)
+ s = "/";
+ err = chdir(s);
+ if (err)
+ return err;
+#endif
return 0;
}