Browse Source

Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum.

Con Kolivas 13 years ago
parent
commit
5226a399c7
1 changed files with 10 additions and 3 deletions
  1. 10 3
      util.c

+ 10 - 3
util.c

@@ -1099,13 +1099,20 @@ static bool parse_diff(struct pool *pool, json_t *val)
 
 static bool parse_reconnect(struct pool *pool, json_t *val)
 {
-	char *url;
+	char *url, *port, address[256];
 
+	memset(address, 0, 255);
 	url = (char *)json_string_value(json_array_get(val, 0));
 	if (!url)
-		return false;
+		url = pool->sockaddr_url;
+
+	port = (char *)json_string_value(json_array_get(val, 1));
+	if (!port)
+		port = pool->stratum_port;
+
+	sprintf(address, "%s:%s", url, port);
 
-	if (!extract_sockaddr(pool, url))
+	if (!extract_sockaddr(pool, address))
 		return false;
 
 	pool->stratum_url = pool->sockaddr_url;