Age | Commit message (Collapse) | Author |
|
with memset() instead of = {}, and move TT.alarm to local variable.
|
|
I'd put the rtc_wkalarm struct in the globals to get it zeroed for
free, but since there's no such type on macOS, that breaks the
build. Rather than define a bogus struct in portability.h, I've
gone for making it an explicitly-zeroed local. (And I've sorted the
locals largest-first.)
Note that the use of struct rtc_time as if it was the same as struct
tm in this code follows the existing code in hwclock, but I worry
that we're going to have trouble with that because of the extra
tm_gmtoff and tm_zone fields in struct tm. But that's a worry for
another day...
This patch also removes the CONFIG_CP_PRESERVE from the macos_miniconfig,
since that option was removed a while back.
|
|
|
|
Some of the bringup folks are debugging RTC issues and asked for this.
Rather than duplicate the weird xtzset dance with mktime, I've factored
that out into a new xmktime that takes a boolean for whether to use UTC
or local time.
Otherwise, the slight cleanup of hwclock.c is entirely optional. The
only functional change there is that util-linux 2.34's hwclock uses ISO
time format, which is the usual toybox preference anyway, so I've
switched it over to that rather than ctime(3).
Bug: http://b/152042947
|
|
|
|
|
|
|
|
POSIX chose I rather than i as the case-insensitive flag for s///,
because apparently more seds support I than i. We're allegedly alone in
only supporting i. (On the Mac, sed supports neither.)
Strictly this isn't *currently* in POSIX, but it's been accepted for
issue 8.
Bug: https://austingroupbugs.net/view.php?id=779#c2050
|
|
|
|
|
|
Used by the Linux kernel build when copying kernel headers to
kernel-headers.tar.gz.
Bug: http://b/152244851
|
|
Rethink syntax_err a bit. Try to track top level shell pid for $$
including passing it to nommu subshells. Reset hfd more often so it
doesn't climb endlessly. Leak fewer filehandles and detect more
filehandle exhaustion errors. Replace skip_quote() with a second
mode for parse_word(). Fix $() and implement $(<input).
|
|
|
|
Turns out I move around using these a lot too. I do tend to have very
tall terminals...
|
|
The forward movement seems okay (no worse than the equivalent arrow key
movement), but I haven't yet worked out how to move the cursor back when
necessary.
Also fix the location of the cursor in ex mode, and stop showing ex
commands in bold.
|
|
|
|
|
|
|
|
|
|
In case I'm not yet in the running for the most pedantic change of this
release, I think the "days of the week are written with initial capitals
in English" subset of this patch is a strong contender.
(Found via `toybox help -a | ispell -l | sort | uniq`.)
|
|
Looks like I left off half way through this!
Also default readelf to n while it's still in pending.
|
|
We were incorrectly passing a pointer to a pointer of an
unsigned long long, when we just wanted to pass a pointer
to the unsigned long long. This is especially bad on 32-bit
systems, where we're then writing a 64-bits into a 32-bit value
within ioctl.
We fix this to pass a pointer to the unsigned long long.
Test: On 32-bit device, no longer see native crash from toybox
Bug: http://b/151311535
Signed-off-by: Elliott Hughes <enh@google.com>
|
|
to functions that aren't entry points, and collate debug code at top.
|
|
|
|
The shift was a remnant from when BLKGETSIZE (which measures in
blocks) was being used on Linux. The Mac has two separate ioctls
for block count and block size, which we're already multiplying
together. And on Linux we're using BLKGETSIZE64, which returns a
result in bytes, not blocks. So lose the shift.
|
|
As soon as mmap() is done, we can close the fd. xmmap() also will exit
rather than return failure so we can remove that check, and fdlength()
will fall back to lseek() so there's no need to have the fallback in vi
itself.
Spotted because the `TT.fd = 0` in linelist_unload() seemed suspicious;
-1 would have been more natural.
|
|
The recent re-enablement of the BLKGETSIZE64 code broke the Mac
build. Use the equivalent <sys/disk.h> ioctl() pair instead.
|
|
I came here because the new -Wno-unreachable-code-loop-increment warning
didn't like the for loop on line 86. That loop is indeed not necessary.
Use strend() to do a string suffix match.
Use memmem() to search. It's available on macOS and Android by default,
but it's behind _GNU_SOURCE for glibc, so add that to portability.h.
Output the tags in the same order as the Debian modinfo.
I've left "parmtype" in even though the Debian modinfo doesn't output it
at all.
Also fix the tests so that they work on a device that has modules for
multiple kernels installed (like my laptop) --- make sure that the two
modules we pick come from the same kernel.
|
|
Not entirely debugged, but more or less there-ish.
|
|
add: test for -D
fix: b/c/d/FILE not copying into a/ with -D option
dirname() is not needed when handling FLAG(D) since filename under
src or dest should not be changed.
github.com/landley/toybox/issues/165
|
|
|
|
|
|
The question "how does this toybox command behave" should have an answer,
not "it depends". (Also, --preserve at the start of a paragraph was confusing
config2help.c into thinking it was an option paragraph.)
|
|
|
|
|
|
It builds binutils first, so ld being there doesn't mean cc finished.
|
|
|
|
|
|
|
|
|
|
|
|
(Update to the 64 bit API while we're there. And yes, I checked in the
kernel, it's 512 byte units.)
|
|
Add -e, and stop documenting no-op -W.
Fix sign issues, and add a few extra sanity checks.
Redo the BE/LE 16/32/64 reading.
Remove the NOSPACE=1 from the -l test, and fix the -l code to match the
binutils output. Most usefully, this fixes the weird way the NULL
section's empty name would cause misalignment in the section to segment
mapping output.
Add a test for -s (symbol table).
|
|
|
|
These didn't work on a system where readlink is a symlink to toybox,
ironically.
|
|
|
|
Place function calls in order so that there is no unneeded
declarations, clear some whitespace stuff. Add few commands
that are commonly used.
cleanup: reorganize functions
cleanup: some whitespace stuff
add: vi_o vi_O vi_I
fix: stop at edges when h and l
fix: fix dd not updating screen
fix: render after all delete moves
|
|
|
|
Also fix another bug where we were testing `set` twice.
Fixes https://github.com/landley/toybox/issues/172.
|
|
|