Sha256: 68dcaa37163ea73565fcbdd592789c8c398c045372133cf60832485eb51ce0f4
Contents?: true
Size: 725 Bytes
Versions: 2
Compression:
Stored size: 725 Bytes
Contents
# frozen_string_literal: true require 'ffi' module GObjectIntrospection # 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 offset = 0 while (ptr = fetch_ptr offset) offset += POINTER_SIZE yield ptr.read_string end end def self.wrap(ptr) new ptr end private def fetch_ptr(offset) return if @ptr.null? ptr = @ptr.get_pointer offset ptr unless ptr.null? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.11.1 | lib/ffi-gobject_introspection/strv.rb |
gir_ffi-0.11.0 | lib/ffi-gobject_introspection/strv.rb |