Age | Commit message (Collapse) | Author |
|
Plus new tests.
|
|
Very few places actually check for errors from emit, and I actually see
the same endless loop from "sed (GNU sed) 4.4" on current Debian, so I'm
not sure this isn't Broken As Designed, but an endless loop spewing
"short write" (or saying nothing, in the case of GNU sed) really doesn't
feel like useful behavior in face of EPIPE, which really isn't going to
fix itself. Certainly not being able to run the sed tests to completion
is pretty annoying --- which is why, unless we remove this test as
invalid, we should probably also add a SKIP_HOST=1 to the "b loop" test.
Note that even with this fix you'll see the error twice:
sed: short write: Broken pipe
sed: short write: Broken pipe
Once from the first = command to fail, and then another from the !FLAG(n)
flush of the pattern space.
|
|
The test for \N where N was larger than the number of capturing groups
in the regular expression was incorrect, and firing for cases such as
matching __(ARM_)?NR_([a-z]*) against __NR_read, where the first group is
empty (because it failed to match) but the second group did match "read".
Use regex_t's re_nsub for the error check, and treat rm_so == -1 as a
signal to just copy nothing into the result.
(Found trying to build minijail in AOSP.)
|
|
Add support for more input formats, primarily the ISO formats used by
the AOSP build.
I've improved/added to the tests a bit to cover these changes, and to
explain the reasons for the various remaining test failures (none of
which are regressions caused by this patch).
|
|
|
|
|
|
remove more unnecessary typecasts.
|
|
reversed so the mask is 1<<(x&7) instead of 1<<(7-(x&7)). Can't _quite_
make printString() use unescape() out of lib because \q is a thing?
|
|
|
|
|
|
|
|
|
|
I don't know why NDK llvm is complaining about adjtime(), toys.h is #including
<sys/time.h> which http://man7.org/linux/man-pages/man3/adjtime.3.html says
is the right header...?
|
|
|
|
|
|
|
|
|
|
Bug: http://b/123902291
|
|
|
|
Also add a TODO for the (undocumented, half-finished) -a option.
|
|
record-commands: Delete old log, only delete $WRAPDIR at end if path wasn't
externally supplied, don't add the rm at the end to the log.
logwrapper.c: don't skip filename when measuring space for command line malloc,
use argv[0] instead of /proc/self/exe (which is realpath -f).
|
|
|
|
|
|
|
|
Set SO_REUSEADDR when listening so that we can immediately reuse ports
that are no longer being listened upon, instead of having to wait 60
seconds for the socket to be shutdown after being closed (even on
localhost!).
|
|
|
|
|
|
into display function, use unsigned length so output lines can be up to 4g each.
|
|
|
|
I accidentally added a tab in xargs.c, so as penance I'll clean up all
the tabs.
|
|
Broke the bionic build:
external/toybox/toys/net/netcat.c:188:37: error: incompatible pointer types assigning to 'sigjmp_buf *' (aka 'long (*)[33]') from 'jmp_buf *' (aka 'long (*)[32]') [-Werror,-Wincompatible-pointer-types]
if (toys.optflags&FLAG_L) NOEXIT(child = XVFORK());
^~~~~~~~~~~~~~~~~~~~~~~~
external/toybox/lib/lib.h:375:19: note: expanded from macro 'NOEXIT'
#define NOEXIT(x) WOULD_EXIT(_noexit_res, x)
^~~~~~~~~~~~~~~~~~~~~~~~~~
external/toybox/lib/lib.h:367:16: note: expanded from macro 'WOULD_EXIT'
toys.rebound = &_noexit; \
^ ~~~~~~~~
1 error generated.
|
|
Not yet setting, no server/multicast, should validate source address...
|
|
If table grows >64 entries XX needs to change, but it can't be 128 yet
because the slot value is a signed char. Currently 59 entries in table...
|
|
Only -d and -f should cause a DNS lookup. The rest should just act
directly on the result of gethostname(3). Encountered with the AOSP
buildbots' use of nsjail, but tested with both the Debian hostname and
toybox hostname thus:
```
unshare -Uunr sh
hostname android-build
hostname
hostname -s
hostname -d
hostname -f
```
(Not sure how to add that to the tests.)
Also fix a SEGV with -s if the hostname doesn't contain a '.'.
Also switch to the FLAG() macro.
Also add the missing -s to the synopsis.
Bug: http://b/123123255
|
|
Implement -p, -t, and -r.
Add some missing tests.
Move -L and -x back to TODO since they're not implemented and I haven't
yet even understood what they're supposed to do.
|
|
|
|
|
|
|
|
Patch dates are optional these days, and I should properly work back from the
end and only peel off properly formatted tab+date, but "tab followed by
digit" is probably good enough and nobody's ever complained about just tab.
And we still don't support patching filenames with newlines in them...)
|
|
|
|
Used in the AOSP x86 host build.
|
|
Used to construct SELinux policies in the AOSP build.
I left loopfiles_lines with its hard-coded '\n' because although cut(1)
also has a -z option, I can't find any case where it's used in any of
the codebases searchable by me. (And fmt(1), the other user, doesn't
even have the option.) YAGNI.
Bug: http://b/122744241
|
|
|
|
For a definition of "fix" that's even _more_ of a deviation from posix, but
matches what debian does...
|
|
Used by AOSP build.
Also switch to new FLAG macro.
Bug: http://b/122739027
|
|
Without this change, a successful modprobe on Android exits with status 1
because Android doesn't have /etc/modprobe.conf or /etc/modprobe.d/ ---
neither of which seem to be required on desktop Linux either.
|
|
|
|
It's in the Linux 4.20 kernel headers.
|
|
If we do, we won't flush, and we might not output everything.
|
|
Otherwise in verbose mode we output bogus errors instead of `Success`.
|