File: extern_c.php

package info (click to toggle)
php5 5.3.3-7%2Bsqueeze19
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 122,836 kB
  • ctags: 55,742
  • sloc: ansic: 633,963; php: 19,620; sh: 11,344; xml: 5,816; cpp: 2,400; yacc: 1,745; exp: 1,514; makefile: 1,019; pascal: 623; awk: 537; sql: 22
file content (45 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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(".");
}
?>