char *tmp_availchan = NULL, *tmp_availorig = NULL, *tmp_availstatus = NULL; if (tmp_availchan) { strcat(tmp_availchan, "&"); strcat(tmp_availorig, "&"); strcat(tmp_availstatus, "&"); } //tmp_availchan = (char*) realloc (tmp_availchan, 512 * sizeof(char)); tmp_availchan = ast_realloc(tmp_availchan, 512 * sizeof(char)); strcat(tmp_availchan, tempchan->name); snprintf(tmp, sizeof(tmp), "%s/%s", tech, number); tmp_availorig = ast_realloc(tmp_availorig, 512 * sizeof(char)); strcat(tmp_availorig, tmp); snprintf(tmp, sizeof(tmp), "%d", status); tmp_availstatus = ast_realloc(tmp_availstatus, 512 * sizeof(char)); strcat(tmp_availstatus, tmp); //ast_hangup(tempchan); tempchan = NULL; res += 1; if (!option_all_avail) break;