#include "captive/macros.h"
#include "../storage/relastblock.h" /* for captive_storage_relastblock() */
#include "../cc/sharedcachemap.h" /* for captive_shared_cache_map_flush_all() */
+#include "standalone.h"
struct captive_options *captive_options;
(!(log_level&G_LOG_FLAG_RECURSION) ? "" : "RECURSION: "),
(!(log_level&G_LOG_FLAG_FATAL ) ? "" : "FATAL: "),
message);
+
+ g_log_default_handler(log_domain,log_level,message,user_data);
}
void captive_log_init(const struct captive_options *captive_options)
|G_LOG_LEVEL_DEBUG
));
+ g_return_val_if_fail(captive_standalone_init_done==TRUE,FALSE);
g_return_val_if_fail(active==FALSE,FALSE);
g_return_val_if_fail(captive_options!=NULL,FALSE);
g_return_val_if_fail(captive_options->image_iochannel!=NULL,FALSE);
- /* Initialize GObject subsystem of GLib. */
- g_type_init();
+ /* Do not: g_type_init();
+ * as it is done by: captive_standalone_init()
+ */
captive_log_init(captive_options);
+ if (captive_options->rwmode==CAPTIVE_OPTION_RWMODE_RW && !captive_options->sandbox)
+ g_error(_("Rejecting --rw --no-sandbox operation as too dangerous - use --blind or --sandbox"));
+
captive_image_iochannel=captive_options->image_iochannel;
g_io_channel_ref(captive_image_iochannel);