mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/tmpdir.rb: new library to get temporary directory path,
using GetTempPath on Win32 environment. * lib/tempfile.rb: now uses tmpdir.rb. * lib/cgi/session.rb, ib/drb/unix.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
15c3df744f
commit
2416271405
6 changed files with 45 additions and 8 deletions
|
@ -1,3 +1,12 @@
|
|||
Tue Jul 22 00:19:19 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* lib/tmpdir.rb: new library to get temporary directory path,
|
||||
using GetTempPath on Win32 environment.
|
||||
|
||||
* lib/tempfile.rb: now uses tmpdir.rb.
|
||||
|
||||
* lib/cgi/session.rb, ib/drb/unix.rb: ditto.
|
||||
|
||||
Mon Jul 21 01:53:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* string.c: use StringValueCStr to retrieve paths to system calls.
|
||||
|
|
|
@ -11,6 +11,7 @@ lib/bigdecimal/jacobian.rb
|
|||
lib/bigdecimal/newton.rb
|
||||
lib/bigdecimal/ludcmp.rb
|
||||
lib/bigdecimal/util.rb
|
||||
lib/bigdecimal/nlsolve.rb
|
||||
sample/linear.rb
|
||||
sample/nlsolve.rb
|
||||
sample/pi.rb
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
# Copyright (C) 2000 Information-technology Promotion Agency, Japan
|
||||
|
||||
require 'cgi'
|
||||
require 'tmpdir'
|
||||
|
||||
class CGI
|
||||
class Session
|
||||
|
@ -109,7 +110,7 @@ class CGI
|
|||
end
|
||||
|
||||
def initialize(session, option={})
|
||||
dir = option['tmpdir'] || ENV['TMP'] || '/tmp'
|
||||
dir = option['tmpdir'] || Dir::TMPDIR
|
||||
prefix = option['prefix'] || ''
|
||||
id = session.session_id
|
||||
unless check_id(id)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
require 'socket'
|
||||
require 'drb/drb'
|
||||
require 'tmpdir'
|
||||
|
||||
module DRb
|
||||
|
||||
|
@ -52,8 +53,7 @@ module DRb
|
|||
Max_try = 10
|
||||
private
|
||||
def self.temp_server
|
||||
tmpdir = ENV['TMPDIR'] || ENV['TMP'] || ENV['TEMP'] || '/tmp'
|
||||
tmpdir = '/tmp' if $SAFE > 0 and tmpdir.tainted?
|
||||
tmpdir = Dir::TMPDIR
|
||||
n = 0
|
||||
while true
|
||||
begin
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#
|
||||
|
||||
require 'delegate'
|
||||
require 'tmpdir'
|
||||
|
||||
# A class for managing temporary files. This library is written to be
|
||||
# thread safe.
|
||||
|
@ -17,11 +18,10 @@ class Tempfile < SimpleDelegator
|
|||
# object works just like a File object.
|
||||
#
|
||||
# If tmpdir is omitted, the temporary directory is determined by
|
||||
# ENV['TMPDIR'], ENV['TMP'] and and ENV['TEMP'] in the order named.
|
||||
# If none of them is available, or when $SAFE > 0 and the given
|
||||
# tmpdir is tainted, it uses /tmp. (Note that ENV values are
|
||||
# tainted by default)
|
||||
def initialize(basename, tmpdir=ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp')
|
||||
# Dir::TMPDIR provided by 'tmpdir.rb'.
|
||||
# When $SAFE > 0 and the given tmpdir is tainted, it uses
|
||||
# /tmp. (Note that ENV values are tainted by default)
|
||||
def initialize(basename, tmpdir=Dir::TMPDIR)
|
||||
if $SAFE > 0 and tmpdir.tainted?
|
||||
tmpdir = '/tmp'
|
||||
end
|
||||
|
|
26
lib/tmpdir.rb
Normal file
26
lib/tmpdir.rb
Normal file
|
@ -0,0 +1,26 @@
|
|||
#
|
||||
# tmpdir - retrieve temporary directory path
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
class Dir
|
||||
begin
|
||||
require "Win32API"
|
||||
max_pathlen = 260
|
||||
t_path = ' '*(max_pathlen+1)
|
||||
t_path[0, Win32API.new('kernel32', 'GetTempPath', 'LP', 'L').call(t_path.size, t_path)]
|
||||
t_path.untaint
|
||||
TMPDIR = t_path
|
||||
rescue LoadError
|
||||
if $SAFE > 0
|
||||
TMPDIR = '/tmp'
|
||||
else
|
||||
TMPDIR = ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if __FILE__ == $0
|
||||
puts Dir::TMPDIR
|
||||
end
|
Loading…
Reference in a new issue