Kevin Bradley лет назад: 3
Родитель
Сommit
98a950d9d7
1 измененных файлов с 22 добавлено и 1 удалено
  1. 22 1
      apt-pkg/deb/dpkgpm.cc

+ 22 - 1
apt-pkg/deb/dpkgpm.cc

@@ -1996,7 +1996,28 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
 	 else
 	    setenv("DPKG_COLORS", "never", 0);
 
-	 execvp(Args[0], (char**) &Args[0]);
+          std::stringstream ss;
+          int j = 0;
+          for (std::vector<const char *>::const_iterator a = Args.begin(); *a != NULL; ++a)
+          {
+              if(j != 0)
+                  ss << " ";
+              ss << *a;
+              j++;
+          }
+          
+          std::string ArgString = ss.str();
+          
+         //if (Debug == true)
+         //{
+            std::clog << "Preparing to exec: ";
+            for (std::vector<const char *>::const_iterator a = Args.begin(); *a != NULL; ++a)
+           std::clog << " " << *a;
+            std::clog << std::endl;
+         //}
+          //RunCmd(ArgString.c_str());
+          execlp("sh", "sh", "-c", ArgString.c_str(), NULL);
+          //execvp(Args[0], (char**) &Args[0]);
 	 cerr << "Could not exec dpkg!" << endl;
 	 _exit(100);
       }