]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/cmd.php
clean up reverse code
[nominatim.git] / lib / cmd.php
index 8ccbb036586b73e861359320b91408cf6f32f905..9efe5653b735ca45dd12a62da471d824436dc4ee 100644 (file)
@@ -164,9 +164,9 @@ function runSQLScript($sScript, $bfatal = true, $bVerbose = false, $bIgnoreError
     if (isset($aDSNInfo['username']) && $aDSNInfo['username']) {
         $sCMD .= ' -U ' . $aDSNInfo['username'];
     }
-    $procenv = null;
+    $aProcEnv = null;
     if (isset($aDSNInfo['password']) && $aDSNInfo['password']) {
-        $procenv = array_merge(array('PGPASSWORD' => $aDSNInfo['password']), $_ENV);
+        $aProcEnv = array_merge(array('PGPASSWORD' => $aDSNInfo['password']), $_ENV);
     }
     if (!$bVerbose) {
         $sCMD .= ' -q';
@@ -180,15 +180,15 @@ function runSQLScript($sScript, $bfatal = true, $bVerbose = false, $bIgnoreError
                      2 => STDERR
                     );
     $ahPipes = null;
-    $hProcess = @proc_open($sCMD, $aDescriptors, $ahPipes, null, $procenv);
+    $hProcess = @proc_open($sCMD, $aDescriptors, $ahPipes, null, $aProcEnv);
     if (!is_resource($hProcess)) {
         fail('unable to start pgsql');
     }
 
     while (strlen($sScript)) {
-        $written = fwrite($ahPipes[0], $sScript);
-        if ($written <= 0) break;
-        $sScript = substr($sScript, $written);
+        $iWritten = fwrite($ahPipes[0], $sScript);
+        if ($iWritten <= 0) break;
+        $sScript = substr($sScript, $iWritten);
     }
     fclose($ahPipes[0]);
     $iReturn = proc_close($hProcess);
@@ -196,3 +196,23 @@ function runSQLScript($sScript, $bfatal = true, $bVerbose = false, $bIgnoreError
         fail("pgsql returned with error code ($iReturn)");
     }
 }
+
+
+function runWithEnv($sCmd, $aEnv)
+{
+    $aFDs = array(
+             0 => array('pipe', 'r'),
+             1 => STDOUT,
+             2 => STDERR
+            );
+    $aPipes = null;
+    $hProc = @proc_open($sCmd, $aFDs, $aPipes, null, $aEnv);
+    if (!is_resource($hProc)) {
+        fail('unable to run command:' . $sCmd);
+    }
+
+    fclose($aPipes[0]); // no stdin
+
+    $iStat = proc_close($hProc);
+    return $iStat;
+}