aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2018-12-23Add grep --colorRob Landley
2018-12-21Fix UDP checksum verification error.Elliott Hughes
From RFC 768, if UDP packet checksum computation yields a result of zero, change it to hex 0xFFFF. The current udhcpc checksum verification would yield false positive for this case. A better way is to compute the checksum with the original checksum field and the result should be zero for good udp packet. Signed-off-by: Yangchun Fu <yangchun@google.com>
2018-12-19First stab at sort -VRob Landley
2018-12-19Fix sort -x attached to a key.Rob Landley
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-19md5sum/sha1sum: add --status and --check, fix --check with multiple files.Elliott Hughes
Annoyingly coreutils and busybox both have the --status functionality, but coreutils only accepts --status and busybox only accepts -s. Although all extant users known to me use --status I've supported both (a) for maximum compatibility and (b) because Rob hates longopts :-) Also, -c/--check don't take argument(s): they alter the interpretation of all the FILE... arguments. I removed a bunch of dead code here, but I couldn't switch us over to loopfiles_lines because I didn't want to regress on the "warn if any check file contains no hashes", and loopfiles_lines doesn't give you any way to recognize that you've moved on to the next file.
2018-12-17Use FLAG() macros in grep.Rob Landley
2018-12-17A couple more grep tests, and slightly use dlist_terminate() for the loops.Rob Landley
2018-12-17Fix remaining grep_tests.Rob Landley
Handling -e by gluing together multiple regexes with | wasn't portable, break down and do a linked list with for loops.
2018-12-15Add sed -iEXT to keep backup files.Rob Landley
2018-12-11Implement --preserve default = mot behavior (fixes segfault when no argument).Rob Landley
2018-12-10nc: add UDP support.Josh Gao
2018-12-10nc: add IPv6 support.Josh Gao
2018-12-09Support embedded NUL bytes in grep output, and free memory leaked per-file.Rob Landley
2018-12-09More grep.tests: make exit code 2 happen when it should.Rob Landley
2018-12-09Fix first grep.test failure (-B + -b not producing middle field).Rob Landley
When necessary, realloc() the line to add 4 aligned bytes of storage at the end, stick the unsigned offset in there, and then fish it back out for display (and add 1 because offset is 0 based and display is 1 based).
2018-12-08Rikk on github asked for the examples back.Rob Landley
2018-12-07macOS: fix getconf(1) build.Elliott Hughes
Several parameters common on Linux are missing on macOS.
2018-12-07Fix mktemp to pass tests.Rob Landley
2018-12-04Add FLAG(x) macro, expanding to (toys.optflags & FLAG_##x)Rob Landley
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-12-04mktemp: more tests, more fixes.Elliott Hughes
I realized (after being questioned about my motivation) that I hadn't added a test for the -u behavior. Adding the missing test confirmed the usual "if there isn't a test, the code is broken", but now I think I actually understand how we're supposed to choose between DIR, $TMPDIR, and /tmp. I've added more tests to back this up, and rewritten the code one more time so that we pass all the tests.
2018-12-04Remove CFG_SORT_BIG, just always do that.Rob Landley
2018-12-03mktemp: fix warning with glibc 2.15.Elliott Hughes
Old versions of glibc had warn_unused_result on mktemp(3), despite it always returning its argument. Still, we can silence the warning and save a line, so...
2018-12-02Fresh implementation of test.c.Rob Landley
2018-11-30macOS: fix uname.Elliott Hughes
Don't hard-code Linux's buffer size.
2018-11-30Tweak comments.Rob Landley
2018-11-30macOS: move struct sysinfo out of GLOBALS.Elliott Hughes
Even if we don't build ps, we can't have a Linux-only struct in GLOBALS. The obvious alternative to this would be to have a fake struct sysinfo in lib/portability.h. Since having a real macOS replacement for sysinfo(2) seems unlikely at this point, I went this route instead.
2018-11-29Marius Adaskevicius pointed out mdev -s should follow symlinks.Rob Landley
2018-11-28mktemp: add -t and fix behavior.Elliott Hughes
The new tests pass on the host (coreutils 8.28) and with toybox after this patch is applied.
2018-11-28macOS: replace local strnstr with strcasestr.Elliott Hughes
bionic, glibc, macOS, and musl all have strcasestr (see http://man7.org/linux/man-pages/man3/strstr.3.html). macOS (via BSD) has a strnstr that does what strnstr sounds like it should do by analogy with strnlen and strncpy. So we at least need to rename strnstr, but it probably makes more sense just to switch to strcasestr instead.
2018-11-28head: add --bytes synonym for -c.Elliott Hughes
Used by OTA package scripts in AOSP, and quite widely inside Google. I've also added --lines because it seems crazy to support one and not the other, and --lines is also widly used inside Google too.
2018-11-26file: small do_regular_file optimizationReverend Homer
There are a bunch of if (!memcmp(s+28,...)) lines, let's make them "else if"
2018-11-20Eduardas Meile asked umount to ignore -c due to broken init systems.Rob Landley
2018-11-19A few more GLOBALS() single character argument style conversions.Rob Landley
2018-11-19Eduardas Meile reported "The -Werror=format-security flag is applied byRob Landley
default in Yocto 2.6 Thud release" and identified several error_exit() and friends that should use the _raw versions.
2018-11-17Convert more GLOBALS argument vars to the new single letter code style.Rob Landley
2018-11-17hostname: add -s/-f and -d.Elliott Hughes
At least the AOSP build doesn't try to _set_ the hostname...
2018-11-17cmp: add --quiet and --silent synonyms for -s.Elliott Hughes
I actually only need --quiet to build AOSP, but it seems weird to add --quiet as a synonym for -s but _not_ add the more obviously related --silent.
2018-11-17dirname: support multiple arguments.Elliott Hughes
2018-11-17Volodymyr Medvid reported that install -d doesn't honor -o or -g.Rob Landley
2018-11-17Remove the "const" and "restrict" nonsense so it compiles without tainting lib.cRob Landley
2018-11-17Update bc for 1.1 releaseGavin Howard
2018-11-13Instead of #warning about the musl bug, work around it (wrap syscalls ourselves)Rob Landley
2018-11-13basename: -s SUFFIX.Elliott Hughes
AOSP doesn't need -a specifically, but since it's needed for -s we may as well accept it too.
2018-11-13touch: ignore -f like everyone else.Elliott Hughes
I assume it's actually meaningful on BSD/macOS and makes them behave like us, but I don't have access to a Mac to test that theory.
2018-11-13mkdir: accept both --parent and --parents as synonyms for -p.Elliott Hughes
Both occur in AOSP. (Until I looked, I had no idea there were _two_ long versions of -p...)
2018-11-02Convert more option vars to the new (single letter) coding style.Rob Landley
2018-11-02Trivial cleanup of uniq.c.Rob Landley
2018-10-30Promote watch to other.Rob Landley