char *p, *q, *s, *r;
int n = 0;
- bam_strmap_destroy(h->rg2lib);
+ // free
+ if (h == 0) return 0;
+ bam_strmap_destroy(h->rg2lib); h->rg2lib = 0;
+ if (h->l_text < 3) return 0;
// parse @RG lines
h->rg2lib = bam_strmap_init();
rgid = calloc(1, sizeof(kstring_t));
}
free(rgid->s); free(rgid);
free(rglib->s); free(rglib);
+ if (n == 0) {
+ bam_strmap_destroy(h->rg2lib);
+ h->rg2lib = 0;
+ }
return n;
}