Changeset: f65133aa1630 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f65133aa1630
Modified Files:
        sql/backends/monet5/vaults/bam/bam_wrapper.c
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (34 lines):

diff --git a/sql/backends/monet5/vaults/bam/bam_wrapper.c 
b/sql/backends/monet5/vaults/bam/bam_wrapper.c
--- a/sql/backends/monet5/vaults/bam/bam_wrapper.c
+++ b/sql/backends/monet5/vaults/bam/bam_wrapper.c
@@ -159,7 +159,11 @@ init_bam_wrapper(bam_wrapper * bw, filet
                        throw(MAL, "init_bam_wrapper", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                }
                while (TRUE) {
-                       int read = mnstr_readline(bw->sam.input, bw->sam.header 
+ header_len, bufsize - header_len);
+                       ssize_t read;
+                       lng header_pos;
+
+                       mnstr_fgetpos(bw->sam.input, &header_pos);
+                       read = mnstr_readline(bw->sam.input, bw->sam.header + 
header_len, bufsize - header_len);
 
                        if (read <= 0) {
                                throw(MAL, "init_bam_wrapper",
@@ -170,7 +174,7 @@ init_bam_wrapper(bam_wrapper * bw, filet
                        if (bw->sam.header[header_len] != '@') {
                                /* This is not a header line, we assume that 
the header is finished.
                                 * Rewind stream to start of line and stop 
reading */
-                               if (mnstr_fsetpos(bw->sam.input, header_len) < 
0) {
+                               if (mnstr_fsetpos(bw->sam.input, header_pos) < 
0) {
                                        throw(MAL, "init_bam_wrapper",
                                          ERR_INIT_BAM_WRAPPER "Could not read 
last line of SAM header",
                                          file_location);
@@ -188,7 +192,7 @@ init_bam_wrapper(bam_wrapper * bw, filet
                                        throw(MAL, "init_bam_wrapper", 
SQLSTATE(HY001) MAL_MALLOC_FAIL);
                                }
                                bw->sam.header = tmp;
-                               if (mnstr_fsetpos(bw->sam.input, header_len) < 
0) {
+                               if (mnstr_fsetpos(bw->sam.input, header_pos) < 
0) {
                                        throw(MAL, "init_bam_wrapper",
                                          ERR_INIT_BAM_WRAPPER "Could not read 
last line of SAM header",
                                          file_location);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to