Am 05.04.26 um 23:17 schrieb Craig Leres:
On 4/3/26 10:28, Michael Balzer wrote: You can raise that limit without adding RAM requirements, it's just an argc validation. Appended is what I did locally for testing, raising _COMMAND_TOKEN_NMB impacts the stack use of several routines in microrl.c, I can't judge if that's a problem or not.
Sorry, I didn't recognize you'd also need to raise _COMMAND_TOKEN_NMB for your filter. Raising _COMMAND_TOKEN_NMB from 16 to 128 has a significant impact on the microRL stack requirements, raising stack allocation for any command execution from 64 to 512 Bytes. That's not safe, as we cannot guarantee any context running e.g. BufferedShell commands has sufficient stack, and especially as some commands have high stack requirements themselves. So there are two options to solve this: a) Rework microRL's `microrl_get_complite()` and `new_line_handler()` to use the heap instead of the stack for the token arrays (and make sure the SPIRAM heap is used if available). b) Rework `canfilter::AddFilter()` to allow passing multiple filter specs in a string, so you can use a quoted argument. …or maybe both. I'd opt for (a) to begin with, as that has a general positive impact on stack usage. Regards, Michael -- Michael Balzer * Am Rahmen 5 * D-58313 Herdecke Fon 02330 9104094 * Handy 0176 20698926