// 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
