aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-17ls: Ensure file names are separated by 2 spacesAndrew Ilijic
We need two spaces between filenames because that is the convention followed by other implementations. More importantly, if we do not have two spaces, certain Unicode file names cause filenames to run together. In Unicode, combining characters come before the character they modify. If a filename ends in a combining character, the combining character attaches to the space that follows it, causing the space not to be visible. Having a two-space gap stops the above issue from happening. For context and a bit more information, see mailing list link below. https://www.mail-archive.com/toybox@lists.landley.net/msg05986.html
2019-10-16Fix NOSPACE tests.Rob Landley
2019-10-16Simple ps smoketest.Rob Landley
2019-10-15In-passing cleanup and add a NOP -P.Rob Landley
2019-10-15Off by one error when you try to run a command through two symlinks.Rob Landley
2019-10-14Make cmp work with 1 argument (implicit - as second argument).Rob Landley
2019-10-14Freshen up first half of roadmap.Rob Landley
2019-10-14losetup: Fix null-termination of src string instead of dest after copyAlessio Balsini
The function loopback_setup(), after copying the loopback device name with xstrncpy(), ensures the null-termination of the string by forcing its last byte to 0. Unfortunately, this operation: - was probably intended to null-terminate dest instead; - does not affect the program execution because src is free()d right after; - if the size of src is smaller than the offset of the written zero, it modifies an unknown byte in the heap. Drop the null-termination line to fix the issue: xstrcpy() automatically null-terminates dest, or fails if the size of src is bigger than the the requested number of bytes to copy. Signed-off-by: Alessio Balsini <balsini@android.com>
2019-10-12Make cmp.test pass with TEST_HOST on systems that gratuitously violate posix.Rob Landley
2019-10-12Sigh, second attempt at removing strlen() from strstart().Rob Landley
2019-10-12Don't need the second variable, and put the comment back.Rob Landley
2019-10-12Fix argless find segfault.Denys Nykula
Inline array becomes garbage outside the if.
2019-10-12hostname: fix error reporting.Elliott Hughes
The <netdb.h> functions have their own errno :-(
2019-10-11Fix same spurious test failures that were affecting killall,Rob Landley
and silence "killed" messages from the shell by forking in a subshell.
2019-10-11Tweak clean to delete "scripts/cross.sh all" logs.Rob Landley
These really should go in generated, but generated should be $GENERATED and I need to find a way to set that so Makefile and scripts/make.sh can use it from the same source. Right now cross.sh isn't sourcing .configure and I don't really want to add it for this, so...
2019-10-10The __ANDROID_NDK__ symbol is missing from ndk-r20 but Dan Albert pointedRob Landley
out clang's __has_include(), and && shorts out the eval for gcc.
2019-10-09Don't strlen() potentially long target string each call to strstart().Rob Landley
The downside is we don't use assembly optimized libc comparison functions, but the common case is short/no matches until full match. Probably net win.
2019-10-09xargs: various fixes.Elliott Hughes
Don't run the command with no arguments if we run out of input but have already run the command at least once. The implementation of "run the command at least once (unless -r was supplied)" wasn't taking into account whether or not this was our first time round the loop. Fix the exit value, and the -- already documented but not implemented -- behavior if a child exits with status 255. Also extend the tests to cover these cases, plus cases I broke while coming up with the fix. Add more tests to convince myself that we've correctly interpreted how -s is supposed to behave, and fix the corner cases at the bottom end of the range. This fixes some issues we were seeing trying to build the Android SDK for (and more importantly, on) macOS.
2019-10-09ls: fix seqfault on broken localeJarno Mäkipää
When user builds toybox CFG_TOYBOX_I18N disabled and tries to list folder contents with multibyte characters other than UTF-8 ls might seqfault since wcrtomb returns -1 while locale set to fi_FI-UTF-8 disable CFG_TOYBOX_I18N touch őőőőaaőő ls
2019-10-09vi: fixesJarno Mäkipää
fix: force redraw after :set (no)list fix: force redraw after insert fix: split on zero cursor position fix: yank and push with utf-8 content
2019-10-08Add dnsdomainname, fix "hostname -d" segfault on machine with no domain name,Rob Landley
and cleanup hostname to only call gethostname() once. It passes the one test in test_hostname, if that helps.
2019-10-08Add arch command.Rob Landley
2019-10-08Disable conflicting internal symbol "ARCH".Rob Landley
2019-10-07Add example to help text.Rob Landley
2019-10-07Better comments and help text.Rob Landley
2019-10-04vi: Scroll unmodified lines using escape codesJarno Mäkipää
Scroll visual buffer up and down using standard escapes when content has not changed, instead of redrawing every keypress. Sidescroll now moves all the lines instead of only cursor one. Side scrolling long lines unfortunately causes redraw to whole screen. -Jarno
2019-10-04ln.c: add -t to synopsis.Elliott Hughes
We're inconsistent about whether the option help below should be just `-t` or `-t DIR`, but the majority of commands _don't_ repeat their argument, so I've left that as-is for now.
2019-10-04readlink: add missing line, plus a test.Elliott Hughes
I must have lost this line somehow when I moved the patch from my AOSP tree to a toybox tree. (But the ln tests passed on the host because I was using coreutils ln there :-( )
2019-10-04file.c: add -s to synopsis and fix case consistency.Elliott Hughes
2019-10-04Fix extracting old tarballs, not just -tv of them.Rob Landley
2019-10-03Oops, part of the old tar support fix is in lib, check that in too.Rob Landley
2019-10-03Let "llvm-cross" be an acceptable cross compiler directory name.Rob Landley
2019-10-03Improve support for extracting older tarball formats.Rob Landley
2019-10-02readlink: support multiple arguments.Elliott Hughes
Required by the new `ln -t` test if it's to pass on an all-toybox system :-)
2019-10-02tar.test: work around SELinux messing with st_blocks.Elliott Hughes
Just re-tar the extracted file and check we get the expected result.
2019-10-01Add rmdir --ignore-fail-on-non-emptyEthan Sommer
2019-09-30Test ln -tRob Landley
2019-09-30Add ln -tEthan Sommer
2019-09-26Max 2 arguments with -TRob Landley
2019-09-26hexedit: fix scrolling on legacy terminalsJarno Mäkipää
Thanks for James McMechan for pointing this out. Using esc[1L and esc[1M escapes with cursor jump to 1, 1 to make scrolling effect instead of S and T fixes scrolling inside Linux terminal and tmux -Jarno
2019-09-25Add ln -TRob Landley
2019-09-25Use FLAG macrosRob Landley
2019-09-23noop gzip -n.Denys Nykula
Add mock gzip -n to satisfy pkgsrc.
2019-09-23Call ftpget from wgetDenys Nykula
Branch wget to xexec ftpget given an ftp url. Rename the output flag -O like in other wgets. Add mock wget --no-check-certificate to satisfy pkgsrc. Ifdef the version output in wget because the nonexistent constant fails single builds and mkroot.
2019-09-23Fix ftpget downloadDenys Nykula
Investigate why downloads always freeze when I call ftpget. Trace it to a refactor leaving two REST and zero RETR.
2019-09-22Avoid spurious test failures when fork() coincides with signal being sent,Rob Landley
then pgrep finds child that hasn't exec("sleep") yet. So add 1/10 sec sleep to let exec() happen before pgrep. While we're there fix spurious "terminated" messages and reorder test file creation so it fits in 80 columns.
2019-09-22vi: Added yankJarno Mäkipää
Added: yank and push Rewrote: delete operations Minor cleanups: Rewrote delete operations to use one delete function instead of having separate behavior here and there. Now delete and yank both always move cursor and then clip the whole cursor area into yank register. For example x is just ld or jd depeding are we right edge or not, and dd is jd with some special flags etc. Now only default yank register is implemented, but implemeting yank register list should be trivial since cmd execution already passes register char.
2019-09-20rm.c: use FLAG().Elliott Hughes
2019-09-20ASAN=1 implies NOSTRIP=1, and don't say strip failed for NOSTRIP.Rob Landley
2019-09-19vi: changes to buffer drawingJarno Mäkipää
Replaced: draw_str_until with lib/crunch_str() where possible Removed: Unused char draw functions. Implemented: crunch_nstr() which is crunch_str with additional check for byte length, this can be used to draw substrings or non null terminated strings. (This can be moved to lib/ if its useful for others) Reimplemented: Buffer drawing without line wrapping. Now too long lines are drawn with @ in end. And cursor line scrolls left and right when hitting right margin point. This will simplify buffer handling alot. Linewrapping can be reimplemented later if needed but will add complexity Implemented: set list and set nolist ex commands, set list will show escape codes such as tabs Fix: Bug on splitting 2 lines, split was 1 byte off.