Class: ChildProcess::Unix::PosixSpawnProcess::Envp
- Inherits:
-
Object
- Object
- ChildProcess::Unix::PosixSpawnProcess::Envp
- Defined in:
- lib/childprocess/unix/posix_spawn_process.rb
Overview
Argv
Instance Method Summary collapse
-
#initialize(env) ⇒ Envp
constructor
A new instance of Envp.
- #to_ptr ⇒ Object
Constructor Details
#initialize(env) ⇒ Envp
Returns a new instance of Envp.
108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/childprocess/unix/posix_spawn_process.rb', line 108 def initialize(env) @ptrs = env.map do |key, val| next if val.nil? if key =~ /=|\0/ || val.include?("\0") raise InvalidEnvironmentVariable, "#{key.inspect} => #{val.inspect}" end FFI::MemoryPointer.from_string("#{key}=#{val}") end.compact @ptrs << nil end |
Instance Method Details
#to_ptr ⇒ Object
122 123 124 125 126 127 |
# File 'lib/childprocess/unix/posix_spawn_process.rb', line 122 def to_ptr env = FFI::MemoryPointer.new(:pointer, @ptrs.size) env.put_array_of_pointer(0, @ptrs) env end |