diff --git a/ecrire/public/debug.php b/ecrire/public/debug.php index c8d2c5aed5688459ccd8d984d6d3fd0854667c6e..976e3e6323f7e1a512c6da0b09519378c6f54fbd 100644 --- a/ecrire/public/debug.php +++ b/ecrire/public/debug.php @@ -232,8 +232,9 @@ function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "") global $debug_objets; $id = $nom . $boucle; - if (!is_array($debug_objets['sequence'][$id])) return array(); - foreach($debug_objets['sequence'][$id] as $v) { + if (is_array($debug_objets['sequence'][$id])) { + foreach($debug_objets['sequence'][$id] as $v) { + if (!preg_match('/^(.*)(<\?.*\?>)(.*)$/s', $v[2],$r)) $y = substr_count($v[2], "\n"); else { @@ -250,13 +251,14 @@ function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "") if ($n <= ($y + $debut)) { if ($v[1][0] == '?') return trouve_boucle_debug($n, $nom, $debut, substr($v[1],1)); - elseif ($v[1][0] == '!') { + elseif ($v[1][0] == '!') { if ($incl = trouve_squelette_inclus($v[1])) return trouve_boucle_debug($n, $incl, $debut); } - return array($nom, $boucle, $v[0]); + return array($nom, $boucle, $v[0] -1 + $n - $debut ); } $debut += $y; + } } return array($nom, $boucle, $n-$debut); } @@ -446,7 +448,7 @@ function debug_dumpfile ($texte, $fonc, $type) { $titre = 'zbug_' . $titre; $texte = ancre_texte($texte, array('','')); } else { - list($texte, $err) = emboite_texte($texte, $self); + list($texte, $err) = emboite_texte($texte, $fonc, $self); if ($err === false) $err = _T('impossible'); elseif ($err === true) @@ -470,7 +472,7 @@ function debug_dumpfile ($texte, $fonc, $type) { exit; } -function emboite_texte($texte,$self='') +function emboite_texte($texte,$fonc='',$self='') { if (!($sax = charger_fonction('sax', 'inc') AND $res = $sax($texte))) return array(ancre_texte($texte, array('','')), false);