Archives de la liste d​e​v​@p​a​h​e​k​o​.c​l​o​u​d​

Bizarrerie (voire pire) avec le filtre math

lesanges at murena.io via dev

28/11/2023 14:55:57

Eh oui, encore une (heum) bizarrerie !

Apparemment, math n'aime pas avoir un 2ème opérande négatif dans une 
soustraction (je n'ai pas vérifié le 1er opérande)

2 - -3 ne lui plait pas...

line 48: modifier 'math' has returned an error: Syntax error: "syntax
error, 
unexpected token "--", expecting ";"" (in "0--3")
Parameters: ["%d-%d",0,-3]

Peut-être faut-il un espace entre les opérandes, car php eval n'aime pas 0--3 
mais accepte 0 - -3 (beurk)

php > eval("echo 0--3;");
PHP Parse error:  syntax error, unexpected token "--", expecting ","
or ";" in 
php shell code(1) : eval()'d code on line 1
php > eval("echo 0 - -3;");
3

Bizarrerie (voire pire) avec le filtre math

lesanges at murena.io via dev

28/11/2023 15:03:23

un patch (vite fait) qui semble fonctionner

Index: src/include/lib/Paheko/UserTemplate/Modifiers.php
==================================================================
--- src/include/lib/Paheko/UserTemplate/Modifiers.php
+++ src/include/lib/Paheko/UserTemplate/Modifiers.php
@@ -311,11 +311,11 @@
  				if (empty(end($stack)['function'])) {
  					throw new Brindille_Exception('Invalid comma outside of a function, on 
position ' . $token->offset);
  				}
  			}

-			$expression .= $token->value;
+			$expression .= ' ' . $token->value;
  		}

  		if (count($stack)) {
  			throw new Brindille_Exception('Unmatched open parenthesis, on position ' . 
$token->offset);
  		}

Jean-Christophe

Le 28/11/2023 à 14:55, lesanges at murena.io via dev a écrit :
> Eh oui, encore une (heum) bizarrerie !
> 
> Apparemment, math n'aime pas avoir un 2ème opérande négatif dans une
> soustraction (je n'ai pas vérifié le 1er opérande)
> 
> 2 - -3 ne lui plait pas...
> 
> line 48: modifier 'math' has returned an error: Syntax error:
"syntax error,
> unexpected token "--", expecting ";"" (in
"0--3")
> Parameters: ["%d-%d",0,-3]
> 
> Peut-être faut-il un espace entre les opérandes, car php eval n'aime pas
0--3
> mais accepte 0 - -3 (beurk)
> 
> php > eval("echo 0--3;");
> PHP Parse error:  syntax error, unexpected token "--", expecting
"," or ";" in
> php shell code(1) : eval()'d code on line 1
> php > eval("echo 0 - -3;");
> 3
>

Bizarrerie (voire pire) avec le filtre math

BohwaZ/Paheko

29/11/2023 13:34:38

Merci, corrigé : https://fossil.kd2.org/paheko/info/6f73d56eb3336ba0