@@ -2319,9 +2319,8 @@ int sam_parse1(kstring_t *s, sam_hdr_t *h, bam1_t *b)
23192319 return -2 ;
23202320}
23212321
2322- static uint32_t read_ncigar (const char * in ) {
2322+ static uint32_t read_ncigar (const char * q ) {
23232323 uint32_t n_cigar = 0 ;
2324- char * q = (char * )in ;
23252324 for (; * q && * q != '\t' ; ++ q )
23262325 if (!isdigit_c (* q )) ++ n_cigar ;
23272326 if (!n_cigar ) {
@@ -2344,12 +2343,12 @@ static uint32_t read_ncigar(const char *in) {
23442343 */
23452344static int parse_cigar (const char * in , uint32_t * a_cigar , uint32_t n_cigar ) {
23462345 int i , overflow = 0 ;
2347- char * p , * q = ( char * ) in ;
2346+ const char * p = in ;
23482347 for (i = 0 ; i < n_cigar ; i ++ ) {
23492348 uint32_t len ;
23502349 int op ;
2351- p = q ;
2352- len = hts_str2uint (q , & q , 28 , & overflow )<<BAM_CIGAR_SHIFT ;
2350+ char * q ;
2351+ len = hts_str2uint (p , & q , 28 , & overflow )<<BAM_CIGAR_SHIFT ;
23532352 if (q == p ) {
23542353 hts_log_error ("CIGAR length invalid at position %d (%s)" , (int )(i + 1 ), p );
23552354 return 0 ;
@@ -2358,7 +2357,8 @@ static int parse_cigar(const char *in, uint32_t *a_cigar, uint32_t n_cigar) {
23582357 hts_log_error ("CIGAR length too long at position %d (%.*s)" , (int )(i + 1 ), (int )(q - p + 1 ), p );
23592358 return 0 ;
23602359 }
2361- op = bam_cigar_table [(unsigned char )* q ++ ];
2360+ p = q ;
2361+ op = bam_cigar_table [(unsigned char )* p ++ ];
23622362 if (op < 0 ) {
23632363 hts_log_error ("Unrecognized CIGAR operator" );
23642364 return 0 ;
@@ -2367,7 +2367,7 @@ static int parse_cigar(const char *in, uint32_t *a_cigar, uint32_t n_cigar) {
23672367 a_cigar [i ] |= op ;
23682368 }
23692369
2370- return q - in ;
2370+ return p - in ;
23712371}
23722372
23732373size_t sam_parse_cigar (const char * in , char * * end , uint32_t * * a_cigar , uint32_t * a_mem ) {
0 commit comments