summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ufs/main.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ufs/main.c b/ufs/main.c
index 5f41265b..65da85bb 100644
--- a/ufs/main.c
+++ b/ufs/main.c
@@ -23,6 +23,7 @@
#include <hurd/startup.h>
#include <fcntl.h>
#include <unistd.h>
+#include <stdlib.h>
char *ufs_version = "0.0 pre-alpha";
@@ -102,10 +103,10 @@ main (int argc, char **argv)
mutex_init (&printf_lock); /* XXX */
- task_get_bootstrap_port (mach_task_self (), &bootstrap);
-
- if (bootstrap)
+ if (getpid () > 0)
{
+ /* We are in a normal Hurd universe, started as a translator. */
+
devname = trans_parse_args (argc, argv);
{
@@ -120,10 +121,13 @@ main (int argc, char **argv)
}
else
{
+ /* We are the bootstrap filesystem. */
devname = diskfs_parse_bootargs (argc, argv);
compat_mode = COMPAT_GNU;
}
+ task_get_bootstrap_port (mach_task_self (), &bootstrap);
+
/* Initialize the diskfs library. This must come before
any other diskfs call. */
diskfs_init_diskfs ();