[Toybox] [PATCH] toysh: fix -Wuse-after-free
Rob Landley
rob at landley.net
Sun Mar 24 00:54:14 PDT 2024
On 3/22/24 10:24, enh wrote:
> On Thu, Mar 21, 2024 at 8:45 PM Rob Landley <rob at landley.net> wrote:
>> Anyway, toys/android basically meant (to me), "commands that come from and are
>> maintained by Elliott which I can't even test because they don't apply to a
>> vanilla linux system that isn't running the full android environment". Although
>> that's a personally idiosyncratic definition because I lumped selinux in with
>> that;
>
> (heh. you beat me to it :-) )
If the new kconfig greyed out unavailable entries and had a status line saying
"depends on TOYBOX_ON_ANDROID" or similar when you cursored over a greyed out
entry...
There _is_ a way to collapse everything together into one directory and make it
manage-ish-able. But there are currently 52 command files in pending, and "ip.c"
alone is 6 commands and 3000 lines of "we already have route and ifconfig and
iptables and so on as separate commands, why did they do it again?"
>> It's been the status quo for a dozen years now (commit 3a9241add947 in 2012) and
>> moving everything AGAIN would have costs, so I'd want a reason and assurance
>> that we're not going to change our minds again.
>
> for me the holy grail is "tab complete works and i don't have to think
> about arbitrary partitions".
It's a good point.
> i think "not yet default 'y'" is pretty
> defensible (though the reason we're having this discussion is because
> people _don't_ read "pending" as "danger, keep out!"), but the rest
> seem so arbitrary.
I'd like there to not BE "danger, keep out" in the tree, but a certain large
korean company wanted their contributions checked in, I fell behind, and it
snowballed from there.
>> Collapsing the directories
>> together when the last command is promoted (or deleted) out of pending might
>> make sense, figuring out what to do about example/ (trusting to the demo_ prefix
>> to annotate the example commands is nice, but hello.c hostid.c logpath.c and
>> skeleton.c would need... something).
>
> no, i think example/ is defensible too. (i'd argue you're only ever
> going to look in there if you have a _reason_ to. or you've done a
> `grep -r` for something you're changing/checking all references to.
> the reason i completely forgot about example/ is that it never causes
> me the "where the fuck is _mount_?!" annoyance :-) )
Right now everything is at the same level. Having files at two different levels
is not a simplification.
Designing a way to have toys/*.c with no subdirectories and make it manageable
seems a reasonable goal, if tricky to get to. Having toys/*.c _and toys/*/*.c
does not smell like an improvement?
We've got: android example lsb net other pending posix
Pending needs everything cleaned up and prompted or deleted. Posix can be a
defconfig file. Example can be commands that "default n". Android isn't
necessary if a kconfig replacement greys things out instead of hiding them and
displays WHY they're greyed out when you cursor over them (and the rewrite is
needed to address pull request 332). Other, net, and lsb aren't sufficient
distinction to persist in the absence of other directories.
And that's all of them, I think?
If we really wanted to rush this, I could make a TOYBOX_UNFINISHED symbol that
the pending stuff could depend on, and then the blocker is the kconfig
replacement...
Not THIS release though. Working on release notes! (And lowering my standards on
the todo list.)
Rob
More information about the Toybox
mailing list