|
@@ -1099,13 +1099,20 @@ 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;
|