Merge bitcoin/bitcoin#22653: refactor: Rename JoinErrors and re-use it

bb56486a17 refactor: Reuse MakeUnorderedList where possible (Hennadii Stepanov)
77a90f03ac refactor: Move MakeUnorderedList into util/string.h to make it reusable (Hennadii Stepanov)
6a5ccd65c7 scripted-diff: Rename JoinErrors in more general MakeUnorderedList (Hennadii Stepanov)

Pull request description:

  A nice `JoinErrors` utility function was introduced in https://github.com/bitcoin-core/gui/pull/379 by Russell Yanofsky.

  This PR renames this function and re-uses it across the code base.

ACKs for top commit:
  Zero-1729:
    Concept ACK bb56486a17
  theStack:
    Code-review ACK bb56486a17
  Talkless:
    utACK bb56486a17
  ryanofsky:
    Code review ACK bb56486a17. Nice deduping, thanks for this!

Tree-SHA512: 6bdbfa61f2ffa69e075f46b733f247c6d5b8486779a1dac064285a199a4bb8bc5ef44eaee37086305646b5c88eb6a11990883219a4a9140a5117ee21ed529bb9
This commit is contained in:
fanquake
2021-08-11 09:56:22 +08:00
4 changed files with 18 additions and 13 deletions

View File

@@ -64,6 +64,14 @@ inline std::string Join(const std::vector<std::string>& list, const std::string&
return Join<std::string>(list, separator);
}
/**
* Create an unordered multi-line list of items.
*/
inline std::string MakeUnorderedList(const std::vector<std::string>& items)
{
return Join(items, "\n", [](const std::string& item) { return "- " + item; });
}
/**
* Check if a string does not contain any embedded NUL (\0) characters
*/

View File

@@ -502,11 +502,11 @@ bool ArgsManager::InitSettings(std::string& error)
std::vector<std::string> errors;
if (!ReadSettingsFile(&errors)) {
error = strprintf("Failed loading settings file:\n- %s\n", Join(errors, "\n- "));
error = strprintf("Failed loading settings file:\n%s\n", MakeUnorderedList(errors));
return false;
}
if (!WriteSettingsFile(&errors)) {
error = strprintf("Failed saving settings file:\n- %s\n", Join(errors, "\n- "));
error = strprintf("Failed saving settings file:\n%s\n", MakeUnorderedList(errors));
return false;
}
return true;