We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent eae4297 commit 3974457Copy full SHA for 3974457
1 file changed
lib/hts/libhts/hfile.rb
@@ -46,10 +46,10 @@ module LibHTS
46
47
# Report the current stream offset
48
def self.htell(fp)
49
- # TODO: This is a hack. Is this OK?
50
- bg = FFI::Pointer.new(:int, fp.pointer.address + fp.offset_of(:begin)).read_int
51
- bf = FFI::Pointer.new(:int, fp.pointer.address + fp.offset_of(:buffer)).read_int
52
- fp[:offset] + (bg - bf)
+ base_ptr = fp.pointer
+ begin_ptr = base_ptr.get_pointer(fp.offset_of(:begin))
+ buffer_ptr = base_ptr.get_pointer(fp.offset_of(:buffer))
+ fp[:offset] + (begin_ptr.address - buffer_ptr.address)
53
end
54
55
# Read from the stream until the delimiter, up to a maximum length
0 commit comments