I am creating JSON files using the parser frozen.h library. Everything works fine except when i try to parse arrays.
This is my code:
int installation_info_graphs(int roll_array[], int roll_len, int pitch_array[], int pitch_len, int tn_array[], int tn_len, int snr_array[], int snr_len)
{
char *roll_index = create_index_string_list(roll_array, roll_len);
char *pitch_index = create_index_string_list(pitch_array, pitch_len);
char *tn_index = create_index_string_list(tn_array, tn_len);
char *snr_index = create_index_string_list(snr_array, snr_len);
return json_fprintf("/api/installation/inst_info_graphs.json", "{roll: %M,roll_labels: %M,"
"pitch: %M, pitch_labels: %M, true_north: %M, true_north_labels: %M,"
"snr: %M, snr_labels: %M}", roll_array, roll_len, roll_index, pitch_array, pitch_len, pitch_index, tn_array,
tn_len, tn_index, snr_array, snr_len, snr_index);
}
//where the function to create an index string array is
char *create_index_string_list(char *lst, int len) {
char *index_string_list = (char *) malloc(len * sizeof(char *));
char index_str[3];
for (int i = 0; i < len; i++) {
sprintf(index_str, "%02d", i);
char *str = (char *) malloc((strlen(index_str) + 3) * sizeof(char));
strcpy(str, "1:0");
strcat(str, index_str);
index_string_list[i] = str;
}
return index_string_list;
}
What i get after trying to execute the code is a segmentation fault. I think i am using an incorrect type formatter, and that this library have the appropiate one, but I cannot find it on the documentation. Could someone help me with this issue. Thanks!