Explorar o código

Made Silencer invocations safer against exceptions.

Niels Keurentjes %!s(int64=9) %!d(string=hai) anos
pai
achega
c2e768b8ad

+ 2 - 4
src/Composer/Command/ConfigCommand.php

@@ -159,18 +159,16 @@ EOT
         $this->authConfigSource = new JsonConfigSource($this->authConfigFile, true);
 
         // Initialize the global file if it's not there, ignoring any warnings or notices
-        Silencer::suppress();
         if ($input->getOption('global') && !$this->configFile->exists()) {
             touch($this->configFile->getPath());
             $this->configFile->write(array('config' => new \ArrayObject));
-            chmod($this->configFile->getPath(), 0600);
+            Silencer::call('chmod', $this->configFile->getPath(), 0600);
         }
         if ($input->getOption('global') && !$this->authConfigFile->exists()) {
             touch($this->authConfigFile->getPath());
             $this->authConfigFile->write(array('http-basic' => new \ArrayObject, 'github-oauth' => new \ArrayObject, 'gitlab-oauth' => new \ArrayObject));
-            chmod($this->authConfigFile->getPath(), 0600);
+            Silencer::call('chmod', $this->authConfigFile->getPath(), 0600);
         }
-        Silencer::restore();
 
         if (!$this->configFile->exists()) {
             throw new \RuntimeException(sprintf('File "%s" cannot be found in the current directory', $configFile));

+ 2 - 4
src/Composer/Command/CreateProjectCommand.php

@@ -225,13 +225,11 @@ EOT
         chdir($oldCwd);
         $vendorComposerDir = $composer->getConfig()->get('vendor-dir').'/composer';
         if (is_dir($vendorComposerDir) && $fs->isDirEmpty($vendorComposerDir)) {
-            Silencer::suppress();
-            rmdir($vendorComposerDir);
+            Silencer::call('rmdir', $vendorComposerDir);
             $vendorDir = $composer->getConfig()->get('vendor-dir');
             if (is_dir($vendorDir) && $fs->isDirEmpty($vendorDir)) {
-                rmdir($vendorDir);
+                Silencer::call('rmdir', $vendorDir);
             }
-            Silencer::restore();
         }
 
         return 0;