From d3a135af211f1be456db7afabb84d514780f61b0 Mon Sep 17 00:00:00 2001 From: vasudeva8 Date: Mon, 13 Jan 2025 23:19:09 +0000 Subject: [PATCH] debug --- htslib/kstring.h | 9 ++++++++- test/test_kstring.c | 24 ++++++++++++++++++++---- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/htslib/kstring.h b/htslib/kstring.h index f21410bc9..5875e150a 100644 --- a/htslib/kstring.h +++ b/htslib/kstring.h @@ -468,7 +468,14 @@ static inline int kinsert_char(char c, size_t pos, kstring_t *s) } memmove(s->s + pos + 1, s->s + pos, s->l - pos); s->s[pos] = c; - ++s->l; + fprintf(stderr, "pos %llu - l %llu\n", pos, s->l); + s->s[++s->l] = 0; + fprintf(stderr, "++l %llu\n", s->l); + + for (int i = 0; i < s->m; ++i) { + fprintf(stderr, "%c %d", s->s[i], s->s[i]); + } + fprintf(stderr, "\n"); return 0; } diff --git a/test/test_kstring.c b/test/test_kstring.c index 837b5b747..0ea11d037 100644 --- a/test/test_kstring.c +++ b/test/test_kstring.c @@ -472,7 +472,11 @@ static int test_kinsertchar(void) { return -1; } if (s.s[s.l] != '\0') { - fprintf(stderr, "No NUL termination on string from kinsert_char\n"); + for (i = 0; i < s.m; ++i) { + fprintf(stderr, "%c %d ", s.s[i], s.s[i]); + } + fprintf(stderr, "length %llu/%llu\n", s.l, s.m); + fprintf(stderr, "No NUL termination on string from kinsert_char1\n"); ks_free(&s); return -1; } @@ -492,7 +496,11 @@ static int test_kinsertchar(void) { return -1; } if (t.s[t.l] != '\0') { - fprintf(stderr, "No NUL termination on string from kinsert_char\n"); + for (i = 0; i < t.m; ++i) { + fprintf(stderr, "%c %d ", t.s[i], t.s[i]); + } + fprintf(stderr, "length %llu/%llu\n", t.l, t.m); + fprintf(stderr, "No NUL termination on string from kinsert_char2\n"); ks_free(&res); ks_free(&t); return -1; } @@ -527,7 +535,11 @@ static int test_kinsertstr(void) { return -1; } if (s.s[s.l] != '\0') { - fprintf(stderr, "No NUL termination on string from kinsert_str\n"); + for (i = 0; i < s.m; ++i) { + fprintf(stderr, "%c %d ", s.s[i], s.s[i]); + } + fprintf(stderr, "length %llu/%llu\n", s.l, s.m); + fprintf(stderr, "No NUL termination on string from kinsert_str1\n"); return -1; } if (memcmp(s.s, tdata[i + 1].val, s.l + 1)) { @@ -547,8 +559,12 @@ static int test_kinsertstr(void) { return -1; } if (t.s[t.l] != '\0') { + for (i = 0; i < t.m; ++i) { + fprintf(stderr, "%c %d ", t.s[i], t.s[i]); + } + fprintf(stderr, "length %llu/%llu\n", t.l, t.m); ks_free(&val); ks_free(&res); - fprintf(stderr, "No NUL termination on string from kinsert_str\n"); + fprintf(stderr, "No NUL termination on string from kinsert_str2\n"); return -1; } if (memcmp(t.s, res.s, res.l+1)) {