X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bam_aux.c;h=d6f18ea281712a7d89007d7d87291cbf13718c1b;hb=63e4e54189bc9e7f43852edf865f95e713b93dc4;hp=f9be398f0e820d9b48b2002073039af1ebeb95d5;hpb=7bd63d5c2677364126702d76c56e4d75981c62f4;p=samtools.git diff --git a/bam_aux.c b/bam_aux.c index f9be398..d6f18ea 100644 --- a/bam_aux.c +++ b/bam_aux.c @@ -3,6 +3,21 @@ #include "khash.h" KHASH_MAP_INIT_STR(s, int) +void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data) +{ + int ori_len = b->data_len; + b->data_len += 3 + len; + b->l_aux += 3 + len; + if (b->m_data < b->data_len) { + b->m_data = b->data_len; + kroundup32(b->m_data); + b->data = (uint8_t*)realloc(b->data, b->m_data); + } + b->data[ori_len] = tag[0]; b->data[ori_len + 1] = tag[1]; + b->data[ori_len + 2] = type; + memcpy(b->data + ori_len + 3, data, len); +} + uint8_t *bam_aux_get(bam1_t *b, const char tag[2]) { uint8_t *s;