@@ -68,7 +68,8 @@ static char *copy_and_update_contig_line(faidx_t *fai, char *line, void *chr_see
6868 kstring_t key = {0 ,0 ,0 }, val = {0 ,0 ,0 }, tmp = {0 ,0 ,0 };
6969 char * chr_name = NULL , * p , * q = line + 9 ; // skip ##contig=
7070 char * end = q ;
71- int nopen = 1 , chr_len = 0 ;
71+ int nopen = 1 ;
72+ hts_pos_t chr_len = 0 ;
7273 while ( * end && * end != '\n' ) end ++ ;
7374 while ( * q && * q != '\n' && nopen > 0 )
7475 {
@@ -118,7 +119,7 @@ static char *copy_and_update_contig_line(faidx_t *fai, char *line, void *chr_see
118119 if ( !strcmp ("ID" ,key .s ) )
119120 {
120121 if ( khash_str2int_has_key (chr_seen ,val .s ) ) continue ;
121- chr_len = faidx_seq_len (fai , val .s );
122+ chr_len = faidx_seq_len64 (fai , val .s );
122123 if ( chr_len == -1 )
123124 {
124125 free (val .s ); free (key .s ); free (tmp .s );
@@ -136,7 +137,7 @@ static char *copy_and_update_contig_line(faidx_t *fai, char *line, void *chr_see
136137 if ( quoted ) kputc ('"' ,& tmp );
137138 }
138139 if ( !chr_name ) return end ;
139- ksprintf (dst ,"##contig=<ID=%s,length=%d %s>" ,chr_name ,chr_len ,tmp .l ? tmp .s : "" );
140+ ksprintf (dst ,"##contig=<ID=%s,length=%" PRIhts_pos " %s>" ,chr_name ,chr_len ,tmp .l ? tmp .s : "" );
140141 free (key .s ); free (val .s ); free (tmp .s );
141142 return q ;
142143}
@@ -211,7 +212,7 @@ static void update_from_fai(args_t *args)
211212 for (i = 0 ; i < n ; i ++ )
212213 {
213214 if ( khash_str2int_has_key (chr_seen ,faidx_iseq (fai ,i )) ) continue ;
214- ksprintf (& hdr_txt_new ,"##contig=<ID=%s,length=%d >\n" ,faidx_iseq (fai ,i ),faidx_seq_len (fai ,faidx_iseq (fai ,i )));
215+ ksprintf (& hdr_txt_new ,"##contig=<ID=%s,length=%" PRIhts_pos " >\n" ,faidx_iseq (fai ,i ),faidx_seq_len64 (fai ,faidx_iseq (fai ,i )));
215216 }
216217 kputs (tmp + 1 ,& hdr_txt_new );
217218
@@ -699,7 +700,7 @@ int main_reheader(int argc, char *argv[])
699700 int c ;
700701 args_t * args = (args_t * ) calloc (1 ,sizeof (args_t ));
701702 args -> argc = argc ; args -> argv = argv ;
702-
703+
703704 static struct option loptions [] =
704705 {
705706 {"temp-prefix" ,1 ,0 ,'T' },
0 commit comments