[Toybox] 64 bit toys.optflags?

Rob Landley rob at landley.net
Thu Dec 10 11:17:57 PST 2015


Somebody wants to add 4 more options to ls, which puts its flag count
above 32, which means they need more optflags bits.

I've avoided making optflags a 64 bit entity before now because that
sucks libgcc_s into the base for stuff like "echo". For a defconfig
build it's not a big deal, and existing toys.optflags&FLAG_x things
can theoretically still do a 32 bit mask (certainly on sane little
endian platforms) and just _ignore_ the high bits.

But because of the bloat to lib/args.c I'm tempted to add a
CFG_TOYBOX_LONGFLAGS with a #define for the type change in toys.h, and
then have commands that need it "select TOYBOX_LONGFLAGS" in their
kconfig.

Except... I didn't add a define for --longopt parsing because I prefer
the code to be simple rather than micromanage it to be small in
certain configurations when the defconfig build (which I _assume_ is
the common case) is the same either way...

So I'm probably just going to throw the switch and make optflags an
unsigned long long now that a user's showed up who needs it. But I'm
conflicted, and open to arguments against if you've got 'em...

Rob

 1449775077.0


More information about the Toybox mailing list