diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2012-03-13 14:21:00 +0100 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2012-03-13 14:21:00 +0100 |
commit | b829fb2602a506a01cb2b3fd371e975784d4377c (patch) | |
tree | a0999795c61b95e3a9ec2cf30575e22e1b4d7337 /apt-pkg/aptconfiguration.cc | |
parent | b3887af24029cdc6179470fcb8587fff39a3eee9 (diff) | |
parent | 544cc111be38bd0a3dfc887da3a70610b3cabe9e (diff) |
merged from debian-experimental2
Diffstat (limited to 'apt-pkg/aptconfiguration.cc')
-rw-r--r-- | apt-pkg/aptconfiguration.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc index b5ad74831..4324f0e63 100644 --- a/apt-pkg/aptconfiguration.cc +++ b/apt-pkg/aptconfiguration.cc @@ -376,7 +376,7 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache dup2(nullfd, STDIN_FILENO); dup2(external[1], STDOUT_FILENO); dup2(nullfd, STDERR_FILENO); - execv(Args[0], (char**) &Args[0]); + execvp(Args[0], (char**) &Args[0]); _error->WarningE("getArchitecture", "Can't detect foreign architectures supported by dpkg!"); _exit(100); } @@ -392,7 +392,9 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache if (arch[0] != '\0') { char const* archend = arch; for (; isspace(*archend) == 0 && *archend != '\0'; ++archend); - archs.push_back(string(arch, (archend - arch))); + string a(arch, (archend - arch)); + if (std::find(archs.begin(), archs.end(), a) == archs.end()) + archs.push_back(a); } arch = strtok(NULL, " "); } |