Пример #1
0
gboolean
sgen_bridge_handle_gc_debug (const char *opt)
{
	if (g_str_has_prefix (opt, "bridge=")) {
		opt = strchr (opt, '=') + 1;
		register_test_bridge_callbacks (g_strdup (opt));
	} else if (!strcmp (opt, "enable-bridge-accounting")) {
		bridge_processor.enable_accounting ();
	} else if (g_str_has_prefix (opt, "bridge-dump=")) {
		char *prefix = strchr (opt, '=') + 1;
		set_dump_prefix (prefix);
	} else if (g_str_has_prefix (opt, "bridge-compare-to=")) {
		const char *name = strchr (opt, '=') + 1;
		if (init_bridge_processor (&compare_to_bridge_processor, name)) {
			if (compare_to_bridge_processor.reset_data == bridge_processor.reset_data) {
				g_warning ("Cannot compare bridge implementation to itself - ignoring.");
				memset (&compare_to_bridge_processor, 0, sizeof (SgenBridgeProcessor));
			}
		} else {
			g_warning ("Invalid bridge implementation to compare against - ignoring.");
		}
	} else {
		return FALSE;
	}
	return TRUE;
}