| Index: source/libvpx/test/video_source.h
|
| ===================================================================
|
| --- source/libvpx/test/video_source.h (revision 290053)
|
| +++ source/libvpx/test/video_source.h (working copy)
|
| @@ -53,55 +53,33 @@
|
| return fopen(path_to_source.c_str(), "rb");
|
| }
|
|
|
| -static FILE *OpenTestOutFile(const std::string& file_name) {
|
| - const std::string path_to_source = GetDataPath() + "/" + file_name;
|
| - return fopen(path_to_source.c_str(), "wb");
|
| -}
|
| -
|
| -static std::string GetTempOutFilename() {
|
| - std::string basename;
|
| +static FILE *GetTempOutFile(std::string *file_name) {
|
| + file_name->clear();
|
| #if defined(_WIN32)
|
| char fname[MAX_PATH];
|
| - // Assume for now that the filename generated is unique per process
|
| - const UINT ret = GetTempFileNameA(
|
| - GetDataPath().c_str(), "lvx", 0, fname);
|
| - if (ret != 0) {
|
| - const char *slash = strrchr(fname, '\\');
|
| - if (slash == NULL) slash = strrchr(fname, '/');
|
| - if (slash == NULL)
|
| - basename.assign(fname);
|
| - else
|
| - basename.assign(slash + 1);
|
| - } else {
|
| - basename.clear();
|
| + char tmppath[MAX_PATH];
|
| + if (GetTempPathA(MAX_PATH, tmppath)) {
|
| + // Assume for now that the filename generated is unique per process
|
| + if (GetTempFileNameA(tmppath, "lvx", 0, fname)) {
|
| + file_name->assign(fname);
|
| + return fopen(fname, "wb+");
|
| + }
|
| }
|
| + return NULL;
|
| #else
|
| - char fname[256];
|
| - const std::string templ = GetDataPath() + "/libvpx_test_XXXXXX";
|
| - strncpy(fname, templ.c_str(), templ.size());
|
| - fname[templ.size()] = '\0';
|
| - const int fd = mkstemp(fname);
|
| - if (fd != -1) {
|
| - close(fd);
|
| - basename.assign(strrchr(fname, '/') + 1);
|
| - } else {
|
| - basename.clear();
|
| - }
|
| + return tmpfile();
|
| #endif
|
| - return basename;
|
| }
|
|
|
| class TempOutFile {
|
| public:
|
| TempOutFile() {
|
| - file_name_ = GetTempOutFilename();
|
| - file_ = OpenTestOutFile(file_name_);
|
| + file_ = GetTempOutFile(&file_name_);
|
| }
|
| ~TempOutFile() {
|
| CloseFile();
|
| if (!file_name_.empty()) {
|
| - const std::string path_to_source = GetDataPath() + "/" + file_name_;
|
| - EXPECT_EQ(0, remove(path_to_source.c_str()));
|
| + EXPECT_EQ(0, remove(file_name_.c_str()));
|
| }
|
| }
|
| FILE *file() {
|
| @@ -110,14 +88,14 @@
|
| const std::string& file_name() {
|
| return file_name_;
|
| }
|
| +
|
| + protected:
|
| void CloseFile() {
|
| if (file_) {
|
| fclose(file_);
|
| file_ = NULL;
|
| }
|
| }
|
| -
|
| - protected:
|
| FILE *file_;
|
| std::string file_name_;
|
| };
|
|
|