OSDN Git Service
Rob Landley [Fri, 29 Jan 2016 04:10:06 +0000 (22:10 -0600)]
Add SIGWINCH support to top, and implement -o and -n in pgrep/pkill.
Rob Landley [Thu, 28 Jan 2016 20:22:46 +0000 (14:22 -0600)]
Adding -M broke ps -k header printing without -M.
Rob Landley [Thu, 28 Jan 2016 19:36:12 +0000 (13:36 -0600)]
Bugfix I forgot to checkin, plus a wrapper function.
Rob Landley [Thu, 28 Jan 2016 03:19:12 +0000 (21:19 -0600)]
Don't resort or recalculate headers for cursor up/down, do PGUP PGDN, and
down move way down past end of list.
Rob Landley [Thu, 28 Jan 2016 02:27:33 +0000 (20:27 -0600)]
Add cpu line to top, and fix a bug initializing upticks slot.
izabera [Wed, 27 Jan 2016 18:31:58 +0000 (19:31 +0100)]
long opts and -f for unshare
Rob Landley [Wed, 27 Jan 2016 06:46:56 +0000 (00:46 -0600)]
Don't try to be fancy with top headers, just hardwired the standardish ones.
Still need to do the cpu(s) line in top.
Rob Landley [Tue, 26 Jan 2016 20:33:50 +0000 (14:33 -0600)]
Add ps -M to measure/expand field widths if they don't fit.
(Still truncates at the right edge to fit terminal width, but last commit
made -w the default when no terminal width detected.)
Rob Landley [Tue, 26 Jan 2016 19:41:51 +0000 (13:41 -0600)]
Add ps -O (inserts extra args before last field), and make -w the default
when we haven't got a terminal width. Replace top CMDLINE with ARGS.
More ps infrastructure genericization: parse reverse unconditionally.
Break out get_headers() with global references moved to caller.
change quick_ko() to default_ko() (dlist_terminate is now caller's job).
Elliott Hughes [Sun, 24 Jan 2016 18:51:17 +0000 (10:51 -0800)]
Fix comma_args error reporting.
None of the current callers' callbacks set errno, so this was resulting in
bogus errors like "No device or address" when ps tried to complain about a
misspelled field.
Elliott Hughes [Fri, 22 Jan 2016 19:05:04 +0000 (11:05 -0800)]
Fix compiler warnings in traceroute.
If we're fixing warnings in pending...
Rob Landley [Mon, 25 Jan 2016 17:43:17 +0000 (11:43 -0600)]
Next lump of top work. Add -o DISPLAY_FIELDS -k FALLBACK_SORTS -s SORT_BY plus
the start of -h HEADER (mostly parses text, but doesn't display %ESCAPES yet).
Added UP, DOWN, and R keys.
Made only iotop STAYROOT (not top), added comment explaining why.
Bumped iotop's historical -O and -K to capital letters.
Added quick_ko() to add argument list from string instead of arg_list.
Rob Landley [Sat, 23 Jan 2016 03:35:48 +0000 (21:35 -0600)]
Factor out insanitize() from seq.c to next_printf() in lib.
Rob Landley [Fri, 22 Jan 2016 01:05:25 +0000 (19:05 -0600)]
Replace slot[] constants with SLOT_blah, fix some that weren't displaying right.
Make fallback sort do string sort after numeric tie, retain absolute uptime
even though relative is needed for %CPU (hence utime2).
Lipi Lee [Thu, 21 Jan 2016 20:03:10 +0000 (14:03 -0600)]
I cleaned up the code in 'netstat.c' as belows.
- Adjust to 80 columns
- remove a useless function(strchr_nul), variable, type casting and
compile warnings(fgets)
- clean up netstat command option condition
- change useless double pointer to single point and dynamic memory
allocation to static one
- fix a ambiguous return type and typo
Rob Landley [Thu, 21 Jan 2016 19:04:51 +0000 (13:04 -0600)]
Add a sed test from the posix mailing list.
Rob Landley [Wed, 20 Jan 2016 23:33:31 +0000 (17:33 -0600)]
Correct units of %MEM and %VSZ.
Rob Landley [Wed, 20 Jan 2016 22:51:17 +0000 (16:51 -0600)]
Add basic top support to ps.c, delete toys/pending/top.c.
While I'm there, pack the ps help text, break out TOP_COMMON (todo: update
config2help to collate that properly), add -o CPU showing which processor
this pid is running on, implement -o C (it's %cpu without the fractional
part), add -o %MEM, fix header padding.
Rob Landley [Wed, 20 Jan 2016 22:48:01 +0000 (16:48 -0600)]
First stab at making readfileat() realloc() in a loop to read long files.
Rob Landley [Wed, 20 Jan 2016 00:26:41 +0000 (18:26 -0600)]
Another CFG_TOYBOX_DEBUG test.
Rob Landley [Wed, 20 Jan 2016 00:03:17 +0000 (18:03 -0600)]
runcon needs to exec, not recurse.
Rob Landley [Tue, 19 Jan 2016 00:20:56 +0000 (18:20 -0600)]
Implement pgrep -clv (and remove some accidentally checked in debug code).
Still need to do -n and -o.
Rob Landley [Mon, 18 Jan 2016 21:45:56 +0000 (15:45 -0600)]
Implement basic pkill plumbing, and fix FORCE_FLAGS on flag context switch.
Rob Landley [Sun, 17 Jan 2016 23:16:03 +0000 (17:16 -0600)]
Extend utf8 fontmetrics so ps can use them.
Also, I forgot to check in uuid_show() last time.
Rob Landley [Sun, 17 Jan 2016 20:45:45 +0000 (14:45 -0600)]
Add -L label and UUID support to mkswap.
Rob Landley [Sun, 17 Jan 2016 20:08:10 +0000 (14:08 -0600)]
Update draw_str() and friends to do standard escaping for ^X <AB> U+ABCD.
Rob Landley [Sat, 16 Jan 2016 22:59:47 +0000 (16:59 -0600)]
Move create_uuid() to lib and xpoll() to lib/net.c.
Rob Landley [Sat, 16 Jan 2016 19:02:12 +0000 (13:02 -0600)]
Add swapon -d (discard)
Rob Landley [Fri, 15 Jan 2016 22:59:06 +0000 (16:59 -0600)]
Command line files without paths were attempting to use stdin as their dirfd,
(because ls uses nonstandard directory recursion which collates all the
command line arguments under a fake top node, which needs more thorough
initialization).
Rob Landley [Fri, 15 Jan 2016 22:58:42 +0000 (16:58 -0600)]
Locale setting is case sensitive.
Rob Landley [Fri, 15 Jan 2016 22:09:10 +0000 (16:09 -0600)]
More utf8 test files.
Rob Landley [Fri, 15 Jan 2016 18:38:32 +0000 (12:38 -0600)]
Fix sort -f, add tests, make TEST_HOST pass new tests.
Rob Landley [Fri, 15 Jan 2016 05:18:15 +0000 (23:18 -0600)]
Implement most of pgrep and pkill.
Needs testing and a few more options connected up.
Rob Landley [Thu, 14 Jan 2016 18:17:38 +0000 (12:17 -0600)]
Make "find -execdir toys echo {} +" batch correctly and show topdir results.
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.
Rob Landley [Tue, 12 Jan 2016 16:45:58 +0000 (10:45 -0600)]
Expand defconfig/allyesconfig/allnoconfig help text to explain what they're for.
Elliott Hughes [Sat, 9 Jan 2016 20:54:04 +0000 (12:54 -0800)]
Fix tail -f /does/not/exist.
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.
Elliott Hughes [Sat, 9 Jan 2016 20:20:50 +0000 (12:20 -0800)]
Fix hwclock -u.
You can't pass a NULL value to setenv(3). The "put things back how they were"
intent of this code is best achieved by calling unsetenv(3) in the NULL case.
(This causes a crash with "hwclock -u" on Android. glibc silently corrupts the
environment instead.)
Elliott Hughes [Sat, 9 Jan 2016 19:47:35 +0000 (11:47 -0800)]
Fix perror_exit_raw.
Some things are worse when you remove the 'p'.
Rob Landley [Sun, 10 Jan 2016 21:59:09 +0000 (15:59 -0600)]
Make cursor left/right change sort type in iotop.
Elliott Hughes [Sat, 9 Jan 2016 01:13:38 +0000 (19:13 -0600)]
Fix cat -.
Commit
4b4ab6a50998 broke loopfiles' handling of "-".
This broke the existing cat tests, so no new test is necessary here.
Elliott Hughes [Sat, 9 Jan 2016 00:43:17 +0000 (18:43 -0600)]
The sense of -L was flipped.
Rob Landley [Thu, 7 Jan 2016 20:34:47 +0000 (14:34 -0600)]
Make scan_key() specify timeout in miliseconds, split out terminal_probesize(),
add function key definitions and shift/ctrl/alt cursor keys.
Rob Landley [Wed, 6 Jan 2016 04:26:58 +0000 (22:26 -0600)]
Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable format
checking, and fix up format checking complaints.
Added out(type, value) function to stat to avoid a zillion printf typecasts.
Rob Landley [Wed, 6 Jan 2016 00:17:02 +0000 (18:17 -0600)]
Some utf8/unicode stress test files.
Rob Landley [Tue, 5 Jan 2016 18:14:24 +0000 (12:14 -0600)]
Work towards making "find . -execdir echo {} + -execdir ls {} +" work,
(not finished yet) plus some error message improvements.
Rob Landley [Sat, 2 Jan 2016 20:34:53 +0000 (14:34 -0600)]
Fix find --prune.
Rob Landley [Sat, 2 Jan 2016 20:24:56 +0000 (14:24 -0600)]
Fix "find . -exec echo {}" segfault, and stop measuring environment space,
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).
Rob Landley [Fri, 1 Jan 2016 21:24:46 +0000 (15:24 -0600)]
First pass at iotop.
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...
Rob Landley [Thu, 31 Dec 2015 20:09:54 +0000 (14:09 -0600)]
Tweak error message.
Rob Landley [Thu, 31 Dec 2015 02:54:19 +0000 (20:54 -0600)]
Don't let mktemp -q /path/to/file delete arbitrary files, and don't have
"mktemp -u > /dev/full" leave file around.
Kylie McClain [Thu, 24 Dec 2015 05:20:24 +0000 (00:20 -0500)]
lsb/mktemp: Add -u flag
The -u flag creates a file, and unlinks it before exiting.
This is usually known as "unsafe mode", or "dry-run" mode.
GNU mktemp has it, as does Busybox's mktemp and likely many others.
Rob Landley [Thu, 31 Dec 2015 02:18:18 +0000 (20:18 -0600)]
First half of iotop. Add READ, WRITE, IO, DREAD, DWRITE, SWAP, DIO, and
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.
Rob Landley [Thu, 31 Dec 2015 02:15:34 +0000 (20:15 -0600)]
Add more keys to scan_key() and fix hang in scan_key_getsize().
Rob Landley [Wed, 30 Dec 2015 18:01:42 +0000 (12:01 -0600)]
make "ls -m | cat" assume 80 columns.
Rob Landley [Wed, 30 Dec 2015 17:49:13 +0000 (11:49 -0600)]
I didn't add comma_args() to lib.c, I added it with the other comma functions.
(Oops. Missed a file checkin, build break, my bad.)
Rob Landley [Tue, 29 Dec 2015 17:52:12 +0000 (11:52 -0600)]
Add strafter() to lib.
Rob Landley [Tue, 29 Dec 2015 17:19:02 +0000 (11:19 -0600)]
Make pidof use comma_scan()
Rob Landley [Tue, 29 Dec 2015 16:16:45 +0000 (10:16 -0600)]
Move comma_args() from ps.c to lib.
(Moved header a while ago, forgot to check in function move.)
Rob Landley [Sun, 27 Dec 2015 20:41:30 +0000 (14:41 -0600)]
Add scan_key_getsize() doing the ANSI probe, switch scan_key() to TAGGED_ARRAY,
and add test_scankey.
Rob Landley [Thu, 24 Dec 2015 18:18:10 +0000 (12:18 -0600)]
Move get_line() header to pending.h because posix has FILE * versions.
Rob Landley [Thu, 24 Dec 2015 00:16:23 +0000 (18:16 -0600)]
Factor out draw_str() and friends.
Rob Landley [Tue, 22 Dec 2015 19:36:15 +0000 (13:36 -0600)]
First guess at cp xattr support, ala --preserve=context,xattr
Rob Landley [Tue, 22 Dec 2015 18:02:20 +0000 (12:02 -0600)]
Convert cp from magic constants to TAGGED_ARRAY()
Rob Landley [Mon, 21 Dec 2015 20:34:36 +0000 (14:34 -0600)]
Cleanup tail -f.
Rob Landley [Mon, 21 Dec 2015 17:28:30 +0000 (11:28 -0600)]
Rich Felker's reading of posix is that fchown() and fchmod() must be allowed
on files opened read-only, so revert last commit (force writeable logic).
Elliott Hughes [Sun, 20 Dec 2015 18:49:13 +0000 (10:49 -0800)]
Add ps -o psr,rtprio,sched.
These three are currently available in Android's ps but not in toybox ps.
Josh Gao [Fri, 4 Dec 2015 21:30:02 +0000 (13:30 -0800)]
Implement tail -f.
Rob Landley [Sun, 20 Dec 2015 03:49:14 +0000 (21:49 -0600)]
Redo linestack to handle embedded NULs.
Rob Landley [Sat, 19 Dec 2015 19:29:04 +0000 (13:29 -0600)]
Start of vi.
Rob Landley [Fri, 18 Dec 2015 22:39:59 +0000 (16:39 -0600)]
Next giant chunk of ps work: add _NAME_TAG bitmask values to tags.h
(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.
Rob Landley [Thu, 17 Dec 2015 01:22:40 +0000 (19:22 -0600)]
Don't discard previous block when mkstatus finds another span tag with same id.
Rob Landley [Sun, 13 Dec 2015 22:52:26 +0000 (16:52 -0600)]
Start of TAGGED_ARRAY() infrastructure.
This lets you have struct arrays with a string as the first member, ala:
struct {char *name; int x, y} blah thingy[] = TAGGED_ARRAY(BLAH,
{"one", 1, 2}, {"two", 3, 4}, {"three", 5, 6}
);
And it produces #defines for the array index of each, ala:
#define BLAH_one 0
#define BLAH_two 1
#define BLAH_three 2
So you can use thingy[BLAH_two].x and still reorder the elements at will.
Note: if you screw up the array initializers, temporarily replace
TAGGED_ARRAY(BLAH, with { and the ); with }; and the compiler will give you
better error messages. (With the macro the compiler reports errors on the
TAGGED_ARRAY line, not where the comma is missing in its contents.)
Currently the TAGGED_ARRAY( and ); must be on their own lines, and the
{ and start of each attached string must be on the same line.
Rob Landley [Sun, 13 Dec 2015 03:18:40 +0000 (21:18 -0600)]
Make "ps -o TIME+ -k TIME+" work. Factor out -o field names, field lengths,
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.
Rob Landley [Sat, 12 Dec 2015 08:14:39 +0000 (02:14 -0600)]
Add a useless memset (under CFG_TOYBOX_DEBUG) to shut up valgrind.
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.
Rob Landley [Thu, 10 Dec 2015 21:57:08 +0000 (15:57 -0600)]
Expand toys.optargs to 64 bits so people adding more options to ls don't run out.
Keep the low 32 bits of FLAG_x constants as 32 bit numbers so that at least
on little endian platforms it's still normal 32 bit math outside of lib/args.c.
Josh Gao [Fri, 4 Dec 2015 23:12:15 +0000 (15:12 -0800)]
tail: use off_t instead of ssize_t for file offset.
Rob Landley [Mon, 7 Dec 2015 02:36:59 +0000 (20:36 -0600)]
Rename dirtree->data to dirfd, and don't store symlink length in it.
Rob Landley [Mon, 7 Dec 2015 01:33:47 +0000 (19:33 -0600)]
Attempt at making cpio chown() mode 000 files sanely.
Rob Landley [Sun, 6 Dec 2015 20:57:38 +0000 (14:57 -0600)]
Remove trailing whitespace and wrap lines to 80 chars.
Mike Moreton [Wed, 2 Dec 2015 13:24:40 +0000 (13:24 +0000)]
CPIO: Add --no-preserve-owner option.
Mike Moreton [Wed, 2 Dec 2015 09:41:58 +0000 (09:41 +0000)]
Correct setting of guid and uid when extracting from a cpio archive.
Gilad Arnold [Fri, 13 Nov 2015 21:16:14 +0000 (13:16 -0800)]
Enable matching any perm bits.
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.
Rob Landley [Sun, 6 Dec 2015 19:39:07 +0000 (13:39 -0600)]
Add free -h, based on a patch from Isabella Parakiss.
Rob Landley [Sat, 5 Dec 2015 22:01:34 +0000 (16:01 -0600)]
Add start of top infrastructure to ps, null terminate some stridx() searches,
move slot[] documentation into C code, add PR %VSZ VIRT RES SHR
Rob Landley [Fri, 4 Dec 2015 22:17:03 +0000 (16:17 -0600)]
Tom Marshall reported that blkid was handling ext2 wrong.
Even though ext2 has a comment that it has to be at the start, I added swap
to the start of the array (oops). The test suite was also wrong (it was
matching the _incorrect_ output).
Rob Landley [Fri, 4 Dec 2015 21:18:15 +0000 (15:18 -0600)]
Replace duplicate sed test with case we hadn't covered yet.
Rob Landley [Tue, 1 Dec 2015 17:13:08 +0000 (11:13 -0600)]
Twitter's page seems reasonably simple and straightforward, use that.
Rob Landley [Mon, 30 Nov 2015 05:42:07 +0000 (23:42 -0600)]
Implement ps --sort.
Rob Landley [Sun, 29 Nov 2015 06:23:07 +0000 (00:23 -0600)]
Add basic sort logic.
Rob Landley [Sat, 28 Nov 2015 21:03:22 +0000 (15:03 -0600)]
Split out string_field() from show_ps().
Rob Landley [Sat, 28 Nov 2015 20:39:29 +0000 (14:39 -0600)]
Save string offsets rather than recalculating them each time, and use struct
instead of carving up toybuf by hand. This makes breaking out the field
conversion logic into its own function less expensive.
Rob Landley [Fri, 27 Nov 2015 03:16:12 +0000 (21:16 -0600)]
Split do_ps() into get_ps() and show_ps() as a start on implementing --sort.
Change readfileat() to pass back length of read.
Elliott Hughes [Fri, 13 Nov 2015 21:29:58 +0000 (13:29 -0800)]
Fix find -perm.
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.
Rob Landley [Mon, 16 Nov 2015 09:15:47 +0000 (03:15 -0600)]
Typo
Rob Landley [Mon, 16 Nov 2015 09:13:22 +0000 (03:13 -0600)]
Rewrite of the about page, re-triage of sbase, and other documentation updates.
Rob Landley [Sun, 15 Nov 2015 03:47:35 +0000 (21:47 -0600)]
Documentation tweaks.
Elliott Hughes [Wed, 11 Nov 2015 02:34:38 +0000 (18:34 -0800)]
Document %s in date(1).
Elliott Hughes [Wed, 11 Nov 2015 02:21:51 +0000 (18:21 -0800)]
Fix year parsing in date(1).
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.
Rob Landley [Tue, 10 Nov 2015 00:22:33 +0000 (18:22 -0600)]
Cleanup pass: inline find_tty_name(), bounds check fscanf(), use libc
functions to read major()/minor(), fix printf format warnings in error msg.
Elliott Hughes [Sat, 7 Nov 2015 19:29:36 +0000 (11:29 -0800)]
Make ps try harder to find a name for a tty.