techtonik Thu Sep 22 05:50:31 2005 EDT
Modified files: /phpdoc/scripts missing-entities.php.in Log: - fix cygwin path issues finally * set environment variables within PHP rather from shell http://cvs.php.net/diff.php/phpdoc/scripts/missing-entities.php.in?r1=1.20&r2=1.21&ty=u Index: phpdoc/scripts/missing-entities.php.in diff -u phpdoc/scripts/missing-entities.php.in:1.20 phpdoc/scripts/missing-entities.php.in:1.21 --- phpdoc/scripts/missing-entities.php.in:1.20 Thu Sep 15 04:16:45 2005 +++ phpdoc/scripts/missing-entities.php.in Thu Sep 22 05:50:30 2005 @@ -17,7 +17,7 @@ | Gabor Hojtsy <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: missing-entities.php.in,v 1.20 2005/09/15 08:16:45 betz Exp $ + $Id: missing-entities.php.in,v 1.21 2005/09/22 09:50:30 techtonik Exp $ */ set_time_limit(0); @@ -38,26 +38,25 @@ // Support for Windows systems $windows = (strpos(PHP_OS, 'WIN') !== false); -// If PHP wasn't compiled on Cygwin, the path needs to be fixed. -// cygwin's path is hardcoded to C:\cygwin. change it if needed -if ($windows && (strpos(php_uname(), 'CYGWIN') === false)) { - $NSGMLS = preg_replace('@/usr/bin/(.+)@', 'C:\cygwin\bin\\\\\1.exe', $NSGMLS); +// If PHP wasn't compiled on Cygwin, then the path to NSGMLS (if it is +// *nix path in case NSGMLS is installed via Cygwin setup) should be +// fixed for exec command to work +if ($windows + && (strpos(php_uname(), 'CYGWIN') === false) + && (strncmp($NSGMLS, "/usr/bin/", 9) === 0)) +{ + $cygbin = exec("cygpath -d /usr/bin/"); + $NSGMLS = preg_replace("!^/usr/bin/!", $cygbin, $NSGMLS); } // Execute a test of the manual -if("@SP_OPTIONS@" == "" || substr(PHP_OS, 0, 3) == 'WIN') { - exec( - "$NSGMLS -f $NSGMLS_OUTPUT -i [EMAIL PROTECTED]@ -D . " . - "-s @SRCDIR@/dtds/dbxml-4.1.2/phpdocxml.dcl manual.xml" - ); -} -else { - exec( - "@SP_OPTIONS@ $NSGMLS -f $NSGMLS_OUTPUT -i [EMAIL PROTECTED]@ -D . " . - "-s @SRCDIR@/dtds/dbxml-4.1.2/phpdocxml.dcl manual.xml" - ); -} +$envy = explode(" ", "@SP_OPTIONS@"); +array_map('putenv', $envy); +exec( + "$NSGMLS -f $NSGMLS_OUTPUT -i [EMAIL PROTECTED]@ -D . " . + "-s @SRCDIR@/dtds/dbxml-4.1.2/phpdocxml.dcl manual.xml" +); // Try to open files for rewriting $ment = fopen("entities/missing-entities.ent", "w");