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 22 #include <boost/config.hpp> 23 #ifdef BOOST_NO_STDC_NAMESPACE 24 namespace std { 25 using ::getenv; 26 } 27 #endif 28 29 namespace boost { 30 namespace archive { 31 tmpdir()32inline const char * tmpdir(){ 33 const char *dirname; 34 dirname = std::getenv("TMP"); 35 if(NULL == dirname) 36 dirname = std::getenv("TMPDIR"); 37 if(NULL == dirname) 38 dirname = std::getenv("TEMP"); 39 if(NULL == dirname){ 40 //BOOST_ASSERT(false); // no temp directory found 41 dirname = "."; 42 } 43 return dirname; 44 } 45 46 } // archive 47 } // boost 48 49 #endif // BOOST_ARCHIVE_TMPDIR_HPP 50