aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-14Fix multiline case/esac parsing, make syntax_err() exit non-interactveRob Landley
contexts like scripts, and tweak debug scaffolding.
2020-09-12Replace HR_COMMAS with HR_NODOTRob Landley
The comma thing turned into an internationalization can of worms, don't go there. Keep the "show megabytes on systems with >10G" logic which includes not showing 0.0 for single digit values.
2020-09-10Add ipv6 support to wget.cChris Sarra
2020-09-10blkid: don't show empty tags.Elliott Hughes
The util-linux blkid (even if explicitly asked with -s) won't show you a tag with no value.
2020-09-09Use flag macros and document -rn options.Rob Landley
2020-09-09Use the infrastructure properly.Rob Landley
2020-09-09Cleanup of logger.c. (Asked for more testing on the list.)Rob Landley
2020-09-09Attempt internationalization of HR_COMMAS, 9 digit memory sizes for top,Rob Landley
and use the comma format when selected even if <3 digits (no 0.0M)
2020-09-08logger.c was failing to properly log local0-local6 facilities, due to a ↵Chris Sarra
string parsing error. This patch enables proper local facility handling.
2020-09-05Fix segfault for sh -c 'echo {a..Z}'Rob Landley
Bash produces different output for that test, but I'm not sure I care? http://lists.landley.net/pipermail/toybox-landley.net/2020-September/011990.html The problem is parse_word() guarantees its output's quotes/escapes are completed, but brace expansion happens after parse_word() and thus violating assumptions later code depends on to not do redundant error checking. The easy fix is to escape punctuation produced by parse_word (which in bash can only happen when you span upper and lower case ranges so "\" is the only interesting character). I could special case this to match bash exactly, but I'm waiting for someone to complain instead.
2020-09-04Autodetect pid length.Rob Landley
2020-09-04Add commas to top display, and adjust memory units to megabytes if >10G RAM.Rob Landley
2020-09-03Implement brace sequence expressions ala {a..z} and {1..37..2}Rob Landley
2020-09-02SIGHUP to init.c triggers inittab reloadChris Sarra via Toybox
2020-08-31Implement select.Rob Landley
2020-08-31Implement case/esac, add more wildcard tests.Rob Landley
2020-08-27xparsedate: support default date(1) output format.Elliott Hughes
This round trip occurs in practice with $KBUILD_BUILD_TIMESTAMP in kernel builds.
2020-08-25simplifyRob Landley
2020-08-25tar.test: fix the -Igzip test to work with toybox file.Elliott Hughes
GNU says "/dev/stdin" for the filename, but we say "-".
2020-08-24tar: add -I (--use-compress-program) support.Elliott Hughes
This also changes the other compression options (such as -j) so that we pass no arguments for compression and just -d for decompression, which is what -I does to its filter and which appears sufficient. (I think I used -dc before just out of habit, since that's what I've been typing on the command line for decades.)
2020-08-24Tweak error message.Rob Landley
2020-08-24Cleanup watchdog.c, as described on the list.Rob Landley
2020-08-24Introducing toys/pending/watchdog.cChris Sarra via Toybox
This patch introduces a simple watchdog implementation for toybox. We send the appropriate ioctls to set the relevant timeouts, and intercept signals to safely shut down if required.
2020-08-23mv should only prompt for file being unwriteable when stdin is a tty.Rob Landley
2020-08-23Peter McConalogue pointed out that cp/mv -i prompt should default N.Rob Landley
Also, the failing mv test was because posix says to prompt when mv-ing over an unwriteable file only when stdin is a tty (but -i prompts either way)
2020-08-23Teach VERBOSE to do more for xpect.Rob Landley
2020-08-21xputsl: fix the *other* line in this function :-)Elliott Hughes
Some of the grep tests were still failing because we weren't flushing stdout --- xflush takes a bool that says whether to actually flush, so we need to pass 1, not 0.
2020-08-21Fix cp -P to not follow symlinks.Martin Stjernholm
Also fix help text to say that it is not the default.
2020-08-21Honor --no-preserve-owner for archive creation, and tidy up header comments.Rob Landley
2020-08-21cpio: fixes for Android kernel build.Elliott Hughes
Allow -pd to work by changing -p from an option that takes an argument to an option that implies there will be an argument (that is, `-pd x` is `-p -d x` with x being the directory for -p, rather than `-p d x` with d being the directory, as we previously interpreted it). Fix -d (aka --make-directories) to not be a no-op. Previously we acted as if this was always on. Accept --quiet and effectively just ignore it, since toybox cpio doesn't seem to produce any output that --quiet would suppress.
2020-08-20Minor roadmap intro tweak.Rob Landley
2020-08-20xputsl: write to stdout, not stdin!Elliott Hughes
This is why the tests have been failing since 42303209f44a335025b9cd1dbe5dd2f3069f2e99.
2020-08-19Cleanup symlink handling.Rob Landley
2020-08-19Patch out memory leak in tar.cChris Sarra
2020-08-19Typo.Rob Landley
2020-08-19xputsl: remove unused variable.Elliott Hughes
2020-08-18Add missing longopts alias for chgrp/chown and rmdirAntoni Villalonga
Heavily used long params under some contexts for already implemented options: chgrp/chown: Add alias '--no-dereference' for '-h' rmdir: Add alias '--parents' for '-p'
2020-08-15If we fflush(stdout) first we can just write to filehandle.Rob Landley
2020-08-14cleanup: use FLAG() macros, inline parse_arguments(), STDIN_FILENO is 0.Rob Landley
2020-08-13list_signals: fit to window size.Elliott Hughes
Helps for terminals narrower than 80 columns (such as ConnectBot on a current Android device).
2020-08-13toybox: fit list of commands in terminal width.Elliott Hughes
This can still be pretty ragged because it just leaves space for the longest name at the end of each line rather than measuring the name that actually comes next, but at least with this change we never over-run. I noticed this because ConnectBot on my current device gives me a 60-column terminal. busybox seems to do this, though it seems to actually measure, judging by how close it gets to the margin. That doesn't seem worth the effort though?
2020-08-12Don't mess with root_download in distclean.Rob Landley
Yeah, it means distclean doesn't delete _everything_, but in this case it's intentional, and "remove the empty directory but not if it has contents" isn't worth fighting with make's error reporting over.
2020-08-12getty: ensure utmp is updated.Elliott Hughes
The key issues here turned out to be that getty is responsible for creating the file if it doesn't exist, and that the -H flag doesn't control whether utmp is updated, but whether or not to override the hostname within the utmp entry. While I'm here switch to the more modern utx APIs that all the non-pending parts of toybox use, and remove the duplication.
2020-08-11Fix spelling errorsAntoni Villalonga i Noceras
2020-08-07People have been having trouble finding the toybox web page (despite beingRob Landley
the first google hit for "android toybox"), and want toybox --help to mention it. I was referred to https://github.com/landley/toybox/issues/50 So add a URL to toybox --help. While I was there, make unrecognized commands (like toybox -?) suggest "toybox --help", move the install instructions to the FAQ page (with a second link from toybox --help), and generally tighten up the help text. Also, "toybox -*" is no longer a synonym for --long. Oh, and I fixed some build dependencies when Config.in changes.
2020-08-05toysh: next round of wildcard plumbingRob Landley
2020-08-04date.test: add more UTC offset tests.Elliott Hughes
Rob's code supports more formats than mine did, so add the extra tests.
2020-08-04Inline convert_tz()Rob Landley
2020-08-04xparsedate: support UTC offsets.Elliott Hughes
Requested in https://github.com/landley/toybox/issues/130, quoting an old version of the toybox help. This is also supported by coreutils. Set $LANG to C in the date tests so that they pass with TEST_HOST=1 (they were already failing for me, presumably related to a newer glibc).
2020-08-04Toysh signal handling adds a few EINTR recovery corner cases to lib.Rob Landley