Sfoglia il codice sorgente

Attempt to fix compilation on Windows

Our attempt to make compilation work on old versions of Windows
again while keeping wince compatibility broke the build for Win2k+.
helix reports this patch fixes the issue for WinXP. Bugfix on
0.2.2.15-alpha; related to bug 1797.
Sebastian Hahn 15 anni fa
parent
commit
ff5ffd1776
2 ha cambiato i file con 6 aggiunte e 3 eliminazioni
  1. 2 0
      changes/win_build_fix
  2. 4 3
      src/or/eventdns.c

+ 2 - 0
changes/win_build_fix

@@ -0,0 +1,2 @@
+  o Major bugfixes:
+    - Fix compilation on Windows. Bugfix on 0.2.2.16-alpha, related to bug 1797.

+ 4 - 3
src/or/eventdns.c

@@ -3132,7 +3132,7 @@ load_nameservers_with_getnetworkparams(void)
 	GetNetworkParams_fn_t fn;
 
 	/* XXXX Possibly, we should hardcode the location of this DLL. */
-	if (!(handle = LoadLibrary(TEXT("iphlpapi.dll"))) {
+	if (!(handle = LoadLibrary(TEXT("iphlpapi.dll")))) {
 		log(EVDNS_LOG_WARN, "Could not open iphlpapi.dll");
 		/* right now status = 0, doesn't that mean "good" - mikec */
 		status = -1;
@@ -3204,6 +3204,7 @@ static int
 config_nameserver_from_reg_key(HKEY key, const TCHAR *subkey)
 {
 	char *buf;
+  char ansibuf[MAX_PATH] = {0};
 	DWORD bufsz = 0, type = 0;
 	int status = 0;
 
@@ -3216,7 +3217,7 @@ config_nameserver_from_reg_key(HKEY key, const TCHAR *subkey)
 	if (RegQueryValueEx(key, subkey, 0, &type, (LPBYTE)buf, &bufsz)
 		== ERROR_SUCCESS && bufsz > 1) {
 		wcstombs(ansibuf,(wchar_t*)buf,MAX_PATH);/*XXXX UNICODE */
-		status = evdns_nameserver_ip_add_line(buf);
+		status = evdns_nameserver_ip_add_line(ansibuf);
 	}
 
 	mm_free(buf);
@@ -3254,7 +3255,7 @@ load_nameservers_from_registry(void)
 			log(EVDNS_LOG_DEBUG,"Couldn't open nt key, %d",(int)GetLastError());
 			return -1;
 		}
-		r = RegOpenKeyEx(nt_key, Text("Interfaces"), 0,
+		r = RegOpenKeyEx(nt_key, TEXT("Interfaces"), 0,
 						 KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS,
 						 &interfaces_key);
 		if (r != ERROR_SUCCESS) {