From caef54f0eed0e38c1f64b76f4e3f24427451df94 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 10 Nov 2006 12:45:42 +0000
Subject: [PATCH] =?UTF-8?q?Suite=20[7834],=20on=20retrouve=20a=20nouveau?=
 =?UTF-8?q?=20la=20ligne=20fautive=20dans=20le=20squelette=20=C3=A0=20part?=
 =?UTF-8?q?ir=20du=20r=C3=A9sultat.=20En=20revanche=20les=20valeurs=20tran?=
 =?UTF-8?q?smises=20au=20d=C3=A9busquer=20dans=20le=20cas=20d'une=20mod?=
 =?UTF-8?q?=C3=A8le=20sont=20toujours=20=C3=A0=20revoir.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/public/debug.php | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/ecrire/public/debug.php b/ecrire/public/debug.php
index c8d2c5aed5..976e3e6323 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);
-- 
GitLab