Age | Commit message (Collapse) | Author |
|
|
|
|
|
This can still be pretty ragged because it just leaves space for the
longest name at the end of each line rather than measuring the name that
actually comes next, but at least with this change we never over-run.
I noticed this because ConnectBot on my current device gives me a
60-column terminal.
busybox seems to do this, though it seems to actually measure, judging
by how close it gets to the margin. That doesn't seem worth the effort
though?
|
|
the first google hit for "android toybox"), and want toybox --help to
mention it. I was referred to https://github.com/landley/toybox/issues/50
So add a URL to toybox --help. While I was there, make unrecognized commands
(like toybox -?) suggest "toybox --help", move the install instructions
to the FAQ page (with a second link from toybox --help), and generally
tighten up the help text. Also, "toybox -*" is no longer a synonym for --long.
Oh, and I fixed some build dependencies when Config.in changes.
|
|
adding symlink indirection support put the basename() in the wrong place.
|
|
|
|
|
|
Fixes make sh && ./sh -c 'toybox ls'
|
|
|
|
(A git build takes it from "git describe".)
|
|
builtin, and add -u.
|
|
|
|
We still prefer C.UTF-8 for predictability, but macOS doesn't have that.
|
|
|
|
|
|
|
|
(Commit 7771e94e2a08 broke it.)
|
|
|
|
Commands that want something different can override this, but it seems like
a fairly minor optimization and write(1) exists if we want to micromanage...
|
|
|
|
|
|
Both positive and both negative should work, even crossing midpoint (which
should never happen on linux) works in two's complement.
|
|
is reserved for the kernel), but technically a pointer is unsigned long.
|
|
"ln -s gsed sed" or similar if you need to use nonstandard names for things.
|
|
|
|
|
|
(only enable character parsing, force utf8, "C" semantics otherwise.)
|
|
|
|
|
|
Signed-off-by: Joyounger <aquanox@163.com>
|
|
|
|
|
|
|
|
|
|
because lookup failure left this->which NULL and error_exit() dereferenced it.
(Oops.)
|
|
Say "toybox" before version string. Tweak sed to preserve lie-to-autoconf.
|
|
apply it to "true" and "false".
|
|
In main.c: used adjusted string with placeholers for removed options (so flag
values don't move based on config, allowing FORCE_FLAGS to work).
In scripts/mkflags.c: test was wrong, a bare longopt never matches a single
letter command, but it was treated as always matching when comparing
allyesconfig vs current config to determine which options were disabled, so
there was a corner case that got the flag values wrong.
|
|
The latest tagged version is 0.7.1.
|
|
<strike>all that tedious mucking about with hyperspace</strike>
stack measuring in ways that confuse security stuff.
|
|
undefined behavior so the optimizer can silently eliminate your entire program.
|
|
|
|
When toybox is installed suid root and invoked by a non-root user for
commands which do not require root privileges, it drops the root
privileges during initialization.
However, since commit afba5b8efd the result check of setuid() was
inverted such that it aborted on success, making toybox unusuable for
non-root users.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
|
|
Calling it 0.7.0 because the fullscreen (cursor/utf8) infrasructure is in now.
|
|
1) Don't try to force re-exec unless we actually dropped permissions.
(Fixes "./toybox mount" when no suid bit on toybox binary, which
previously exited.)
2) Set temporary toys.which value for error reporting.
(Fixes "ln -s toybox mount && ./mount" with CFG_TOYBOX_DEBUG and
no suid bit, which previously segfaulted.)
|
|
|
|
|
|
|
|
Somebody (carsonh on freenode) objected that they were running something
like "toybox test 1 == 2" and couldn't distinguish the test failing from
toybox not having the test command. Why they were running toybox out of
the multiplexer instead of having a test symlink in the $PATH, I couldn't
tell you. (Is "I know toybox is on this system, but don't know how it was
configured" a problem people actually have?)
*shrug* They care about it more than I do, so now you can't distinguish between
the multiplexer not being found and the command the multiplexer tried to
run not being found. Progress!
|
|
|