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

Reply via email to