ruby/lib/tmpdir.rb

27 lines
520 B
Ruby
Raw Normal View History

#
# tmpdir - retrieve temporary directory path
#
# $Id$
#
class Dir
begin
require "Win32API"
max_pathlen = 260
t_path = ' '*(max_pathlen+1)
t_path = t_path[0, Win32API.new('kernel32', 'GetTempPath', 'LP', 'L').call(t_path.size, t_path)]
t_path.untaint
TMPDIR = File.expand_path(t_path)
rescue LoadError
if $SAFE > 0
TMPDIR = '/tmp'
else
TMPDIR = File.expand_path(ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp')
end
end
end
if __FILE__ == $0
puts Dir::TMPDIR
end