From 95b51c0a2fcf6983d31d2c72c275f9029a1a0cbc Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Fri, 2 Feb 2007 23:48:29 +0000
Subject: [PATCH] bug #764 sur la balise #SET dans une boucle recursive (patch
 a risque, ne pas reporter en branche stable)

---
 ecrire/public/balises.php | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index e6a4f40721..de6da95ddc 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -23,7 +23,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 // http://doc.spip.org/@interprete_argument_balise
-function interprete_argument_balise($n,$p){
+function interprete_argument_balise($n,$p) {
 	if (($p->param) && (!$p->param[0][0]) && (count($p->param[0])>$n))
 		return calculer_liste($p->param[0][$n],
 									$p->descr,
@@ -1245,10 +1245,11 @@ function balise_MODELE_dist($p) {
 function balise_SET_dist($p){
 	$_nom = interprete_argument_balise(1,$p);
 	$_valeur = interprete_argument_balise(2,$p);
-	// autres filtres (???)
-	array_shift($p->param);
-	
-	$p->code = "vide(\$Pile['vars'][$_nom] = $_valeur)";
+
+	if ($_nom AND $_valeur)
+		$p->code = "vide(\$Pile['vars'][$_nom] = $_valeur)";
+	else
+		$p->code = "''";
 
 	$p->interdire_scripts = false; // la balise ne renvoie rien
 	return $p;
-- 
GitLab