Browse Source

Merge branch 'cgminer' into stratum

Luke Dashjr 13 years ago
parent
commit
ed3cc760bc
1 changed files with 12 additions and 5 deletions
  1. 12 5
      util.c

+ 12 - 5
util.c

@@ -1077,18 +1077,25 @@ static bool parse_diff(struct pool *pool, json_t *val)
 
 
 static bool parse_reconnect(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));
 	url = (char *)json_string_value(json_array_get(val, 0));
 	if (!url)
 	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;
 		return false;
 
 
 	pool->stratum_url = pool->sockaddr_url;
 	pool->stratum_url = pool->sockaddr_url;
 
 
-	applog(LOG_NOTICE, "Reconnect requested from pool %d to %s", pool->pool_no, pool->stratum_url);
+	applog(LOG_NOTICE, "Reconnect requested from pool %d to %s", pool->pool_no, address);
 
 
 	if (!initiate_stratum(pool) || !auth_stratum(pool))
 	if (!initiate_stratum(pool) || !auth_stratum(pool))
 		return false;
 		return false;
@@ -1147,7 +1154,7 @@ bool parse_method(struct pool *pool, char *s)
 		goto out;
 		goto out;
 	}
 	}
 
 
-	if (!strncasecmp(buf, "mining.reconnect", 16) && parse_reconnect(pool, params)) {
+	if (!strncasecmp(buf, "client.reconnect", 16) && parse_reconnect(pool, params)) {
 		ret = true;
 		ret = true;
 		goto out;
 		goto out;
 	}
 	}