aboutsummaryrefslogtreecommitdiffstats
path: root/fs/tabfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/tabfs.c')
-rw-r--r--fs/tabfs.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/fs/tabfs.c b/fs/tabfs.c
index 725358c..8c28dab 100644
--- a/fs/tabfs.c
+++ b/fs/tabfs.c
@@ -445,9 +445,8 @@ static const struct fuse_operations tabfs_oper = {
int main(int argc, char **argv) {
(void)argc;
- char* mountdir = getenv("TABFS_MOUNT_DIR");
- if (mountdir == NULL) {
- mountdir = "mnt";
+ if (NULL == getenv("TABFS_MOUNT_DIR")) {
+ setenv("TABFS_MOUNT_DIR", "mnt", 1);
}
freopen("log.txt", "a", stderr);
@@ -457,17 +456,15 @@ int main(int argc, char **argv) {
sprintf(killcmd, "pgrep tabfs | grep -v %d | xargs kill -9 2>/dev/null", getpid());
system(killcmd);
- char unmountcmd[1000];
-#ifdef __APPLE__
- sprintf(unmountcmd, "diskutil umount force %s >/dev/null", mountdir);
-#elif __FreeBSD__
- sprintf(unmountcmd, "umount -f %s 2>/dev/null", mountdir);
+#if defined(__APPLE__)
+ system("diskutil umount force \"$TABFS_MOUNT_DIR\" >/dev/null");
+#elif defined(__FreeBSD__)
+ system("umount -f \"$TABFS_MOUNT_DIR\" 2>/dev/null");
#else
- sprintf(unmountcmd, "fusermount -u %s 2>/dev/null", mountdir);
+ system("fusermount -u \"$TABFS_MOUNT_DIR\" 2>/dev/null");
#endif
- system(unmountcmd);
- mkdir(mountdir, 0755);
+ system("mkdir -p \"$TABFS_MOUNT_DIR\"");
pthread_t thread;
int err = pthread_create(&thread, NULL, reader_main, NULL);
@@ -485,7 +482,7 @@ int main(int argc, char **argv) {
"-oauto_unmount",
#endif
"-odirect_io",
- mountdir,
+ getenv("TABFS_MOUNT_DIR"),
NULL,
};
return fuse_main(