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…
	
	Add table
		Add a link
		
	
		Reference in a new issue