Sha256: 5cbdcbab21e749e916853ec3126896c9ef901fc846d342f1852c467a54493c67
Contents?: true
Size: 712 Bytes
Versions: 10
Compression:
Stored size: 712 Bytes
Contents
require 'ffi' module GLib # Represents a null-terminated array of strings. GLib uses this # construction, but does not provide any actual functions for this class. class Strv include Enumerable POINTER_SIZE = FFI.type_size(:pointer) def initialize(ptr) @ptr = ptr end def to_ptr @ptr end def each return if @ptr.null? reset_iterator while (ptr = next_ptr) yield ptr.read_string end end def self.wrap(ptr) new ptr end private def reset_iterator @offset = 0 end def next_ptr ptr = @ptr.get_pointer @offset @offset += POINTER_SIZE ptr unless ptr.null? end end end
Version data entries
10 entries across 10 versions & 1 rubygems