Commit 57fa2be13beee54f0f9db217cf7db085b439b261

Paul Sheppard 2012-06-20T11:40:28

Write pools in priority order

diff --git a/cgminer.c b/cgminer.c
index 5dbfc76..58657fc 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -2694,15 +2694,21 @@ void remove_pool(struct pool *pool)
 
 void write_config(FILE *fcfg)
 {
-	int i;
+	int i = 0;
+	int j = 0;
 
-	/* Write pool values */
+	/* Write pool values in priority order */
 	fputs("{\n\"pools\" : [", fcfg);
-	for(i = 0; i < total_pools; i++) {
-		fprintf(fcfg, "%s\n\t{\n\t\t\"url\" : \"%s\",", i > 0 ? "," : "", pools[i]->rpc_url);
-		fprintf(fcfg, "\n\t\t\"user\" : \"%s\",", pools[i]->rpc_user);
-		fprintf(fcfg, "\n\t\t\"pass\" : \"%s\"\n\t}", pools[i]->rpc_pass);
-		}
+	while((j < total_pools) && (i < total_pools)) {
+		if(pools[i]->prio == j) {
+			fprintf(fcfg, "%s\n\t{\n\t\t\"url\" : \"%s\",", i > 0 ? "," : "", pools[i]->rpc_url);
+			fprintf(fcfg, "\n\t\t\"user\" : \"%s\",", pools[i]->rpc_user);
+			fprintf(fcfg, "\n\t\t\"pass\" : \"%s\"\n\t}", pools[i]->rpc_pass);
+			j++;
+			i=0;
+		} else
+			i++;
+	}
 	fputs("\n]\n", fcfg);
 
 #ifdef HAVE_OPENCL