Age | Commit message (Collapse) | Author |
|
Two "is never used uninitialized" and one "we don't trust you to get clearly
documented operator precedence right". (The compiler may not "suggest".
Every time I go "abc && def || exit 1" in the shell it means I know the
operator precedence _and_ the short-circuit rules, which are the same as
C here. This is a warning aimed at C++ developers, it should not be enabled
for C.)
|
|
|
|
|
|
|
|
Also be a bit more consistent about `COMMAND [ARG...]` in usage text.
|
|
|
|
This one with a little cleanup of unnecessary duplication.
|
|
|
|
|
|
|
|
|
|
Also add a test, and add a test for timeout now it's been fixed.
|
|
|
|
|
|
Sunday's transition in the US broke a bunch of the tests. Worse, it
broke some of the QA folks' scripts. Finally, the boil that is date's
handling of time zones and daylight time has come to a head...
This patch fixes the newly-failing tests *and* the other tests that were
checked in failing to serve as TODOs.
I've resolved the test TODOs about whether implied year/century in POSIX
format should mean the current year or 1900 in favor of the current
year. Both busybox and coreutils agree, and Rob fixed the code recently
so toybox agrees too, but without fixing the tests.
I've switched tests from Europe/London to Europe/Berlin to avoid
disagreements between C libraries about whether to say "GMT" or "UTC"
when daylight savings is not in force.
The majority of this patch implements what I'd been unsuccessfully
trying to explain on the list: that to correctly implement the distinct
input and output time zones (as demonstrated in the three failing tests
we've been carrying around for a while), we should switch to working
with time_t internally rather than struct tm. I've also added the code
to temporarily switch to the input time zone (and back again).
All the tests now pass.
|
|
|
|
|
|
|
|
|
|
--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.
|
|
|
|
|
|
stdin/stdout filehandles.
|
|
Tested manually on an Android device with:
adb shell find /system -context u:object_r:wait_for_keymaster_exec:s0
adb shell find /system/bin -context '"*key*"'
adb shell find /system/bin -context '"*tool*"'
|
|
It's in the Linux 5 kernel headers. If, like me, you'd never heard of
it:
https://www.phoronix.com/scan.php?page=news_item&px=C-SKY-Approved-Last-Arch
|
|
|
|
|
|
Dear gcc: if (i || node=blah) x = i ? blah : node; Don't complain "node may
be used uninitialied", it can't be. That warning is a gcc bug. (I should add
a node = node to the initialiation to shut up the warning, but gcc has failed
to emit "may be used uninitialized" reliably for 15 years and it still does.)
|
|
|
|
|
|
|
|
|
|
(resulting in 400% CPU with 4 threads), and add a couple comments.
|
|
|
|
More consistent tense, capitalization, and punctuation. A few commands were
missing an introductory line, so I copied those from the first comment
line.
|
|
|
|
Intended to replace Android's toolbox `r`, but behaving more like a
drop-in replacement for busybox's `devmem`.
|
|
Do the FLAG() and short argument variable cleanups while we're there.
|
|
|
|
|
|
We hadn't updated the output in -b mode ever since I broke this in 2016.
Bug: http://b/126347053 "top doesn't seem to update the output when run in batch mode (-b)"
|
|
|
|
|
|
This one actually introduced by my last cleanup. (But helpfully pointed
out by the machines when I tried to upload my last cleanup to the AOSP
gerrit...)
|
|
|
|
|
|
|
|
|
|
mcookie simply prints out 16 bytes of entropy in hexadecimal; it is typically
used as the source for the "MIT magic cookies" that X11 uses for "secure"
connections.
The only implementation I know of is in util-linux; the problems with its
documented behavior motivated me to write an alternate implementation.
Specifically, getting 128 bytes from the kernel and finding the MD5 sum is
not a sane PRNG, especially when only 16 bytes are needed.
|
|
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.
|