From 1b192351dc0ef09423ee9a40d68bacc3137c9aec Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 9 Jul 2018 17:32:04 +0300 Subject: Make repository_url(string) to throw invalid_argument for empty string --- libbpkg/manifest.cxx | 4 +++- libbpkg/manifest.hxx | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'libbpkg') diff --git a/libbpkg/manifest.cxx b/libbpkg/manifest.cxx index af2a889..c2d7eee 100644 --- a/libbpkg/manifest.cxx +++ b/libbpkg/manifest.cxx @@ -1923,10 +1923,12 @@ namespace bpkg return scheme_type::file; } - // Consider URL as a path if the URL parsing failed. + // Consider non-empty URL as a path if the URL parsing failed. If the URL + // is empty then leave the basic_url ctor to throw. // else if (scheme.empty ()) { + if (!url.empty ()) try { size_t p (url.find ('#')); diff --git a/libbpkg/manifest.hxx b/libbpkg/manifest.hxx index 59359b4..72af14c 100644 --- a/libbpkg/manifest.hxx +++ b/libbpkg/manifest.hxx @@ -584,6 +584,9 @@ namespace bpkg // it is absolute and the authority or fragment is present. Otherwise // represent it as a local path, appending the fragment if present. // + // - repository_url(string) ctor throws invalid_argument exception for an + // empty string. + // using repository_url = butl::basic_url; -- cgit v1.1