wpa_supplicant: Add option -I for additional config file

This option can be used only for global parameters that is not going
to be changed from settings.

Change-Id: I4f18aa0a8503cf8cc3a847ac9fcc15419291edf0
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/wpa_supplicant/config_winreg.c b/wpa_supplicant/config_winreg.c
index 2750b63..3cf3a91 100644
--- a/wpa_supplicant/config_winreg.c
+++ b/wpa_supplicant/config_winreg.c
@@ -434,7 +434,7 @@
 }
 
 
-struct wpa_config * wpa_config_read(const char *name)
+struct wpa_config * wpa_config_read(const char *name, struct wpa_config *cfgp)
 {
 	TCHAR buf[256];
 	int errors = 0;
@@ -442,7 +442,12 @@
 	HKEY hk;
 	LONG ret;
 
-	config = wpa_config_alloc_empty(NULL, NULL);
+	if (name == NULL)
+		return NULL;
+	if (cfgp)
+		config = cfgp;
+	else
+		config = wpa_config_alloc_empty(NULL, NULL);
 	if (config == NULL)
 		return NULL;
 	wpa_printf(MSG_DEBUG, "Reading configuration profile '%s'", name);