[Toybox] Poke about the bc.c cleanup patches I submitted a while ago

Oliver Webb aquahobbyist at proton.me
Sun Mar 24 07:27:45 PDT 2024



(Forgot to CC the list, sorry)
On Sunday, March 24th, 2024 at 01:25, Oliver Webb <aquahobbyist at proton.me> wrote:

About a month ago I submitted two patches that started to cleaup bc.c
(http://lists.landley.net/pipermail/toybox-landley.net/2024-February/030067.html and
http://lists.landley.net/pipermail/toybox-landley.net/2024-February/030068.html), as
far as I can tell neither of them are upstream

I've been looking to do a cleanup pass on bc because there are a lot of very obvious things
that can be removed (typedefed structs as far as the eye can see, all the "posixError" garbage, etc), and from
there cleaner, more auditable code would be easier to spot things to remove in. And also there
is opportunity to codeshare stuff to or from bc (The variable processing in bc and awk work like
lua, everything that is undefined is some form of null until defined), And you have to get everything
to work in a modular manner before you start ripping big things out and replacing them.

I still haven't gotten a conclusive yes/no answer to either of these patches. As for the de-obfuscation of
bc_lib, the only other times I've seen internal ASCII turing complete code that gets evaluated at runtime get
stored as a large array of numbers that'd have to be manually decoded by anyone trying to audit it was
malware payloads. My guess as to "WHY!!" bc_lib is like that is configure system garbage because this
is also a external package.

Rob, Are you treating this code like the kconfig/ code where "It doesn't get improved, it gets removed",
Do you see any hope of this being cleaned up enough to be moved out of pending/, or at least
made less of a hairball so that anyone who wants to use this can study and change it easier, or scrap it for parts?

I'd understand if Rob thinks this is a waste of time and would rather have people clean up other stuff.
I need some marching orders to make myself useful, (I still haven't gotten word on the vi.c thread or the xz stuff,
nor the csplit regressions I started to patch out, and probably more things I forgot) not being able to work on
things because of changes waiting approval gives me incentive to go and find more things to open cans of worms about,
which I know adds more things to the already big todo list but I want to make progress and "find something else to do instead
of waiting a unknown amount of time, which would slow both you and your momentum down" has been my strategy for a few weeks now.

- Oliver Webb aquahobbyist at proton.me



More information about the Toybox mailing list