aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-07Make pkill tests runnable on a toybox-only system.Elliott Hughes
Also use a much stricter regex in the regex test to avoid killing innocent bystanders.
2017-04-07Make bzcat tests runnable on a toybox-only system.Elliott Hughes
2017-04-04Add "testcmd" function as an alternative to "testing" for tests/*.test, andRob Landley
check in two converted commands.
2017-04-03Fix ls -a and ls -A tests.Elliott Hughes
2017-04-03Trivial cleanup. (Whitespace, brackets, and remove unnecessary typecasts.)Rob Landley
2017-04-03Add gzip support. (Doesn't show source OS and timestamp, but reporting themRob Landley
isn't obviously useful.)
2017-04-03Implement dmesg -T.Elliott Hughes
Also refactor so that legacy mode gets all the new functionality too, and add -S to make it easier to test legacy mode on 3.5 or newer kernels (at least on the host; on Android the syslog(2) system call is no longer allowed). Bug: http://b/36090178
2017-03-28Don't try to implement %s, we have @seconds, strptime() in libc tendsRob Landley
not to have it, and implementing our own means a pattern like "Time %%%s%%" is expensive to handle the corner cases of.
2017-03-28New date range tests are simple, won't catch Feb 29 in non-leap-yearRob Landley
(or April 31 in any year). Some normalization allowed, exclusions are just what http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html says.
2017-03-28Replace chkmktime() (which produces false positive normalization failures)Rob Landley
with range checks for seconds, minutes, hours, day of month, and month.
2017-03-28ps: don't query for terminal size if not a tty.Josh Gao
`ps -A | cat` shouldn't have different output depending on the size of your terminal window.
2017-03-27Fix the type of the callback in getprop.Elliott Hughes
Fixes: toys/android/getprop.c:56:39: warning: incompatible pointer types passing 'void (void *, const char *, const char *)' to parameter of type 'void (*)(void *, const char *, const char *, uint32_t)' (aka 'void (*)(void *, const char *, const char *, unsigned int)') [-Wincompatible-pointer-types] __system_property_read_callback(pi, read_callback, NULL); ^~~~~~~~~~~~~
2017-03-24We grew a few more commands that weren't on the roadmap (mostly from android)Rob Landley
so throw them in the "requests" category so they show up in status.html.
2017-03-23Now that just about everything has --help, don't output help for argument errorsRob Landley
2017-03-22Fix a typo and explain a mystery in news.html.Elliott Hughes
2017-03-22Implement uptime -s.Elliott Hughes
Also add trivial tests.
2017-03-21dirtree_flagread() returns DIRTREE_ABORTVAL when the initial node doesn'tRob Landley
exist, which can hit ps when /proc isn't there or /proc/$PID/task isn't there (because process exited between the time we checked its contents and the time we looked for its threads).
2017-03-20Paste bugfix, more tests.Rob Landley
2017-03-20Add TOYBOX_PEDANTIC_ARGS to check arguments when there are no arguments,Rob Landley
and make uptime use it.
2017-03-20Rewrite paste so it actually works.Rob Landley
2017-03-04Another FAQ entry.Rob Landley
2017-03-03FAQ tweak: one more link on toybox history.Rob Landley
2017-03-03Check in web page announcement for 0.7.3.Rob Landley
2017-02-21It's past time for 0.7.3.0.7.3Rob Landley
2017-02-20If the last ps field is left justified, it extends to the width of the screen.Rob Landley
(Recent "show + for last char when truncated" change broke that, putting it back.)
2017-02-204a4b3d65644ce403b0f22887fc0d38b0202ec8c7 upset clang.Elliott Hughes
Recent-ish clang doesn't like self-assignment. Google/Android code always uses the [template-based moral equivalent of] __attribute__((__unused__)) to keep both compilers happy.
2017-02-20Declaring todo bankruptcy, dmesg goes back into pending until I get a chanceRob Landley
to unify the two codepaths in Elliott's rewrite.
2017-02-20Fix dmesg -c and -C.Elliott Hughes
I never use these, so I didn't notice I'd broken them until someone who does bringup complained. The "one weird trick" with SEEK_DATA is documented at the URL we already point to. SEEK_DATA was added in Linux 3.1 (2011) and isn't available in glibc 2.19 (2014), so I've added that to "portability.h" for the benefit of Ubuntu 14.04. Also make -c and -C mutually exclusive. Also fix some of the formatting I introduced earlier. (A clang-format file would help prevent these mistakes...)
2017-02-18Ascii only showed 15 rows instead of 16 and spacing was wrong for 96-100.Rob Landley
2017-02-17Fix the comment about the Android SIGPIPE behavior.Elliott Hughes
2017-02-16Teach file(1) about bzip2 files.Elliott Hughes
If we can read and write bzip2 files, we should be able to identify them too...
2017-02-10Add back bionic SIGPIPE handler workaround accidentally removed in 3b51a07e478dRob Landley
2017-02-09Document df -aRob Landley
2017-02-07Add ascii: display ascii table.Rob Landley
2017-02-06ps -l has 4 chars left for "cmd", switch "ADDR" to "BIT" to save space.Rob Landley
2017-02-06Make tty size failure to enable -w (Elliott prefers that), and fix last fieldRob Landley
to be left justified again.
2017-02-05Don't set SIGWINCH when reading ANSI size probe data, it causes a loop.Rob Landley
2017-02-05Bugfix: last field was padding to width with trailing spaces (oops), andRob Landley
when we can't query terminal size pad to 80 but add -w.
2017-02-05Patch from Elliott to silence a "const" warning in android/getprop.c.Rob Landley
(Broken out of a larger patch, fixed the other part a different way.)
2017-02-05Silence a warning.Rob Landley
Once upon a time you could call fchown() and let it fail. Then gcc decided not using its return code was inconcievable, but you could typecast it to (void) to shut it up. Then gcc noticed people doing that and clutched its pearls and took it away, so I added an if() statement that does nothing with the result because we _expect_ this to fail when we're not root. Then clang started complaining about an if (); statement with the semicolon on the same line, but decided it's ok if the ; is on the next line (I.E. significant whitespace in C), so I'm adding an "assignemnt to self" that gets optimized away so it does a more _explicit_ nothing (the same way you suppress gcc's broken "this isn't used uninitialized" warnings). If the compilers weren't going to so much trouble to force the issue I might add code to only call fchown when we're UID 0, but I refuse to be coerced into it. (And if getpid() is still a system call instead of a vdso member then it doesn't actually _save_ us anything, the dentry should be hot and the permission check was just "if (!uid)" before selinux entered into it and we're operating on an fd so the security's the same.)
2017-02-05Default to width 80 when tty size probe fails (ala serial console).Rob Landley
(It was defaulting to 99999 but not FLAG_w, so it tried to _pad_ to 99999.)
2017-02-04Posix says stdio.h should define 'stdout' as a macro, and bionic turns it intoRob Landley
an array index, which doesn't work as a local variable name. So rename it.
2017-02-04Switch oneit to use xopen_stdio() for -c (oops) and switch XVFORK() to useRob Landley
__attribute__((returns_twice)) instead of noinline. Yes LLVM supports it: https://llvm.org/bugs/show_bug.cgi?id=6287
2017-02-03Fix typo in pgrep help.Elliott Hughes
2017-02-03Fix operator precedence error in df.Elliott Hughes
2017-02-01Build dependency tweak.Rob Landley
2017-02-01Extend default USER length to 12 and output "+" as last character of truncatedRob Landley
(left-justified) fields.
2017-01-31ps bugfix: len of TTY field doesn't include null terminator, so memmove shouldRob Landley
subtract one _less_ than /dev prefix length or string isn't terminated.
2017-01-30Cleanup leftover debris.Rob Landley
2017-01-30Improve file's ELF parsing.Elliott Hughes
An ELF file with no program headers is valid, and binutils leaves e_phentsize zero in that case. Fix the corruption check to cope. Also, since notes are in both the program and section headers (and I'm not aware of the possibility of having no sections but still having notes --- where would they be?), look for them in the section headers instead. Also extend the parsing of the .android.note.ident ELF note to include the NDK version information if present. (This won't be present for platform binaries, but will be present for NDK-built binaries such as app libraries.)