Module Name:    othersrc
Committed By:   stacktic
Date:           Fri Mar  5 19:37:42 UTC 2010

Modified Files:
        othersrc/lib/libfsu_mount: fsu_mount.c

Log Message:
Set env vars before returning from fsu_mount


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 othersrc/lib/libfsu_mount/fsu_mount.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: othersrc/lib/libfsu_mount/fsu_mount.c
diff -u othersrc/lib/libfsu_mount/fsu_mount.c:1.18 othersrc/lib/libfsu_mount/fsu_mount.c:1.19
--- othersrc/lib/libfsu_mount/fsu_mount.c:1.18	Sun Dec 13 20:57:25 2009
+++ othersrc/lib/libfsu_mount/fsu_mount.c	Fri Mar  5 19:37:41 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: fsu_mount.c,v 1.18 2009/12/13 20:57:25 pooka Exp $ */
+/* $NetBSD: fsu_mount.c,v 1.19 2010/03/05 19:37:41 stacktic Exp $ */
 
 /*
  * Copyright (c) 2008,2009 Arnaud Ysmal.  All Rights Reserved.
@@ -119,16 +119,14 @@
 #endif
 
 	alias = NULL;
-	puffsexec = specopts = mntopts = NULL;
+	fsdevice = fstype = mntopts = puffsexec = specopts = NULL;
 	fst = NULL;
 	ukfs = NULL;
-	fstype = fsdevice = NULL;
 	fflag = 0;
 	memset(&mntd, 0, sizeof(mntd));
 
 	ukfs_init();
 	ukfs_modload_dir(RUMP_LIBDIR);
-
 	/*
 	 * [-o mnt_args] [-t fstype] [-p puffsexec] fsdevice
 	 */
@@ -198,7 +196,7 @@
 	}
 
 	if (fstype == NULL)
-		fstype = getenv("FSU_FSTYPE");
+	    	fstype = getenv("FSU_TYPE");
 
 	if (fstype != NULL && fst == NULL) {
 		for (fst = fslist; fst->fs_name != NULL; ++fst)
@@ -243,6 +241,7 @@
 	}
 
 	free(mntd.mntd_argv);
+	mntd.mntd_argv = NULL;
 	mntd.mntd_argv_size = 0;
 
 	if (ukfs == NULL)
@@ -274,6 +273,9 @@
 #ifndef __linux__
 	optreset = 1;
 #endif
+	setenv("FSU_DEVICE", fsdevice, 1);
+	setenv("FSU_TYPE", mntd.mntd_fs->fs_name, 1);
+	setenv("FSU_CWD", path != NULL ? path : "/", 1);
 
 	return ukfs;
 }

Reply via email to