Bug in CommandAttr bei remove (-r)

Begonnen von KernSani, 17 März 2019, 19:53:14

Vorheriges Thema - Nächstes Thema

KernSani

Hallo Rudi,

folgendes Testszenario:

defmod test dummy
attr test userattr a b c

Ein anschließendes

attr -r test userattr b


ergibt

userattr   ac


M.E. müsste in CommandAttr bei der Ersetzung ein "space" mitgegeben werden


$v =~ s/\s*$attrVal\s*/ /;


Danke,

Oli

Edit: natürlich funktioniert ein space nur bei "space"-getrennten Attributwerten - wahrscheinlich wäre es richtiger die Spaces nicht zu ersetzen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rudolfkoenig

Danke fuer den Hinweis.
Ich habe \s*$attrVal\s* nach \b$attrVal\b geaendert, was auch nicht perfekt ist (insb bei Komma separierten Ausdruecken kann es zu Problemen fuehren), aber nach meinem Gefuehl besser ist, als die alte Variante.

KernSani

#2
Danke für die Anpassung... Gefühlt würde ein einfaches
.?$attrVal
alle möglichen Delimiter korrekt ersetzen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...