aboutsummaryrefslogtreecommitdiff
path: root/toys/other
AgeCommit message (Collapse)Author
2019-06-08macOS: numerous fixes.Elliott Hughes
This patch adds a BSD version of xgetmountlist (for the path == NULL case only), tested on macOS. It also papers over the differences between macOS' and Linux's xattr APIs. For once I think the macOS one is better. The imitation of mknodat I've had to write swings things back in Linux's favor though. BSD calls f_frsize by the name f_iosize instead. (FWIW, it looks like this is meaningless on Linux and actually meaningful on macOS.) I've added one #if to toys/ --- I'm calling pathconf in stat.c to work around the absence of f_namelen, and have left a TODO with an explanation. I'm not sure what the best fix is here, so punting. No-one can agree what f_fsid is, even if they're all basically the same, so work around the `val` versus `__val` issue between macOS and Linux. With this patch, it's now possible to build cp/mv/install and stat for macOS too. (Which completes the set of "toybox commands currently used on Linux as part of the AOSP build" if you ignore stuff that deals with processes, which I doubt we'll ever be able to support for lack of any API.)
2019-06-07Implement stat %C and find %Z.Elliott Hughes
We'd documented find %Z but not implemented it. We'd neither documented nor implemented stat's corresponding %C (they'd already taken %Z for ctime, which is ironic because %c/%C sounds more obvious than %z/%Z for that to me).
2019-04-18Remove a line that's already in toys.h.Rob Landley
2019-04-16Add argument to xflush() so it can test for stdout err without flushing.Rob Landley
2019-04-12Make help text spacing consistent.Rob Landley
2019-04-04Tweak stat.Rob Landley
next_printf() shouldn't return null unless it never found the start of an escape sequence (it'll return a pointer to the null at the end of the string otherwise), and the only time we point it at a % and it doesn't is when it's %%. So handle that before calling. (Also, a single trailing % prints in other implementations, and while I'm there update to use FLAG() macros, add a couple comments, and only xflush() once per pattern.)
2019-04-04stat: avoid null dereference.liwugang
When the specified format string has odd '%' in the end, the next_printf function will return null. Checking the result value before using it. Signed-off-by: liwugang <liwugang@xiaomi.com>
2019-03-23login: clear environment when -p is absentWilliam Djupström
2019-03-18cmp/env/nice/nohup/sort: use TOYFLAG_ARGFAIL.Elliott Hughes
Also be a bit more consistent about `COMMAND [ARG...]` in usage text.
2019-03-13timeout: remove bogus depends-on.Elliott Hughes
2019-03-13Use defined constants for mkpathat.Hadrian Węgrzynowski
2019-03-10Add TOYFLAG_ARGFAIL() to allow argument parsing failures to exit with value.Rob Landley
2019-03-10timeout: --foreground, --preserve-status, and --signal.Elliott Hughes
--signal is simply a synonym for the exiting -s. --foreground disables functionality we didn't yet have: putting the child into a new process group. I've added the functionality and the flag to disable it. --preserve-status also makes it clear that our exit statuses didn't match the coreutils version. In addition to callers that use --preserve-status to get away from this madness, I also have callers that check for specific exit values. This patch implements --preserve-status but also fixes all the other exit statuses. (The "125" exit value is broken for toybox in the same way that `toybox grep --whoops ; echo $?` is. To fix this, we'd need some way to signal that command-line parsing failures should exit with a different value than the usual 1 --- 2 for grep, 125 for timeout. I've done as much as grep manages, and left a TODO.) Also add timeout tests. I couldn't think of an easy test for --foreground, so I tested that manually with strace. Also add some newlines to the `toybox --help` output to make it easier to find the different sections, and expand the section on durations to call out that fractions are supported as a matter of policy. As long as timeout and sleep have text describing the duration syntax, make them the same. (Personally I'd remove both in favor of the `toybox --help` output, but as long as they're duplicated, keep them consistent.) Also remove the SLEEP_FLOAT variant --- xparsetime means that sleep no longer requires floating point to support sub-second resolution.
2019-03-10Make multiple sendfile variants, and teach xpopen_both() to use existingRob Landley
stdin/stdout filehandles.
2019-03-07Add reset_env() and make su and login use it. Do long-delayed login cleanup.Rob Landley
2019-03-04Consistently use ARRAY_LEN.Elliott Hughes
2019-03-02Promote devmem.Rob Landley
2019-03-02Improve help consistency.Elliott Hughes
More consistent tense, capitalization, and punctuation. A few commands were missing an introductory line, so I copied those from the first comment line.
2019-03-01William Djupström pointed out we need to chown() the tty.Rob Landley
Do the FLAG() and short argument variable cleanups while we're there.
2019-03-01Minor tweaks.Rob Landley
2019-02-23Add blkid -U and -L.Rob Landley
2019-02-23Promote mcookieRob Landley
2019-02-23Bumper typo cleanup.Elliott Hughes
Inspired by some of the small patches that have gone by recently. Limited to only things found in `generated/help.h`, plus a wider cleanup for the more common "milisecond" typo.
2019-02-23Switch losetup to short arg var style and force typecasts for printf.Rob Landley
2019-02-20Exit code should indicate _which_ signal oneit's exiting due to.Rob Landley
2019-02-15mountpoint: add missing synopsis.Elliott Hughes
2019-02-15Fix typos: e.g. change "cannonical" to "canonical".Jason Spiro
2019-02-04Reset screen wrap mode (broken by qemu -nographic output).Rob Landley
2019-01-25OpenEmbedded needs commands installed in specific places.Rob Landley
2019-01-12stat: add --format synonym for -c.Elliott Hughes
Used in the AOSP x86 host build.
2018-12-19readlink: add --canonicalize synonym for -f.Elliott Hughes
Internally, Google uses all the longopts; Android currently only uses this one. I was tempted to add the others, but went with "add them when a toybox user needs them" rather than "add them when you've seen them used".
2018-12-04Clean up some --help formatting.Elliott Hughes
Be consistent about upper versus lower case. (Upper seems to have the majority, so I went with that, though I'm happy to provide the opposite patch as long as we're consistent!) Be consistent about using \t. (Though saving a few bytes seems like it might be better done in the code that generates help.h rather than directly in the source, since tabs make careful ASCII art layout hard enough that we regularly have things misaligned.) Remove trailing periods (most of which seem to have been added by me). Always use the US "human readable" rather than my British "human-readable", and be more consistent about declaring whether we're showing multiples of 1000 or 1024. Just say "verbose" rather than adding a useless "mode" or "output".
2018-11-19A few more GLOBALS() single character argument style conversions.Rob Landley
2018-11-17Convert more GLOBALS argument vars to the new single letter code style.Rob Landley
2018-11-13Instead of #warning about the musl bug, work around it (wrap syscalls ourselves)Rob Landley
2018-11-02Convert more option vars to the new (single letter) coding style.Rob Landley
2018-10-30Promote watch to other.Rob Landley
2018-10-21Add % to lib/args.c (long time in milliseconds), add xmillitime(), redoRob Landley
xparsetime() not to need floating point, adjust callers.
2018-10-20Some more --help consistency.Elliott Hughes
From eyeballing the output of for i in `./toybox | tr " " "\n"` ; do ./toybox $i --help ; done | \ grep '^-' | grep -v "\t"
2018-10-07Fix build break on x32 target.Rob Landley
2018-10-04blockdev: BLKRAGET returns 512-byte sectors.Elliott Hughes
Bug: https://github.com/landley/toybox/issues/104
2018-09-29Command not in pending or example should probably default y.Rob Landley
2018-09-26Don't claim to have i2cget non-byte mode support yet.Rob Landley
2018-09-21Promote i2ctools.Rob Landley
(Fixed one declaration not at start of a block.)
2018-08-21Use \033 instead of \e gcc extension.Rob Landley
2018-08-19Oneit shouldn't reboot the system if it's not pid 1.Rob Landley
2018-08-17Make microcom use set_terminal() and move speed setting into set_terminal().Rob Landley
2018-07-04Add xgetrandom() with probe for new system call (else open/read /dev/{,u}random)Rob Landley
2018-07-04diff: add timestamps to the ---/+++ lines and --color.Elliott Hughes
(My apologies for mixing these two unrelated changes up.)
2018-06-28stat: `stat -f` uses %T rather than %t.Elliott Hughes
(At least for coreutils 8.28.)