]> git.kaiwu.me - klib.git/commitdiff
kill errors and warnings by g++ -Wall
authorHeng Li <lh3@me.com>
Sat, 3 Mar 2012 15:49:58 +0000 (10:49 -0500)
committerHeng Li <lh3@me.com>
Sat, 3 Mar 2012 15:49:58 +0000 (10:49 -0500)
kseq.h
ksw.c

diff --git a/kseq.h b/kseq.h
index 437fefb16be80cb930c02690bb167d990c804072..9b4b00170ed010d4b4b121533d4b1e94c093a332 100644 (file)
--- a/kseq.h
+++ b/kseq.h
@@ -51,7 +51,7 @@
        {                                                                                                                               \
                kstream_t *ks = (kstream_t*)calloc(1, sizeof(kstream_t));       \
                ks->f = f;                                                                                                      \
-               ks->buf = malloc(__bufsize);                                                            \
+               ks->buf = (unsigned char*)malloc(__bufsize);                            \
                return ks;                                                                                                      \
        }                                                                                                                               \
        static inline void ks_destroy(kstream_t *ks)                                    \
@@ -113,7 +113,7 @@ typedef struct __kstring_t {
                                for (i = ks->begin; i < ks->end; ++i)                                   \
                                        if (isspace(ks->buf[i]) && ks->buf[i] != ' ') break; \
                        } else i = 0; /* never come to here! */                                         \
-                       if (str->m - str->l < i - ks->begin + 1) {                                      \
+                       if (str->m - str->l < (size_t)(i - ks->begin + 1)) {            \
                                str->m = str->l + (i - ks->begin) + 1;                                  \
                                kroundup32(str->m);                                                                             \
                                str->s = (char*)realloc(str->s, str->m);                                \
diff --git a/ksw.c b/ksw.c
index dd8c8032fac927b041cd105ac8e0854253fcd72e..8f5a534bc3db51e60374d4eb549d3d2376ee854c 100644 (file)
--- a/ksw.c
+++ b/ksw.c
@@ -63,7 +63,7 @@ kswq_t *ksw_qinit(int size, int qlen, const uint8_t *query, int m, const int8_t
        size = size > 1? 2 : 1;
        p = 8 * (3 - size); // # values per __m128i
        slen = (qlen + p - 1) / p; // segmented length
-       q = malloc(sizeof(kswq_t) + 256 + 16 * slen * (m + 4)); // a single block of memory
+       q = (kswq_t*)malloc(sizeof(kswq_t) + 256 + 16 * slen * (m + 4)); // a single block of memory
        q->qp = (__m128i*)(((size_t)q + sizeof(kswq_t) + 15) >> 4 << 4); // align memory
        q->H0 = q->qp + slen * m;
        q->H1 = q->H0 + slen;
@@ -185,7 +185,7 @@ end_loop16:
                        if (n_b == 0 || (int32_t)b[n_b-1] + 1 != i) { // then append
                                if (n_b == m_b) {
                                        m_b = m_b? m_b<<1 : 8;
-                                       b = realloc(b, 8 * m_b);
+                                       b = (uint64_t*)realloc(b, 8 * m_b);
                                }
                                b[n_b++] = (uint64_t)imax<<32 | i;
                        } else if ((int)(b[n_b-1]>>32) < imax) b[n_b-1] = (uint64_t)imax<<32 | i; // modify the last
@@ -287,7 +287,7 @@ end_loop8:
                        if (n_b == 0 || (int32_t)b[n_b-1] + 1 != i) {
                                if (n_b == m_b) {
                                        m_b = m_b? m_b<<1 : 8;
-                                       b = realloc(b, 8 * m_b);
+                                       b = (uint64_t*)realloc(b, 8 * m_b);
                                }
                                b[n_b++] = (uint64_t)imax<<32 | i;
                        } else if ((int)(b[n_b-1]>>32) < imax) b[n_b-1] = (uint64_t)imax<<32 | i; // modify the last
@@ -421,18 +421,18 @@ int main(int argc, char *argv[])
        while (kseq_read(ksq) > 0) {
                kswq_t *q[2] = {0, 0};
                kswr_t r;
-               for (i = 0; i < ksq->seq.l; ++i) ksq->seq.s[i] = seq_nt4_table[(int)ksq->seq.s[i]];
+               for (i = 0; i < (int)ksq->seq.l; ++i) ksq->seq.s[i] = seq_nt4_table[(int)ksq->seq.s[i]];
                if (!forward_only) { // reverse
-                       if (ksq->seq.m > max_rseq) {
+                       if ((int)ksq->seq.m > max_rseq) {
                                max_rseq = ksq->seq.m;
-                               rseq = realloc(rseq, max_rseq);
+                               rseq = (uint8_t*)realloc(rseq, max_rseq);
                        }
-                       for (i = 0, j = ksq->seq.l - 1; i < ksq->seq.l; ++i, --j)
+                       for (i = 0, j = ksq->seq.l - 1; i < (int)ksq->seq.l; ++i, --j)
                                rseq[j] = ksq->seq.s[i] == 4? 4 : 3 - ksq->seq.s[i];
                }
                gzrewind(fpt); kseq_rewind(kst);
                while (kseq_read(kst) > 0) {
-                       for (i = 0; i < kst->seq.l; ++i) kst->seq.s[i] = seq_nt4_table[(int)kst->seq.s[i]];
+                       for (i = 0; i < (int)kst->seq.l; ++i) kst->seq.s[i] = seq_nt4_table[(int)kst->seq.s[i]];
                        r = ksw_align(ksq->seq.l, (uint8_t*)ksq->seq.s, kst->seq.l, (uint8_t*)kst->seq.s, 5, mat, gapo, gape, xtra, &q[0]);
                        if (r.score >= minsc)
                                printf("%s\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%d\n", kst->name.s, r.tb, r.te+1, ksq->name.s, r.qb, r.qe+1, r.score, r.score2, r.te2);