Class: ChildProcess::Unix::PosixSpawnProcess::Argv
- Inherits:
-
Object
- Object
- ChildProcess::Unix::PosixSpawnProcess::Argv
- Defined in:
- lib/childprocess/unix/posix_spawn_process.rb
Instance Method Summary collapse
-
#initialize(args) ⇒ Argv
constructor
A new instance of Argv.
- #to_ptr ⇒ Object
Constructor Details
#initialize(args) ⇒ Argv
Returns a new instance of Argv.
87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/childprocess/unix/posix_spawn_process.rb', line 87 def initialize(args) @ptrs = args.map do |e| if e.include?("\0") raise ArgumentError, "argument cannot contain null bytes: #{e.inspect}" end FFI::MemoryPointer.from_string(e.to_s) end @ptrs << nil end |
Instance Method Details
#to_ptr ⇒ Object
99 100 101 102 103 104 |
# File 'lib/childprocess/unix/posix_spawn_process.rb', line 99 def to_ptr argv = FFI::MemoryPointer.new(:pointer, @ptrs.size) argv.put_array_of_pointer(0, @ptrs) argv end |