From d75a72e037b5cfb7c6f541b7cd034ccdca700317 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 5 Mar 2009 07:56:19 +0000 Subject: * lib/tmpdir.rb (Dir.tmpdir): not use USERPROFILE, and ignores non-existent directory. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/tmpdir.rb | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ef6e9f15d..eb76d689c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 5 16:56:14 2009 Nobuyoshi Nakada + + * lib/tmpdir.rb (Dir.tmpdir): not use USERPROFILE, and ignores + non-existent directory. + Thu Mar 5 14:52:46 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_sysinit): initializes version info first. diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb index 788ddbd1e..9fd36039d 100644 --- a/lib/tmpdir.rb +++ b/lib/tmpdir.rb @@ -40,12 +40,11 @@ class Dir if $SAFE > 0 tmp = @@systmpdir else - for dir in [ENV['TMPDIR'], ENV['TMP'], ENV['TEMP'], - ENV['USERPROFILE'], @@systmpdir, '/tmp'] - if dir and File.directory?(dir) and File.writable?(dir) + for dir in [ENV['TMPDIR'], ENV['TMP'], ENV['TEMP'], @@systmpdir, '/tmp'] + if dir and stat = File.stat(dir) and stat.directory? and stat.writable? tmp = dir break - end + end rescue nil end File.expand_path(tmp) end -- cgit