#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <utility>
#include <vector>
#include "base/containers/stack.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/format_macros.h"
#include "base/strings/stringprintf.h"
#include "storage/browser/file_system/obfuscated_file_util.h"
#include "storage/browser/file_system/sandbox_directory_database.h"
#include "storage/browser/file_system/sandbox_file_system_backend.h"
#include "storage/browser/file_system/sandbox_origin_database.h"
#include "storage/common/file_system/file_system_types.h"
#include "storage/common/file_system/file_system_util.h"
namespace {
bool g_opt_long;
const base::FilePath::CharType* g_opt_fs_type = …);
void ShowMessageAndExit(const std::string& msg) { … }
void ShowUsageAndExit(const std::string& arg0) { … }
}
namespace storage {
static void DumpDirectoryTree(const std::string& origin_name,
base::FilePath origin_dir) { … }
static base::FilePath GetOriginDir(const base::FilePath& file_system_dir,
const std::string& origin_name) { … }
static void DumpOrigin(const base::FilePath& file_system_dir,
const std::string& origin_name) { … }
static void DumpFileSystem(const base::FilePath& file_system_dir) { … }
}
int main(int argc, char* argv[]) { … }