From 9b2fd3419634459adcad618943eb16f3e01231d0 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 10 Sep 2013 18:36:40 +0200 Subject: [PATCH] Add BSolverPackageSpecifierList::AppendSpecifiers() --- .../solver/SolverPackageSpecifierList.h | 3 +++ .../solver/SolverPackageSpecifierList.cpp | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/headers/os/package/solver/SolverPackageSpecifierList.h b/headers/os/package/solver/SolverPackageSpecifierList.h index 9a4d582c47..301f3ad4ca 100644 --- a/headers/os/package/solver/SolverPackageSpecifierList.h +++ b/headers/os/package/solver/SolverPackageSpecifierList.h @@ -31,6 +31,9 @@ public: const BSolverPackageSpecifier& specifier); bool AppendSpecifier(BSolverPackage* package); bool AppendSpecifier(const BString& selectString); + bool AppendSpecifiers( + const char* const* selectStrings, + int32 count); void MakeEmpty(); BSolverPackageSpecifierList& operator=( diff --git a/src/kits/package/solver/SolverPackageSpecifierList.cpp b/src/kits/package/solver/SolverPackageSpecifierList.cpp index 69a968354b..fccf3d84d4 100644 --- a/src/kits/package/solver/SolverPackageSpecifierList.cpp +++ b/src/kits/package/solver/SolverPackageSpecifierList.cpp @@ -40,7 +40,7 @@ BSolverPackageSpecifierList::BSolverPackageSpecifierList() { } - + BSolverPackageSpecifierList::BSolverPackageSpecifierList( const BSolverPackageSpecifierList& other) : @@ -115,6 +115,22 @@ BSolverPackageSpecifierList::AppendSpecifier(const BString& selectString) } +bool +BSolverPackageSpecifierList::AppendSpecifiers(const char* const* selectStrings, + int32 count) +{ + for (int32 i = 0; i < count; i++) { + if (!AppendSpecifier(selectStrings[i])) { + for (int32 k = i - 1; k >= 0; k--) + fSpecifiers->pop_back(); + return false; + } + } + + return true; +} + + void BSolverPackageSpecifierList::MakeEmpty() {