X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bam_import.c;h=9d463d102bbb254ddf5a5b9bf32b5f216aac2187;hb=87d9ea7a580d0d1a58b8f0dca3ba3528ca118e46;hp=34cc776fed8ffb49575df2baebc9ae33bc64c7ad;hpb=2081e538f742bd619a60c32cef0465a1ea2680f9;p=samtools.git diff --git a/bam_import.c b/bam_import.c index 34cc776..9d463d1 100644 --- a/bam_import.c +++ b/bam_import.c @@ -179,10 +179,14 @@ int sam_header_parse(bam_header_t *h) h->n_targets = 0; h->target_len = 0; h->target_name = 0; if (h->l_text < 3) return 0; if (h->dict == 0) h->dict = sam_header_parse2(h->text); - h->target_name = sam_header2list(h->dict, "SQ", "SN", &h->n_targets); + tmp = sam_header2list(h->dict, "SQ", "SN", &h->n_targets); if (h->n_targets == 0) return 0; + h->target_name = calloc(h->n_targets, sizeof(void*)); + for (i = 0; i < h->n_targets; ++i) + h->target_name[i] = strdup(tmp[i]); + free(tmp); tmp = sam_header2list(h->dict, "SQ", "LN", &h->n_targets); - h->target_len = (uint32_t*)calloc(h->n_targets, 4); + h->target_len = calloc(h->n_targets, 4); for (i = 0; i < h->n_targets; ++i) h->target_len[i] = atoi(tmp[i]); free(tmp);