Hackfut Security File Manager
Current Path:
/opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/ffi-1.11.1/samples
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.4.0
/
gems
/
ffi-1.11.1
/
samples
/
📁
..
📄
getlogin.rb
(173 B)
📄
getpid.rb
(164 B)
📄
gettimeofday.rb
(534 B)
📄
hello.rb
(259 B)
📄
inotify.rb
(1.87 KB)
📄
pty.rb
(2.3 KB)
📄
qsort.rb
(602 B)
📄
sample_helper.rb
(203 B)
Editing: qsort.rb
require 'rubygems' require 'ffi' module LibC extend FFI::Library ffi_lib FFI::Library::LIBC callback :qsort_cmp, [ :pointer, :pointer ], :int attach_function :qsort, [ :pointer, :ulong, :ulong, :qsort_cmp ], :int end p = FFI::MemoryPointer.new(:int, 2) p.put_array_of_int32(0, [ 2, 1 ]) puts "ptr=#{p.inspect}" puts "Before qsort #{p.get_array_of_int32(0, 2).join(', ')}" LibC.qsort(p, 2, 4) do |p1, p2| i1 = p1.get_int32(0) i2 = p2.get_int32(0) puts "In block: comparing #{i1} and #{i2}" i1 < i2 ? -1 : i1 > i2 ? 1 : 0 end puts "After qsort #{p.get_array_of_int32(0, 2).join(', ')}"
Upload File
Create Folder