// 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)
  static_assert(sizeof(full_file_name_) >= sizeof(file_template),
                "full_file_name is not 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
