1 #ifndef BOOST_ARCHIVE_TMPDIR_HPP 2 #define BOOST_ARCHIVE_TMPDIR_HPP 3 4 // MS compatible compilers support #pragma once 5 #if defined(_MSC_VER) 6 # pragma once 7 #endif 8 9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 10 // tmpdir.hpp: 11 12 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 13 // Use, modification and distribution is subject to the Boost Software 14 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 15 // http://www.boost.org/LICENSE_1_0.txt) 16 17 // See http://www.boost.org for updates, documentation, and revision history. 18 19 #include <cstdlib> // getenv 20 #include <cstddef> // NULL 21 //#include <boost/assert.hpp> 22 23 #include <boost/config.hpp> 24 #ifdef BOOST_NO_STDC_NAMESPACE 25 namespace std { 26 using ::getenv; 27 } 28 #endif 29 30 namespace boost { 31 namespace archive { 32 tmpdir()33inline const char * tmpdir(){ 34 const char *dirname; 35 dirname = std::getenv("TMP"); 36 if(NULL == dirname) 37 dirname = std::getenv("TMPDIR"); 38 if(NULL == dirname) 39 dirname = std::getenv("TEMP"); 40 if(NULL == dirname){ 41 //BOOST_ASSERT(false); // no temp directory found 42 dirname = "."; 43 } 44 return dirname; 45 } 46 47 } // archive 48 } // boost 49 50 #endif // BOOST_ARCHIVE_TMPDIR_HPP 51