aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-03-06 18:12:10 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-03-06 18:12:10 +0300
commitd9157743d2769aeac62a97c47ebf45493271c21e (patch)
treeba91e5fcb9d4c775640fceb0683516095fdd739a
parentd6d29afcdfac93e855b2ab7b96b08ba1335ad009 (diff)
Add UTF-8 validation error details to diagnostics
-rw-r--r--bdep/ci-parsers.cxx8
-rw-r--r--bdep/utility.cxx6
2 files changed, 6 insertions, 8 deletions
diff --git a/bdep/ci-parsers.cxx b/bdep/ci-parsers.cxx
index efee55c..7cf8d62 100644
--- a/bdep/ci-parsers.cxx
+++ b/bdep/ci-parsers.cxx
@@ -39,11 +39,9 @@ namespace bdep
//
auto validate_value = [&o, &v] ()
{
- if (!utf8 (v, codepoint_types::graphic))
- throw invalid_value (o,
- v,
- "not UTF-8 encoded or contains non-graphic "
- "Unicode codepoints");
+ string what;
+ if (!utf8 (v, what, codepoint_types::graphic))
+ throw invalid_value (o, v, what);
};
if (o == "--build-email")
diff --git a/bdep/utility.cxx b/bdep/utility.cxx
index 8821790..0e19691 100644
--- a/bdep/utility.cxx
+++ b/bdep/utility.cxx
@@ -300,11 +300,11 @@ namespace bdep
void
validate_utf8_graphic (const string& s, const char* what, const char* opt)
{
- if (!utf8 (s, codepoint_types::graphic))
+ string ed;
+ if (!utf8 (s, ed, codepoint_types::graphic))
{
diag_record dr (fail);
- dr << what << " '" << s << "' is not UTF-8 encoded or contains "
- << "non-graphic Unicode codepoints";
+ dr << "invalid " << what << " '" << s << "': " << ed;
if (opt != nullptr)
dr << info << "consider using " << opt << " to override";