#include <apti18n.h>
#include <sys/types.h>
-#include <regex.h>
#include <cstdlib>
#include <algorithm>
#include <iostream>
(*I)->Finished();
- // stripping username/password from URI if present
- string descUri = (*I)->DescURI();
- regex_t userPassRegex;
- regcomp(&userPassRegex, "\\://(\\w+)\\:(\\w+)@", REG_EXTENDED);
- regmatch_t userPassMatch;
- int regMatchResult = regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0);
- if (regMatchResult == 0 && userPassMatch.rm_so != -1) // regexp matched
- {
- // really stripping
- size_t stripStart = userPassMatch.rm_so + 3;
- size_t stripEnd = userPassMatch.rm_eo;
- descUri = descUri.substr(0, stripStart) +
- descUri.substr(stripEnd, string::npos);
- }
- regfree(&userPassRegex);
-
+ ::URI uri((*I)->DescURI());
+ uri.User.clear();
+ uri.Password.clear();
+ string descUri = string(uri);
_error->Warning(_("Failed to fetch %s %s\n"), descUri.c_str(),
(*I)->ErrorText.c_str());