Hello, I am about to release version 1.1 of my bc, so toybox gets a patch. It is attached.
There are a few notes. First, in order to eliminate a warning, I had to slightly change the declaration for xstrdup and xstrndup. I have eliminated memory errors and leaks, as far as Valgrind and ASan can tell. I also made it faster, by adding a small amount of code to get a better multiplication algorithm. I also eliminated superfluous code I had in to help debugging. I also had to add lines of code to fit the busybox style better (they are getting it too). Despite all of that, I managed to *reduce* LOC, by 200+ lines, by using xmalloc and friends. On top of that, I made the test suite run faster (just over 1 second) while also making it more comprehensive. At this point, it is still very minimal, so it should be used just a sanity check. The full test suite takes 30+ seconds on an optimized bc. Also, if you want the full test suite while reviewing this code, you can clone my repo at https://github.com/gavinhoward/bc and then run: $ $BC_ROOT/tests/all.sh bc $TOYBOX_ROOT/generated/unstripped/toybox bc If you also want to test the Linux kernel timeconst script, you can run: $ $BC_ROOT/tests/bc/timeconst.sh ./path/to/timeconst.bc $TOYBOX_ROOT/generated/unstripped/toybox bc I would ***highly*** recommend having the full test suite on hand for review; I have already shrunk the code as much as I can (besides the ones I added for busybox style), so every line of code has a purpose. With that said, after testing this thing as hard as I can, I am supremely confident in it, and I believe that, barring any small bugs, it is feature-complete and basically finished. Because of that, I am willing to hand it completely over to toybox and Landley, if he so desires, although I am willing to support it directly, as well as share responsibility. I am good with whatever. Thank you for your patience to this point. Gavin Howard
0001-Update-bc-for-1.1-release.tar.xz
Description: application/xz
_______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
