/breplace lacks multibyte replacement, it was probably not so much of a problem before, but with unicode I believe this is going to be more common: we can't replace an utf8 sequence of bytes by another, replacing (all) é with è in a binvar has to be done manually with $bfind in a loop as we can't replace each byte separately.

There are multiple ways to extend /breplace to do this but eventually, in order to avoid the scripter the need to specify how many bytes are to be replaced and for mIRC to quickly get the different bytes, commas could be used:

Quote:
/breplace <&binvar> <oldvalue> [oldvalueN], <newvalue>
/breplace &in 195 169,195 168
and one single byte can be replaced with multiple bytes, and vice versa

mIRC can work this out by looking for a comma before hand but if that's not desirable, a new switch can always be added:

Quote:
/breplace -m <&binvar> <oldvalue> [oldvalueN], <newvalue>

That way the first list of bytes can be stored as it's parsed, and an error is returned if no comma is found or if the number of bytes in each list is different.


#mircscripting @ irc.swiftirc.net == the best mIRC help channel