| Index: sandbox/linux/tests/scoped_temporary_file.cc
|
| diff --git a/sandbox/linux/tests/scoped_temporary_file.cc b/sandbox/linux/tests/scoped_temporary_file.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..82df9e0e5982377f8eb1615b9627f6f2858e72c6
|
| --- /dev/null
|
| +++ b/sandbox/linux/tests/scoped_temporary_file.cc
|
| @@ -0,0 +1,35 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "sandbox/linux/tests/scoped_temporary_file.h"
|
| +
|
| +#include <stdlib.h>
|
| +#include <unistd.h>
|
| +
|
| +#include "base/logging.h"
|
| +#include "base/macros.h"
|
| +#include "base/posix/eintr_wrapper.h"
|
| +#include "build/build_config.h"
|
| +
|
| +namespace sandbox {
|
| +
|
| +ScopedTemporaryFile::ScopedTemporaryFile() : fd_(-1) {
|
| +#if defined(OS_ANDROID)
|
| + static const char file_template[] = "/data/local/tmp/ScopedTempFileXXXXXX";
|
| +#else
|
| + static const char file_template[] = "/tmp/ScopedTempFileXXXXXX";
|
| +#endif // defined(OS_ANDROID)
|
| + COMPILE_ASSERT(sizeof(full_file_name_) >= sizeof(file_template),
|
| + full_file_name_is_large_enough);
|
| + memcpy(full_file_name_, file_template, sizeof(file_template));
|
| + fd_ = mkstemp(full_file_name_);
|
| + CHECK_LE(0, fd_);
|
| +}
|
| +
|
| +ScopedTemporaryFile::~ScopedTemporaryFile() {
|
| + CHECK_EQ(0, unlink(full_file_name_));
|
| + CHECK_EQ(0, IGNORE_EINTR(close(fd_)));
|
| +}
|
| +
|
| +} // namespace sandbox
|
|
|