summaryrefslogtreecommitdiffstats
path: root/useful/ultrastrace.php
diff options
context:
space:
mode:
Diffstat (limited to 'useful/ultrastrace.php')
-rwxr-xr-xuseful/ultrastrace.php17
1 files changed, 14 insertions, 3 deletions
diff --git a/useful/ultrastrace.php b/useful/ultrastrace.php
index eeff80c2..8c826ee5 100755
--- a/useful/ultrastrace.php
+++ b/useful/ultrastrace.php
@@ -13,6 +13,12 @@ $found = array();
array_shift($argv);
+$unique = false;
+if ($argv[0] == '-u') {
+ array_shift($argv);
+ $unique = true;
+}
+
foreach ($argv as $fname) {
$fh = fopen($fname, 'r');
if ($fh === false) die("File not found: $fname\n");
@@ -40,17 +46,22 @@ foreach ($argv as $fname) {
$file = basename($out['lib']);
$file = preg_replace('/\.so(\.\d+)*$/', '', $file);
if ($out['ret'] < 0) {
+ $str = ':-( ' . $out['lib'] . ' *** (' . (isset($out['err']) ? $out['err'] : 'Unknown Error') . ') (' . $out[ 'action'] . ')';
if (isset($found[$file])) {
- $found[$file][] = ':-( ' . $out['lib'] . ' *** (' . (isset($out['err']) ? $out['err'] : 'Unknown Error') . ') (' . $out['action'] . ')';
+ if (!$unique || !in_array($str, $found[$file]))
+ $found[$file][] = $str;
} else {
- $failed[$file][] = ':-( ' . $out['lib'] . ' *** (' . (isset($out['err']) ? $out['err'] : 'Unknown Error') . ') (' . $out['action'] . ')';
+ if (!$unique || !isset($failed[$file]) || !in_array($str, $failed[$file]))
+ $failed[$file][] = $str;
}
} else {
if (isset($failed[$file])) {
$found[$file] = $failed[$file];
unset($failed[$file]);
}
- $found[$file][] = ':-) ' . $out['lib'] . ' (' . $out['action'] . ')';
+ $str = ':-) ' . $out['lib'] . ' (' . $out['action'] . ')';
+ if (!$unique || !isset($found[$file]) || !in_array($str, $found[$file]))
+ $found[$file][] = $str;
}
}
fclose($fh);