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