Initial original import from: fuse-2.4.2-2.fc4
[captive.git] / src / client / lufs / captivefs-vfs.c
index b6381ba..3f04b75 100644 (file)
 #include <glib/gmessages.h>
 #include "captivefs-misc.h"
 #include <unistd.h>
+#include <locale.h>
 
 #include <captive/client-vfs.h>
 #include <captive/options.h>
 #include <captive/macros.h>
+#include <captive/client.h>
 
 #include <lufs/fs.h>
 #include <lufs/proto.h>
@@ -99,18 +101,20 @@ gchar *gs,*captive_options_string;
                g_return_val_if_fail(g_thread_supported(),NULL);
                captivefs_vfs->inits++;
                G_UNLOCK(libcaptive);
+               if (captivefs_vfs->options.debug_messages)
+                       g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"captivefs_init");
                return captivefs_vfs;
                }
        G_UNLOCK(libcaptive);
 
+       captive_standalone_init();
+
        if (!g_thread_supported())
                g_thread_init(NULL);    /* g_thread_init() fails on second initialization */
 
-       /* Initialize GObject subsystem of GLib. */
-       g_type_init();
-
        captive_new(captivefs_vfs);
        captivefs_vfs->captive_vfs_object=NULL;
+       captivefs_vfs->private=FALSE;
        captivefs_vfs->parent_pid=getpid();
        captivefs_vfs->global_ctx=global_ctx;
        *global_ctx=captivefs_vfs;
@@ -131,6 +135,8 @@ gchar *gs,*captive_options_string;
                                captive_options_string))        /* captive_args */
                        goto fail_free_options;
                }
+       if (lu_opt_getchar(cfg,"MOUNT","private"))
+               captivefs_vfs->private=TRUE;
 
        if (captivefs_vfs->options.debug_messages)
                g_log(G_LOG_DOMAIN,G_LOG_LEVEL_DEBUG,"captivefs_init");