CLEANUP: wurfl: move global settings out of the global section

We replaced global.wurfl with global_wurfl since there's no need to store
all this into the global section. This removes the last #ifdefs, and now
the code is 100% self-contained in wurfl.c. It provides a good example of
how to integrate code in the future without touching the core parts.
diff --git a/include/types/global.h b/include/types/global.h
index 761d0b6..6af185d 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -212,19 +212,6 @@
 		int cache_size;
 	} _51degrees;
 #endif
-#ifdef USE_WURFL
-	struct {
-		char *data_file; /* the WURFL data file */
-		char *cache_size; /* the WURFL cache parameters */
-		int engine_mode; /* the WURFL engine mode */
-		int useragent_priority; /* the WURFL ua priority */
-		struct list patch_file_list; /* the list of WURFL patch file to use */
-		char information_list_separator; /* the separator used in request to separate values */
-		struct list information_list; /* the list of WURFL data to return into request */
-		void *handle; /* the handle to WURFL engine */
-		struct eb_root btree; /* btree containing info (name/type) on WURFL data to return */
-	} wurfl;
-#endif
 };
 
 extern struct global global;
diff --git a/src/haproxy.c b/src/haproxy.c
index be6fa66..980ebf3 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -189,19 +189,6 @@
 		.cache_size = 0,
 	},
 #endif
-#ifdef USE_WURFL
-	.wurfl = {
-		.data_file = NULL,
-		.cache_size = NULL,
-		.engine_mode = -1,
-		.useragent_priority = -1,
-		.information_list_separator = ',',
-		.information_list = LIST_HEAD_INIT(global.wurfl.information_list),
-		.patch_file_list = LIST_HEAD_INIT(global.wurfl.patch_file_list),
-		.handle = NULL,
-	},
-#endif
-
 	/* others NULL OK */
 };
 
diff --git a/src/wurfl.c b/src/wurfl.c
index 2b4a28d..5bd9a0c 100644
--- a/src/wurfl.c
+++ b/src/wurfl.c
@@ -14,6 +14,26 @@
 
 #include <wurfl/wurfl.h>
 
+static struct {
+	char *data_file; /* the WURFL data file */
+	char *cache_size; /* the WURFL cache parameters */
+	int engine_mode; /* the WURFL engine mode */
+	int useragent_priority; /* the WURFL ua priority */
+	struct list patch_file_list; /* the list of WURFL patch file to use */
+	char information_list_separator; /* the separator used in request to separate values */
+	struct list information_list; /* the list of WURFL data to return into request */
+	void *handle; /* the handle to WURFL engine */
+	struct eb_root btree; /* btree containing info (name/type) on WURFL data to return */
+} global_wurfl = {
+	.data_file = NULL,
+	.cache_size = NULL,
+	.engine_mode = -1,
+	.useragent_priority = -1,
+	.information_list_separator = ',',
+	.information_list = LIST_HEAD_INIT(global_wurfl.information_list),
+	.patch_file_list = LIST_HEAD_INIT(global_wurfl.patch_file_list),
+	.handle = NULL,
+};
 
 #ifdef WURFL_DEBUG
 inline static void ha_wurfl_log(char * message, ...)
@@ -123,7 +143,7 @@
 		return -1;
 	}
 
-	global.wurfl.data_file = strdup(args[1]);
+	global_wurfl.data_file = strdup(args[1]);
 	return 0;
 }
 
@@ -136,7 +156,7 @@
 		return -1;
 	}
 
-	global.wurfl.cache_size = strdup(args[1]);
+	global_wurfl.cache_size = strdup(args[1]);
 	return 0;
 }
 
@@ -150,12 +170,12 @@
 	}
 
 	if (!strcmp(args[1],HA_WURFL_TARGET_ACCURACY)) {
-		global.wurfl.engine_mode = WURFL_ENGINE_TARGET_HIGH_ACCURACY;
+		global_wurfl.engine_mode = WURFL_ENGINE_TARGET_HIGH_ACCURACY;
 		return 0;
 	}
 
 	if (!strcmp(args[1],HA_WURFL_TARGET_PERFORMANCE)) {
-		global.wurfl.engine_mode = WURFL_ENGINE_TARGET_HIGH_PERFORMANCE;
+		global_wurfl.engine_mode = WURFL_ENGINE_TARGET_HIGH_PERFORMANCE;
 		return 0;
 	}
 
@@ -177,7 +197,7 @@
 		return -1;
 	}
 
-	global.wurfl.information_list_separator = *args[1];
+	global_wurfl.information_list_separator = *args[1];
 	return 0;
 }
 
@@ -204,7 +224,7 @@
 		wi->data.name = strdup(args[argIdx]);
 		wi->data.type = HA_WURFL_DATA_TYPE_UNKNOWN;
 		wi->data.func_callback = NULL;
-		LIST_ADDQ(&global.wurfl.information_list, &wi->list);
+		LIST_ADDQ(&global_wurfl.information_list, &wi->list);
 		++argIdx;
 	}
 
@@ -232,7 +252,7 @@
 		}
 
 		wp->patch_file_path = strdup(args[argIdx]);
-		LIST_ADDQ(&global.wurfl.patch_file_list, &wp->list);
+		LIST_ADDQ(&global_wurfl.patch_file_list, &wp->list);
 		++argIdx;
 	}
 
@@ -249,12 +269,12 @@
 	}
 
 	if (!strcmp(args[1],HA_WURFL_PRIORITY_PLAIN)) {
-		global.wurfl.useragent_priority = WURFL_USERAGENT_PRIORITY_USE_PLAIN_USERAGENT;
+		global_wurfl.useragent_priority = WURFL_USERAGENT_PRIORITY_USE_PLAIN_USERAGENT;
 		return 0;
 	}
 
 	if (!strcmp(args[1],HA_WURFL_PRIORITY_SIDELOADED_BROWSER)) {
-		global.wurfl.useragent_priority = WURFL_USERAGENT_PRIORITY_OVERRIDE_SIDELOADED_BROWSER_USERAGENT;
+		global_wurfl.useragent_priority = WURFL_USERAGENT_PRIORITY_OVERRIDE_SIDELOADED_BROWSER_USERAGENT;
 		return 0;
 	}
 
@@ -276,9 +296,9 @@
 
 	send_log(NULL, LOG_NOTICE, "WURFL: Loading module v.%s\n", HA_WURFL_MODULE_VERSION);
 	// creating WURFL handler
-	global.wurfl.handle = wurfl_create();
+	global_wurfl.handle = wurfl_create();
 
-	if (global.wurfl.handle == NULL) {
+	if (global_wurfl.handle == NULL) {
 		Warning("WURFL: Engine handler creation failed");
 		send_log(NULL, LOG_WARNING, "WURFL: Engine handler creation failed\n");
 		return ERR_WARN;
@@ -287,50 +307,48 @@
 	send_log(NULL, LOG_NOTICE, "WURFL: Engine handler created - API version %s\n", wurfl_get_api_version() );
 
 	// set wurfl data file
-	if (global.wurfl.data_file == NULL) {
+	if (global_wurfl.data_file == NULL) {
 		Warning("WURFL: missing wurfl-data-file parameter in global configuration\n");
 		send_log(NULL, LOG_WARNING, "WURFL: missing wurfl-data-file parameter in global configuration\n");
 		return ERR_WARN;
 	}
 
-	if (wurfl_set_root(global.wurfl.handle, global.wurfl.data_file) != WURFL_OK) {
-		Warning("WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-		send_log(NULL, LOG_WARNING, "WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+	if (wurfl_set_root(global_wurfl.handle, global_wurfl.data_file) != WURFL_OK) {
+		Warning("WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+		send_log(NULL, LOG_WARNING, "WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 		return ERR_WARN;
 	}
 
-	send_log(NULL, LOG_NOTICE, "WURFL: Engine root file set to %s\n", global.wurfl.data_file);
+	send_log(NULL, LOG_NOTICE, "WURFL: Engine root file set to %s\n", global_wurfl.data_file);
 	// just a log to inform which separator char has to be used
-	send_log(NULL, LOG_NOTICE, "WURFL: Information list separator set to '%c'\n", global.wurfl.information_list_separator);
+	send_log(NULL, LOG_NOTICE, "WURFL: Information list separator set to '%c'\n", global_wurfl.information_list_separator);
 
 	// load wurfl data needed ( and filter whose are supposed to be capabilities )
-	if (LIST_ISEMPTY(&global.wurfl.information_list)) {
+	if (LIST_ISEMPTY(&global_wurfl.information_list)) {
 		Warning("WURFL: missing wurfl-information-list parameter in global configuration\n");
 		send_log(NULL, LOG_WARNING, "WURFL: missing wurfl-information-list parameter in global configuration\n");
 		return ERR_WARN;
 	} else {
 		// ebtree initialization
-		global.wurfl.btree = EB_ROOT;
+		global_wurfl.btree = EB_ROOT;
 
 		// checking if informations are valid WURFL data ( cap, vcaps, properties )
-		list_for_each_entry(wi, &global.wurfl.information_list, list) {
-
+		list_for_each_entry(wi, &global_wurfl.information_list, list) {
 			// check if information is already loaded looking into btree
-			if (ebst_lookup(&global.wurfl.btree, wi->data.name) == NULL) {
-
+			if (ebst_lookup(&global_wurfl.btree, wi->data.name) == NULL) {
 				if ((wi->data.func_callback = (PROP_CALLBACK_FUNC) ha_wurfl_get_property_callback(wi->data.name)) != NULL) {
 					wi->data.type = HA_WURFL_DATA_TYPE_PROPERTY;
 					ha_wurfl_log("WURFL: [%s] is a valid wurfl data [property]\n",wi->data.name);
-				} else if (wurfl_has_virtual_capability(global.wurfl.handle, wi->data.name)) {
+				} else if (wurfl_has_virtual_capability(global_wurfl.handle, wi->data.name)) {
 					wi->data.type = HA_WURFL_DATA_TYPE_VCAP;
 					ha_wurfl_log("WURFL: [%s] is a valid wurfl data [virtual capability]\n",wi->data.name);
 				} else {
 					// by default a cap type is assumed to be and we control it on engine load
 					wi->data.type = HA_WURFL_DATA_TYPE_CAP;
 
-					if (wurfl_add_requested_capability(global.wurfl.handle, wi->data.name) != WURFL_OK) {
-						Warning("WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-						send_log(NULL, LOG_WARNING, "WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+					if (wurfl_add_requested_capability(global_wurfl.handle, wi->data.name) != WURFL_OK) {
+						Warning("WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+						send_log(NULL, LOG_WARNING, "WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 						return ERR_WARN;
 					}
 
@@ -354,7 +372,7 @@
 				memcpy(wn->nd.key, wi->data.name, len);
 				wn->nd.key[len] = 0;
 
-				if (!ebst_insert(&global.wurfl.btree, &wn->nd)) {
+				if (!ebst_insert(&global_wurfl.btree, &wn->nd)) {
 					Warning("WURFL: [%s] not inserted in btree\n",wn->name);
 					send_log(NULL, LOG_WARNING, "WURFL: [%s] not inserted in btree\n",wn->name);
 					return ERR_WARN;
@@ -372,16 +390,15 @@
 	if (strcmp(wurfl_get_api_version(), HA_WURFL_MIN_ENGINE_VERSION_MANDATORY) < 0) {
 		wurfl_capability_enumerator_handle hmandatorycapabilityenumerator;
 		ha_wurfl_log("WURFL: Engine version %s < %s - Filtering mandatory capabilities\n", wurfl_get_api_version(), HA_WURFL_MIN_ENGINE_VERSION_MANDATORY);
-		hmandatorycapabilityenumerator = wurfl_get_mandatory_capability_enumerator(global.wurfl.handle);
+		hmandatorycapabilityenumerator = wurfl_get_mandatory_capability_enumerator(global_wurfl.handle);
 
 		while (wurfl_capability_enumerator_is_valid(hmandatorycapabilityenumerator)) {
 			char *name = (char *)wurfl_capability_enumerator_get_name(hmandatorycapabilityenumerator);
 
-			if (ebst_lookup(&global.wurfl.btree, name) == NULL) {
-
-				if (wurfl_add_requested_capability(global.wurfl.handle, name) != WURFL_OK) {
-					Warning("WURFL: Engine adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global.wurfl.handle));
-					send_log(NULL, LOG_WARNING, "WURFL: Adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global.wurfl.handle));
+			if (ebst_lookup(&global_wurfl.btree, name) == NULL) {
+				if (wurfl_add_requested_capability(global_wurfl.handle, name) != WURFL_OK) {
+					Warning("WURFL: Engine adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global_wurfl.handle));
+					send_log(NULL, LOG_WARNING, "WURFL: Adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global_wurfl.handle));
 					return ERR_WARN;
 				}
 
@@ -397,13 +414,12 @@
 	}
 
 	// adding WURFL patches if needed
-	if (!LIST_ISEMPTY(&global.wurfl.patch_file_list)) {
+	if (!LIST_ISEMPTY(&global_wurfl.patch_file_list)) {
 
-		list_for_each_entry(wp, &global.wurfl.patch_file_list, list) {
-
-			if (wurfl_add_patch(global.wurfl.handle, wp->patch_file_path) != WURFL_OK) {
-				Warning("WURFL: Engine adding patch file failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-				send_log(NULL, LOG_WARNING, "WURFL: Adding engine patch file failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+		list_for_each_entry(wp, &global_wurfl.patch_file_list, list) {
+			if (wurfl_add_patch(global_wurfl.handle, wp->patch_file_path) != WURFL_OK) {
+				Warning("WURFL: Engine adding patch file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+				send_log(NULL, LOG_WARNING, "WURFL: Adding engine patch file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 				return ERR_WARN;
 			}
 			send_log(NULL, LOG_NOTICE, "WURFL: Engine patch file added %s\n", wp->patch_file_path);
@@ -413,59 +429,55 @@
 	}
 
 	// setting cache provider if specified in cfg, otherwise let engine choose
-	if (global.wurfl.cache_size != NULL) {
-
-		if (strpbrk(global.wurfl.cache_size, ",") != NULL) {
-			wurfl_result_code = wurfl_set_cache_provider(global.wurfl.handle, WURFL_CACHE_PROVIDER_DOUBLE_LRU, global.wurfl.cache_size) ;
+	if (global_wurfl.cache_size != NULL) {
+		if (strpbrk(global_wurfl.cache_size, ",") != NULL) {
+			wurfl_result_code = wurfl_set_cache_provider(global_wurfl.handle, WURFL_CACHE_PROVIDER_DOUBLE_LRU, global_wurfl.cache_size) ;
 		} else {
-
-			if (strcmp(global.wurfl.cache_size, "0")) {
-				wurfl_result_code = wurfl_set_cache_provider(global.wurfl.handle, WURFL_CACHE_PROVIDER_LRU, global.wurfl.cache_size) ;
+			if (strcmp(global_wurfl.cache_size, "0")) {
+				wurfl_result_code = wurfl_set_cache_provider(global_wurfl.handle, WURFL_CACHE_PROVIDER_LRU, global_wurfl.cache_size) ;
 			} else {
-				wurfl_result_code = wurfl_set_cache_provider(global.wurfl.handle, WURFL_CACHE_PROVIDER_NONE, 0);
+				wurfl_result_code = wurfl_set_cache_provider(global_wurfl.handle, WURFL_CACHE_PROVIDER_NONE, 0);
 			}
 
 		}
 
 		if (wurfl_result_code != WURFL_OK) {
-			Warning("WURFL: Setting cache to [%s] failed - %s\n", global.wurfl.cache_size, wurfl_get_error_message(global.wurfl.handle));
-			send_log(NULL, LOG_WARNING, "WURFL: Setting cache to [%s] failed - %s\n", global.wurfl.cache_size, wurfl_get_error_message(global.wurfl.handle));
+			Warning("WURFL: Setting cache to [%s] failed - %s\n", global_wurfl.cache_size, wurfl_get_error_message(global_wurfl.handle));
+			send_log(NULL, LOG_WARNING, "WURFL: Setting cache to [%s] failed - %s\n", global_wurfl.cache_size, wurfl_get_error_message(global_wurfl.handle));
 			return ERR_WARN;
 		}
 
-		send_log(NULL, LOG_NOTICE, "WURFL: Cache set to [%s]\n", global.wurfl.cache_size);
+		send_log(NULL, LOG_NOTICE, "WURFL: Cache set to [%s]\n", global_wurfl.cache_size);
 	}
 
 	// setting engine mode if specified in cfg, otherwise let engine choose
-	if (global.wurfl.engine_mode != -1) {
-
-		if (wurfl_set_engine_target(global.wurfl.handle, global.wurfl.engine_mode) != WURFL_OK ) {
-			Warning("WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-			send_log(NULL, LOG_WARNING, "WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+	if (global_wurfl.engine_mode != -1) {
+		if (wurfl_set_engine_target(global_wurfl.handle, global_wurfl.engine_mode) != WURFL_OK ) {
+			Warning("WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+			send_log(NULL, LOG_WARNING, "WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 			return ERR_WARN;
 		}
 
 	}
 
-	send_log(NULL, LOG_NOTICE, "WURFL: Engine target set to [%s]\n", (global.wurfl.engine_mode == WURFL_ENGINE_TARGET_HIGH_PERFORMANCE) ? (HA_WURFL_TARGET_PERFORMANCE) : (HA_WURFL_TARGET_ACCURACY) );
+	send_log(NULL, LOG_NOTICE, "WURFL: Engine target set to [%s]\n", (global_wurfl.engine_mode == WURFL_ENGINE_TARGET_HIGH_PERFORMANCE) ? (HA_WURFL_TARGET_PERFORMANCE) : (HA_WURFL_TARGET_ACCURACY) );
 
 	// setting ua priority if specified in cfg, otherwise let engine choose
-	if (global.wurfl.useragent_priority != -1) {
-
-		if (wurfl_set_useragent_priority(global.wurfl.handle, global.wurfl.useragent_priority) != WURFL_OK ) {
-			Warning("WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-			send_log(NULL, LOG_WARNING, "WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+	if (global_wurfl.useragent_priority != -1) {
+		if (wurfl_set_useragent_priority(global_wurfl.handle, global_wurfl.useragent_priority) != WURFL_OK ) {
+			Warning("WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+			send_log(NULL, LOG_WARNING, "WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 			return ERR_WARN;
 		}
 
 	}
 
-	send_log(NULL, LOG_NOTICE, "WURFL: Engine useragent priority set to [%s]\n", (global.wurfl.useragent_priority == WURFL_USERAGENT_PRIORITY_USE_PLAIN_USERAGENT) ? (HA_WURFL_PRIORITY_PLAIN) : (HA_WURFL_PRIORITY_SIDELOADED_BROWSER) );
+	send_log(NULL, LOG_NOTICE, "WURFL: Engine useragent priority set to [%s]\n", (global_wurfl.useragent_priority == WURFL_USERAGENT_PRIORITY_USE_PLAIN_USERAGENT) ? (HA_WURFL_PRIORITY_PLAIN) : (HA_WURFL_PRIORITY_SIDELOADED_BROWSER) );
 
 	// loading WURFL engine
-	if (wurfl_load(global.wurfl.handle) != WURFL_OK) {
-		Warning("WURFL: Engine load failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
-		send_log(NULL, LOG_WARNING, "WURFL: Engine load failed - %s\n", wurfl_get_error_message(global.wurfl.handle));
+	if (wurfl_load(global_wurfl.handle) != WURFL_OK) {
+		Warning("WURFL: Engine load failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+		send_log(NULL, LOG_WARNING, "WURFL: Engine load failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
 		return ERR_WARN;
 	}
 
@@ -480,19 +492,19 @@
 	wurfl_patches_t *wp, *wp2;
 
 	send_log(NULL, LOG_NOTICE, "WURFL: Unloading module v.%s\n", HA_WURFL_MODULE_VERSION);
-	wurfl_destroy(global.wurfl.handle);
-	global.wurfl.handle = NULL;
-	free(global.wurfl.data_file);
-	global.wurfl.data_file = NULL;
-	free(global.wurfl.cache_size);
-	global.wurfl.cache_size = NULL;
+	wurfl_destroy(global_wurfl.handle);
+	global_wurfl.handle = NULL;
+	free(global_wurfl.data_file);
+	global_wurfl.data_file = NULL;
+	free(global_wurfl.cache_size);
+	global_wurfl.cache_size = NULL;
 
-	list_for_each_entry_safe(wi, wi2, &global.wurfl.information_list, list) {
+	list_for_each_entry_safe(wi, wi2, &global_wurfl.information_list, list) {
 		LIST_DEL(&wi->list);
 		free(wi);
 	}
 
-	list_for_each_entry_safe(wp, wp2, &global.wurfl.patch_file_list, list) {
+	list_for_each_entry_safe(wp, wp2, &global_wurfl.patch_file_list, list) {
 		LIST_DEL(&wp->list);
 		free(wp);
 	}
@@ -509,18 +521,18 @@
 
 	ha_wurfl_log("WURFL: starting ha_wurfl_get_all\n");
 	wh.wsmp = smp;
-	dHandle = wurfl_lookup(global.wurfl.handle, &ha_wurfl_retrieve_header, &wh);
+	dHandle = wurfl_lookup(global_wurfl.handle, &ha_wurfl_retrieve_header, &wh);
 
 	if (!dHandle) {
-		ha_wurfl_log("WURFL: unable to retrieve device from request %s\n", wurfl_get_error_message(global.wurfl.handle));
+		ha_wurfl_log("WURFL: unable to retrieve device from request %s\n", wurfl_get_error_message(global_wurfl.handle));
 		return 1;
 	}
 
 	temp = get_trash_chunk();
 	chunk_reset(temp);
 
-	list_for_each_entry(wi, &global.wurfl.information_list, list) {
-		chunk_appendf(temp, "%c", global.wurfl.information_list_separator);
+	list_for_each_entry(wi, &global_wurfl.information_list, list) {
+		chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
 
 		switch(wi->data.type) {
 		case HA_WURFL_DATA_TYPE_UNKNOWN :
@@ -552,7 +564,7 @@
 			// write WURFL property type and name before its value...
 			chunk_appendf(temp, "%s=%s=", HA_WURFL_DATA_TYPE_PROPERTY_STRING, wi->data.name);
 #endif
-			chunk_appendf(temp, "%s", wi->data.func_callback(global.wurfl.handle, dHandle));
+			chunk_appendf(temp, "%s", wi->data.func_callback(global_wurfl.handle, dHandle));
 			break;
 		}
 
@@ -575,10 +587,10 @@
 
 	ha_wurfl_log("WURFL: starting ha_wurfl_get\n");
 	wh.wsmp = smp;
-	dHandle = wurfl_lookup(global.wurfl.handle, &ha_wurfl_retrieve_header, &wh);
+	dHandle = wurfl_lookup(global_wurfl.handle, &ha_wurfl_retrieve_header, &wh);
 
 	if (!dHandle) {
-		ha_wurfl_log("WURFL: unable to retrieve device from request %s\n", wurfl_get_error_message(global.wurfl.handle));
+		ha_wurfl_log("WURFL: unable to retrieve device from request %s\n", wurfl_get_error_message(global_wurfl.handle));
 		return 1;
 	}
 
@@ -586,8 +598,8 @@
 	chunk_reset(temp);
 
 	while (args[i].data.str.str) {
-		chunk_appendf(temp, "%c", global.wurfl.information_list_separator);
-		node = ebst_lookup(&global.wurfl.btree, args[i].data.str.str);
+		chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
+		node = ebst_lookup(&global_wurfl.btree, args[i].data.str.str);
 		wn = container_of(node, wurfl_data_t, nd);
 
 		if (wn) {
@@ -622,7 +634,7 @@
 				// write WURFL property type and name before its value...
 				chunk_appendf(temp, "%s=%s=", HA_WURFL_DATA_TYPE_PROPERTY_STRING, wn->name);
 #endif
-				chunk_appendf(temp, "%s", wn->func_callback(global.wurfl.handle, dHandle));
+				chunk_appendf(temp, "%s", wn->func_callback(global_wurfl.handle, dHandle));
 				break;
 			}