branch_state *branch_states; // branch zero terminated array
/* int expect_mask; */
- enum edg_wll_StatDone_code children_done_hist[EDG_WLL_NUMBER_OF_DONE_CODES];
+ int children_done_hist[EDG_WLL_NUMBER_OF_DONE_CODES];
} intJobStat;
void destroy_intJobStat(intJobStat *);
return out;
}
-static int dec_int_array(char* in, char **rest, int *out)
+static int dec_int_array(char* in, char **rest, int *out) // Returns the number of items found in the array
{
int charNo, itemsNo = 0, cindex, iindex = 0, lenindex;
char *tempstr;
itemsNo = 1; /* - consider it an one-item array */
*rest = NULL;
}
- else *rest = charNo + 1;
+ else *rest = in + charNo + 1;
tempstr = (char*)calloc(charNo+1,sizeof(char));
free(tempstr);
*rest = in + charNo + 1;
- return out;
+ return itemsNo;
}
stat->branch_states = dec_branch_states(tmp_in, &tmp_in);
}
if (tmp_in != NULL) {
- dec_int_array(tmp_in, &tmp_in, &stat->children_done_hist);
+ dec_int_array(tmp_in, &tmp_in, stat->children_done_hist);
}
} else if (tmp_in != NULL) {
edg_wll_FreeStatus(pubstat);