From d0e74e0d5295efda9980d7597b88ba8cb0d9922b Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Thu, 26 Aug 2004 21:44:09 +0000 Subject: [PATCH] =?UTF-8?q?un=20bug=20vexant=20qui=20date=20de=20juillet?= =?UTF-8?q?=20:=20une=20boucle=20r=C3=A9cursive=20ne=20reservait=20pas=20l?= =?UTF-8?q?es=20champs=20necessaires=20chez=20sa=20maman,=20mais=20seuleme?= =?UTF-8?q?nt=20chez=20elle-meme=20;=20ou=20alors=20au=20contraire=20(pr?= =?UTF-8?q?=C3=A9c=C3=A9demment)=20seulement=20chez=20sa=20maman=20;=20or,?= =?UTF-8?q?=20il=20faut=20les=202,=20puisqu'on=20est=20appel=C3=A9=20une?= =?UTF-8?q?=20fois=20par=20la=20maman=20et=20ensuite=20plusieurs=20fois=20?= =?UTF-8?q?par=20soi-m=C3=AAme.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dur dur le code pas commenté ! --- inc-arg-squel.php3 | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/inc-arg-squel.php3 b/inc-arg-squel.php3 index bc17ac300d..0d345de6d2 100644 --- a/inc-arg-squel.php3 +++ b/inc-arg-squel.php3 @@ -410,7 +410,9 @@ function calculer_param_date($date_compare, $date_orig) { ")))"; } +// // Calculer les parametres +// function calculer_param_dynamique($val, &$boucles, $idb) { if (ereg("^#([A-Za-z0-9_-]+)$", $val, $m)) { $c = calculer_champ('',$m[1], $idb, $boucles,$idb); @@ -428,10 +430,19 @@ function calculer_param_dynamique($val, &$boucles, $idb) { } } -# Prendre en compte le cas de la boucle dite recursive +// +// Reserve les champs necessaires a la comparaison avec le contexte donne par +// la boucle parente ; attention en recursif il faut les reserver chez soi-meme +// ET chez sa maman +// function calculer_argument_precedent($idb, $nom_champ, &$boucles) { - return index_pile(($boucles[$idb]->externe ? $idb : - $boucles[$idb]->id_parent), $nom_champ, $boucles); + + // recursif ? + if ($boucles[$idb]->externe) + index_pile ($idb, $nom_champ, $boucles); // reserver chez soi-meme + + // reserver chez le parent et renvoyer l'habituel $Pile[$SP]['nom_champ'] + return index_pile ($boucles[$idb]->id_parent, $nom_champ, $boucles); } ?> -- GitLab