aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-07xregcomp: add the specific regex we couldn't parse to the error message.Elliott Hughes
This makes it more likely that you can actually debug something like "sed: bad regex: empty (sub)expression" or "sed: bad regex: parentheses not balanced" from a build failure log, where you don't necessarily know where the failure came from. This also seems like it might be useful generally, although GNU grep doesn't include this detail in its error messages, and busybox doesn't even seem to notice that regcomp() failed? (Realistically if the Android build team wants to move forward with "one true regex implementation", we're going to have to add some GNU-isms to the Android regex implementation. But we'd need to find them first! Note that the two examples given above are real examples from failed buildbot builds, but they occur early in the respective builds so there are likely many more to look at after these. Interestingly, the first of the two appears to be the more general case of something disallowed by POSIX that xregcomp() already has a workaround for.)
2020-11-06portability.h: ensure _FILE_OFFSET_BITS=64 takes effect.Elliott Hughes
I added a #include above this, which caused subtle breakages on 32-bit systems. Move it to the top of the file to fix it and avoid making a similar mistake in future.
2020-10-29Make it easier to switch regex implementations.Elliott Hughes
One reason to use toybox on the host is to get the same behavior across Android/Linux/macOS. Unfortunately (as we've seen from a few bugs) one area where that doesn't quite work is that toybox uses the libc regular expression implementation. That's fine, and mostly what users want, but those folks trying to get the exact same behavior everywhere might want to switch in a known regex implementation (bionic's NetBSD regex implementation, say) for increased consistency. That actually works pretty well, but portability.h has an #ifndef test for REG_STARTEND before including <regex.h> that gets in the way. To make up for that, this patch removes the unnecessary #include <regex.h> from grep.c itself.
2020-10-28Tweak help text again.Rob Landley
2020-10-24Tweak release notes.0.8.4Rob Landley
2020-10-24Silence kernel messages that stomp the command line after boot.Rob Landley
2020-10-24Don't "quiet" the kernel builds. You can KARGS=quiet if you like.Rob Landley
2020-10-24Past time for 0.8.4Rob Landley
2020-10-24Just the FAQ's, ma'am.Rob Landley
2020-10-23Fix endless recursion bug on nommu for sh -c 'echo $(echo)'Rob Landley
2020-10-22Fix thinko.Rob Landley
2020-10-22Add nommu-able xvdaemon() and use it to remove some TOYBOX_FORK dependenciesRob Landley
2020-10-21blkdiscard: fix uninitialised offsetPatrick Oppenlander
2020-10-21Tweak watchdog help.Rob Landley
2020-10-21Promote watchdog.Rob Landley
2020-10-20Typo.Rob Landley
2020-10-20Can't call daemon() on nommu.Rob Landley
2020-10-19More tests, and a workaround to pass one of them.Rob Landley
(The bug is that "echo hello \" followed by just enter should end the $PS2 state but it persists when the line is empty because resulting collated line still ends with \ so it wants another line.)
2020-10-19Do an "exec >/dev/console 2>&1" early in mkroot init so we haveRob Landley
debug output if anything later in the script fails.
2020-10-19Implement source, fix empty ${x-alt}, use %zu as suggested by e5ten.Rob Landley
2020-10-18Add sha3sum.Rob Landley
2020-10-15rtcwake: default to UTC if /etc/adjtime can't be readPatrick Oppenlander
This is consistent with the util-linux implementation.
2020-10-15hwclock: default to UTC if /etc/adjtime can't be readPatrick Oppenlander
This is consistent with the util-linux implementation.
2020-10-15stty: don't mangle c_iflags.Elliott Hughes
Fixes https://github.com/landley/toybox/issues/251 where `stty 300` was mangling c_iflags to 0x300 because even if we don't match a full hex specification of struct termios, sscanf() will have overwritten the first value, which is c_iflag.
2020-10-15chattr.test: don't fail on f2fs with compression enabled.Elliott Hughes
f2fs with compression enabled only lets you `chattr +c` on an empty file.
2020-10-15Patrick Oppenlander suggested watchdog also catch SIGINT.Rob Landley
2020-10-15Three trivial code cleanups and a comment tweak.Rob Landley
2020-10-15Nitpicky cleanup.Rob Landley
We need to *name = 0 explicitly for the !name && !statless case, so don't need the +1 in memset that was only zeroing in the !name && statless case.
2020-10-15dirtree_path: always honor size request.Elliott Hughes
tar asks dirtree_path() to reserve space for a trailing '/', but recent changes broke that for the case that was resolving to just a strdup(). Caught by `export ASAN=1` and `make test_tar`.
2020-10-14Fix && || traversing loops, and typecast past size_t being stupidly typed.Rob Landley
2020-10-14Implement ${var/search/replace}Rob Landley
2020-10-13Fix up ${x%y} ${x^y} ${x,y} and add tests.Rob Landley
2020-10-12Fix bug introduced last commit: the if (name) else case needs to zero it.Rob Landley
2020-10-11toysh: more variable/wildcard plumbing and tests.Rob Landley
2020-10-06The non-recursive dirtree_path wasn't stripping a trailing / from initial path.Rob Landley
2020-10-06toysh: Yank debug scaffolding.Rob Landley
2020-10-06toysh file wildcards: echo toys/*/*.c works now.Rob Landley
2020-10-05Update i2ctools.cchrisrfq
Fix i2cdetect parameter reading so "last" value is read from correct argument.
2020-10-04Implement ${x#y} and ${x##y}Rob Landley
Debug wildcard * match, teach skipslash() to fill out a wildcard deck, make collect_wildcards() flush remove the parsing-only 0th entry.
2020-10-03Return empty string for dirtree_path() of "" (instead of NULL).Rob Landley
2020-10-03Non-recursive dirtree_path() needs to return start of allocationRob Landley
when passed in extra allocation length or else free() gets very unhappy.
2020-10-02Cleanup pass on route.cRob Landley
2020-10-01Debug wildcard plumbing.Rob Landley
2020-09-27Implement wildcard match plumbing. (Not yet fully debugged.)Rob Landley
2020-09-26Teach dirtree that top level "" node is "." but not show in dirtree_path().Rob Landley
2020-09-23Have read_password() read from tty device, handle ctrl-c and ctrl-d.Rob Landley
2020-09-23Only attempt to truncate regular files in dd.Rob Landley
2020-09-23Add ftruncate logic to handle non-regular filesChris Sarra
ftruncate was failing on device files, leading to whole dd.c failures. This patch allows us to dump device files.
2020-09-23Cleanup pass on stty.cRob Landley
2020-09-23Chris Sarra pointed out that nerfing xprintf() so it doesn't actually flushRob Landley
broke the password: prompt.