hholzgra Fri Feb 20 03:01:59 2004 EDT Added files: /php-src/scripts/dev extern_c.php Log: A script that searches for PHPAPI and ZEND_API prototypes not enclosed by BEGIN_EXTERN_C/END_EXTERN_C
http://cvs.php.net/co.php/php-src/scripts/dev/extern_c.php?r=1.1&p=1 Index: php-src/scripts/dev/extern_c.php +++ php-src/scripts/dev/extern_c.php <?php function scan_dir($dir) { if (!is_dir($dir)) return; foreach (glob("$dir/*") as $file) { if (is_dir($file)) { if (basename($file) != "CVS") { scan_dir($file); } } else if (fnmatch("*.h", $file)) { scan_file($file); } } } function scan_file($file) { $flag = false; foreach (file($file) as $nr => $line) { if (ereg("^[[:space:]]*BEGIN_EXTERN_C", $line)) { # echo "$file:".($nr+1)." $line"; $flag = true; } else if (ereg("^[[:space:]]*END_EXTERN_C", $line)) { # echo "$file:".($nr+1)." $line"; $flag = false; } else if ( (ereg("^[[:space:]]*PHPAPI[[:space:]]*", $line)) ||(ereg("^[[:space:]]*ZEND_API[[:space:]]*", $line))) { if (strstr($line,"(")) { if (!$flag) echo "$file:".($nr+1)." $line"; } } } } array_shift($_SERVER["argv"]); if (count($_SERVER["argv"])) { foreach ($_SERVER["argv"] as $dir) { scan_dir($dir); } } else { scan_dir("."); } ?> -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php