/* * Copyright (C) 2017-2020 The Project X-Ray Authors. * * Use of this source code is governed by a ISC-style * license that can be found in the LICENSE file or at * https://opensource.org/licenses/ISC * * SPDX-License-Identifier: ISC */ #include #include #include #include namespace prjxray { static constexpr const char kSegbitsGlobPattern[] = "segbits_*.db"; std::vector> Database::segbits() const { std::vector> segbits; glob_t segbits_glob_results; int ret = glob(absl::StrCat(db_path_, "/", kSegbitsGlobPattern).c_str(), GLOB_NOSORT | GLOB_TILDE, NULL, &segbits_glob_results); if (ret < 0) { return {}; } for (size_t idx = 0; idx < segbits_glob_results.gl_pathc; idx++) { auto this_segbit = SegbitsFileReader::InitWithFile( segbits_glob_results.gl_pathv[idx]); if (this_segbit) { segbits.emplace_back(std::move(this_segbit)); } } globfree(&segbits_glob_results); return segbits; } } // namespace prjxray