aboutsummaryrefslogtreecommitdiff
path: root/toys/posix
AgeCommit message (Collapse)Author
2016-01-15Command line files without paths were attempting to use stdin as their dirfd,Rob Landley
(because ls uses nonstandard directory recursion which collates all the command line arguments under a fake top node, which needs more thorough initialization).
2016-01-15Fix sort -f, add tests, make TEST_HOST pass new tests.Rob Landley
2016-01-14Implement most of pgrep and pkill.Rob Landley
Needs testing and a few more options connected up.
2016-01-14Make "find -execdir toys echo {} +" batch correctly and show topdir results.Rob Landley
I dunno if find -execdir should show depth-first like it's doing, bit given that ubuntu's treating "+" and ";" the same for execdir... eh? Also, testing "find toys tests -mindepth 2 -execdir echo {} +" against the toybox source is easy (and why if (revert) fchdir() is needed), but adding that to the test suite means making a nontrivial hierarchy of files to test against (don't wanna use the project source because it's expected to change in ways that would break the tests)... The old "real world data vs test data" problem.
2016-01-10Fix tail -f /does/not/exist.Elliott Hughes
Exit immediately if we don't actually have anything to -f --- it's -f's big brother -F that retries by name rather than by fd.
2016-01-10Make cursor left/right change sort type in iotop.Rob Landley
2016-01-08The sense of -L was flipped.Elliott Hughes
2016-01-05Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable formatRob Landley
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts.
2016-01-05Work towards making "find . -execdir echo {} + -execdir ls {} +" work,Rob Landley
(not finished yet) plus some error message improvements.
2016-01-02Fix find --prune.Rob Landley
2016-01-02Fix "find . -exec echo {}" segfault, and stop measuring environment space,Rob Landley
The segfault was spotted/fixed by Daniel K. Levy back in September, and again by Isabella Parakiss yesterday. While we're there, remove the environment size measurement code (the 128k limit was lifted by linux commit b6a2fea39318, which went into 2.6.22 released July 2007).
2016-01-01First pass at iotop.Rob Landley
Lotsa TODOs: Currently exit it with ctrl-c, not q. Doesn't show totals, PID instead ofTID, PR instead of PRIO (type/pri), human_readable can't display fixed point, IO isn't a percentage, COMM instead of COMMAND (so no [kernelthread] brackets), and no cursor left/right to change sort field...
2015-12-30First half of iotop. Add READ, WRITE, IO, DREAD, DWRITE, SWAP, DIO, andRob Landley
corresponding percentile fields to ps. Move FLAG_ macro usage to ps-specific code (top/iotop have their own flag contexts). Split init and match code into shared and ps-specific parts. Fix bug in COMMAND for privileged processes.
2015-12-30make "ls -m | cat" assume 80 columns.Rob Landley
2015-12-29Move comma_args() from ps.c to lib.Rob Landley
(Moved header a while ago, forgot to check in function move.)
2015-12-22First guess at cp xattr support, ala --preserve=context,xattrRob Landley
2015-12-22Convert cp from magic constants to TAGGED_ARRAY()Rob Landley
2015-12-21Cleanup tail -f.Rob Landley
2015-12-21Rich Felker's reading of posix is that fchown() and fchmod() must be allowedRob Landley
on files opened read-only, so revert last commit (force writeable logic).
2015-12-21Add ps -o psr,rtprio,sched.Elliott Hughes
These three are currently available in Android's ps but not in toybox ps.
2015-12-21Implement tail -f.Josh Gao
2015-12-18Next giant chunk of ps work: add _NAME_TAG bitmask values to tags.hRob Landley
(leading underscore version is 1<<NAME_TAG version, with 1LL for >31 shift), suck lots of magic constants out of ps and use tag macros instead, redo command line display so there's now 6 variants (CMD COMM ARGS from posix, NAME CMDLINE from android, and COMMAND for completeness). Document more cases where posix is nuts or widely ignored.
2015-12-12Make "ps -o TIME+ -k TIME+" work. Factor out -o field names, field lengths,Rob Landley
and slot numers into a structure. (Keeping multiple arrays in sync may have been efficient but it was ugly.) Fix duplicate command name copying that corrupted the name of kernel threads. Tighten up slot[] docs.
2015-12-12Add a useless memset (under CFG_TOYBOX_DEBUG) to shut up valgrind.Rob Landley
Valgrind complains that we add uninitalized memory to totals[] fields we never read from. (If we didn't set it in entrylen() we don't use it during display, they're testing the same flags), but valgrind doesn't understand that.
2015-12-09tail: use off_t instead of ssize_t for file offset.Josh Gao
2015-12-06Rename dirtree->data to dirfd, and don't store symlink length in it.Rob Landley
2015-12-06Attempt at making cpio chown() mode 000 files sanely.Rob Landley
2015-12-06Remove trailing whitespace and wrap lines to 80 chars.Rob Landley
2015-12-06CPIO: Add --no-preserve-owner option.Mike Moreton
2015-12-06Correct setting of guid and uid when extracting from a cpio archive.Mike Moreton
2015-12-06Enable matching any perm bits.Gilad Arnold
Includes tests for the new feature, and a failure case for the minimal perms test as well. Also some typo fixing / massaging the help text so it fits in 80 columns.
2015-12-05Add start of top infrastructure to ps, null terminate some stridx() searches,Rob Landley
move slot[] documentation into C code, add PR %VSZ VIRT RES SHR
2015-11-29Implement ps --sort.Rob Landley
2015-11-29Add basic sort logic.Rob Landley
2015-11-28Split out string_field() from show_ps().Rob Landley
2015-11-28Save string offsets rather than recalculating them each time, and use structRob Landley
instead of carving up toybuf by hand. This makes breaking out the field conversion logic into its own function less expensive.
2015-11-26Split do_ps() into get_ps() and show_ps() as a start on implementing --sort.Rob Landley
Change readfileat() to pass back length of read.
2015-11-19Fix find -perm.Elliott Hughes
1) It read st_dev instead of st_mode. 2) It reversed the semantics of absolute vs minimal ('-' prefixed) tests. Add tests for these, and move the "unterminated -exec" test into the "Still fails" section because it's still dumping core for me.
2015-11-12Document %s in date(1).Elliott Hughes
2015-11-12Fix year parsing in date(1).Elliott Hughes
Four-digit years were being mangled by the code for two-digit years. Move all the two-digit year code into the "we only saw two digits" case. Add some new tests and fix existing tests.
2015-11-09Cleanup pass: inline find_tty_name(), bounds check fscanf(), use libcRob Landley
functions to read major()/minor(), fix printf format warnings in error msg.
2015-11-09Make ps try harder to find a name for a tty.Elliott Hughes
2015-11-09On Android, ps' default output should match toolbox.Elliott Hughes
2015-11-09Add ps -n.Elliott Hughes
Both Android and GNU interpret -n to mean "show numeric users and groups", despite what POSIX says.
2015-11-09Add ps -o CMDLINE.Elliott Hughes
This is equivalent to Android's historical "NAME" column, showing the first element of /proc/pid/cmdline.
2015-11-05Fix sed bug where any ] right after [ was skipped, not just first one in range.Rob Landley
2015-11-02Add -P as short option for --ppid.Rob Landley
(The help infrastructure can collate and alphebetize short options, long options haven't got a standardized help text format. Not a hard requirement to have a short opt, but it's nice.)
2015-11-02Fix the ps -o CMD vs COMM distinction.Elliott Hughes
"comm" is the command name without arguments, and "cmd" the command line including arguments. Confusingly, "command" is a synonym for the *latter*, not the former. This implementation of "comm" matches the GNU ps behavior where the names are truncated, but Android historically used the full name from /proc/pid/cmdline instead, so this patch isn't sufficient to let us match the Android behavior.
2015-11-02Make ps -o error reporting intelligible.Elliott Hughes
I actually thought ps was segfaulting, and it wasn't until I was in gdb that I even noticed there was an error message at all, and even then I had to read the source to work out what it was trying to tell me. Before: $ ps -o user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd ps: -o 'user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd'@41 USER PID PPID VSZ RSS NI WCHAN ADDR$ After: $ ps -o user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd ps: bad -o field 'user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd' ^
2015-11-02Add ps -Z.Elliott Hughes
As with ls, it doesn't seem like -Z should be guarded behind LSM availability. On a non-SELinux system, the label is always "unconfined".