class ChildProcess::Unix::PosixSpawnProcess::Envp
Public Class Methods
new(env)
click to toggle source
# File lib/childprocess/unix/posix_spawn_process.rb, line 110 def initialize(env) @ptrs = env.map do |key, val| next if val.nil? if key =~ /=|\0/ || val.to_s.include?("\0") raise InvalidEnvironmentVariable, "#{key.inspect} => #{val.to_s.inspect}" end FFI::MemoryPointer.from_string("#{key}=#{val.to_s}") end.compact @ptrs << FFI::Pointer.new(0) end
Public Instance Methods
to_ptr()
click to toggle source
# File lib/childprocess/unix/posix_spawn_process.rb, line 124 def to_ptr env = FFI::MemoryPointer.new(:pointer, @ptrs.size) env.put_array_of_pointer(0, @ptrs) env end