]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/debsystem.cc
apt-key: change to / before find to satisfy its CWD needs
[apt.git] / apt-pkg / deb / debsystem.cc
index d6ef49a379e494fdd2ce98e7f61e621901cfe5ad..56ca8f4c6dd564d9e4d138f673bbe505066b8c72 100644 (file)
@@ -302,7 +302,7 @@ void debSystem::DpkgChrootDirectory()                                       /*{{{*/
       _exit(100);
 }
                                                                        /*}}}*/
-static pid_t ExecDpkg(std::vector<std::string> const &sArgs, int * const inputFd, int * const outputFd, bool const showStderr)/*{{{*/
+pid_t debSystem::ExecDpkg(std::vector<std::string> const &sArgs, int * const inputFd, int * const outputFd, bool const DiscardOutput)/*{{{*/
 {
    std::vector<const char *> Args(sArgs.size(), NULL);
    std::transform(sArgs.begin(), sArgs.end(), Args.begin(), [](std::string const &s) { return s.c_str(); });
@@ -333,7 +333,7 @@ static pid_t ExecDpkg(std::vector<std::string> const &sArgs, int * const inputFd
         close(external[0]);
         dup2(external[1], STDOUT_FILENO);
       }
-      if (showStderr == false)
+      if (DiscardOutput == true)
         dup2(nullfd, STDERR_FILENO);
       debSystem::DpkgChrootDirectory();
       execvp(Args[0], (char**) &Args[0]);
@@ -357,7 +357,7 @@ bool debSystem::SupportsMultiArch()                                 /*{{{*/
 {
    std::vector<std::string> Args = GetDpkgBaseCommand();
    Args.push_back("--assert-multi-arch");
-   pid_t const dpkgAssertMultiArch = ExecDpkg(Args, nullptr, nullptr, false);
+   pid_t const dpkgAssertMultiArch = ExecDpkg(Args, nullptr, nullptr, true);
    if (dpkgAssertMultiArch > 0)
    {
       int Status = 0;
@@ -386,7 +386,7 @@ std::vector<std::string> debSystem::SupportedArchitectures()                /*{{{*/
    std::vector<std::string> sArgs = GetDpkgBaseCommand();
    sArgs.push_back("--print-foreign-architectures");
    int outputFd = -1;
-   pid_t const dpkgMultiArch = ExecDpkg(sArgs, nullptr, &outputFd, false);
+   pid_t const dpkgMultiArch = ExecDpkg(sArgs, nullptr, &outputFd, true);
    if (dpkgMultiArch == -1)
       return archs;
 
@@ -399,10 +399,10 @@ std::vector<std::string> debSystem::SupportedArchitectures()              /*{{{*/
         char* tok_saveptr;
         char* arch = strtok_r(buf, " ", &tok_saveptr);
         while (arch != NULL) {
-           for (; isspace(*arch) != 0; ++arch);
+           for (; isspace_ascii(*arch) != 0; ++arch);
            if (arch[0] != '\0') {
               char const* archend = arch;
-              for (; isspace(*archend) == 0 && *archend != '\0'; ++archend);
+              for (; isspace_ascii(*archend) == 0 && *archend != '\0'; ++archend);
               string a(arch, (archend - arch));
               if (std::find(archs.begin(), archs.end(), a) == archs.end())
                  archs.push_back(a);