diff options
Diffstat (limited to 'bench/bench_getlogin.rb')
-rw-r--r-- | bench/bench_getlogin.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bench/bench_getlogin.rb b/bench/bench_getlogin.rb index 12233af..8cb5176 100644 --- a/bench/bench_getlogin.rb +++ b/bench/bench_getlogin.rb @@ -9,7 +9,10 @@ module BenchGetlogin ffi_lib FFI::Library::LIBC attach_function :getlogin, [], :string end - if Posix.getlogin != Etc.getlogin + + # getlogin(2) might return NULL, in which case Etc.getlogin uses ENV["USER"]. + # This should not matter for this benchmark, getlogin() is still called. + if (Posix.getlogin || ENV["USER"]) != Etc.getlogin raise ArgumentError, "FFI getlogin returned incorrect value: " \ "#{Posix.getlogin.inspect} (FFI) vs #{Etc.getlogin.inspect} (Etc)" end |