X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ftmpfile.cc;h=425a21e7b730fe15c3ae73c9041a17b5dcbc8992;hb=bd8a989e9f0d0c115ae771732c9199589e3043fd;hp=a88c0edea95c2380e80b490bf8bd4b580ad61765;hpb=fde9567090d20b035433241720f00cfbe6e66bf2;p=awesomized%2Flibmemcached diff --git a/libtest/tmpfile.cc b/libtest/tmpfile.cc index a88c0ede..425a21e7 100644 --- a/libtest/tmpfile.cc +++ b/libtest/tmpfile.cc @@ -40,7 +40,7 @@ namespace libtest { -std::string create_tmpfile(const std::string& name) +std::string create_tmpfile(const std::string& name, int& fd) { libtest::vchar_t file_buffer; file_buffer.resize(FILENAME_MAX); @@ -49,15 +49,22 @@ std::string create_tmpfile(const std::string& name) int length= snprintf(&file_buffer[0], file_buffer.size(), "var/tmp/%s.XXXXXX", name.c_str()); fatal_assert(length > 0); - int fd; if ((fd= mkstemp(&file_buffer[0])) == -1) { throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "mkstemp() failed on %s with %s", &file_buffer[0], strerror(errno)); } - close(fd); - unlink(&file_buffer[0]); return &file_buffer[0]; } +std::string create_tmpfile(const std::string& name) +{ + int fd; + std::string ret_file= create_tmpfile(name, fd); + close(fd); + unlink(ret_file.c_str()); + + return ret_file.c_str(); +} + } // namespace libtest