mirror of
https://github.com/php/php-src.git
synced 2024-11-27 11:53:33 +08:00
A script that searches for PHPAPI and ZEND_API prototypes
not enclosed by BEGIN_EXTERN_C/END_EXTERN_C
This commit is contained in:
parent
acf7a5e262
commit
767450164e
45
scripts/dev/extern_c.php
Normal file
45
scripts/dev/extern_c.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?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(".");
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user