OSDN Git Service

Regenerate generated toybox files.
authorElliott Hughes <enh@google.com>
Sat, 12 Dec 2015 01:31:26 +0000 (17:31 -0800)
committerElliott Hughes <enh@google.com>
Sat, 12 Dec 2015 01:31:26 +0000 (17:31 -0800)
Change-Id: I7315c525b57f02b481e5bbd24f9887e1b8dd166f

.config
generated/config.h
generated/flags.h
generated/globals.h
generated/help.h
generated/newtoys.h

diff --git a/.config b/.config
index 2a92dcd..15f9cbb 100644 (file)
--- a/.config
+++ b/.config
@@ -75,6 +75,7 @@ CONFIG_PASTE=y
 CONFIG_PATCH=y
 CONFIG_PRINTF=y
 CONFIG_PS=y
+# CONFIG_TTOP is not set
 CONFIG_PWD=y
 CONFIG_RENICE=y
 CONFIG_RM=y
@@ -292,6 +293,7 @@ CONFIG_UMOUNT=y
 # CONFIG_SKELETON is not set
 # CONFIG_SKELETON_ALIAS is not set
 # CONFIG_TEST_HUMAN_READABLE is not set
+# CONFIG_TEST_MANY_OPTIONS is not set
 
 #
 # Android
index b87c734..ac67530 100644 (file)
 #define USE_PRINTF(...) __VA_ARGS__
 #define CFG_PS 1
 #define USE_PS(...) __VA_ARGS__
+#define CFG_TTOP 0
+#define USE_TTOP(...)
 #define CFG_PWD 1
 #define USE_PWD(...) __VA_ARGS__
 #define CFG_RENICE 1
 #define USE_SKELETON_ALIAS(...)
 #define CFG_TEST_HUMAN_READABLE 0
 #define USE_TEST_HUMAN_READABLE(...)
+#define CFG_TEST_MANY_OPTIONS 0
+#define USE_TEST_MANY_OPTIONS(...)
 #define CFG_GETENFORCE 1
 #define USE_GETENFORCE(...) __VA_ARGS__
 #define CFG_GETPROP 1
index 66eeacc..7c47bfb 100644 (file)
@@ -1,7 +1,9 @@
 #ifdef FORCE_FLAGS
 #define FORCED_FLAG 1
+#define FORCED_FLAGLL 1LL
 #else
 #define FORCED_FLAG 0
+#define FORCED_FLAGLL 0
 #endif
 
 // acpi abctV abctV
 #undef FLAG_preserve
 #endif
 
-// cpio mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF] mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]
+// cpio (no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF] (no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]
 #undef OPTSTR_cpio
-#define OPTSTR_cpio "mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
+#define OPTSTR_cpio "(no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
 #ifdef CLEANUP_cpio
 #undef CLEANUP_cpio
 #undef FOR_cpio
 #undef FLAG_u
 #undef FLAG_d
 #undef FLAG_m
+#undef FLAG_no_preserve_owner
 #endif
 
 // crond   fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]
 #undef FLAG_b
 #endif
 
-// free tgmkb[!tgmkb] tgmkb[!tgmkb]
+// free htgmkb[!htgmkb] htgmkb[!htgmkb]
 #undef OPTSTR_free
-#define OPTSTR_free "tgmkb[!tgmkb]"
+#define OPTSTR_free "htgmkb[!htgmkb]"
 #ifdef CLEANUP_free
 #undef CLEANUP_free
 #undef FOR_free
 #undef FLAG_m
 #undef FLAG_g
 #undef FLAG_t
+#undef FLAG_h
 #endif
 
 // freeramdisk <1>1 <1>1
 #undef FOR_printf
 #endif
 
-// ps P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae] P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]
+// ps k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae] k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]
 #undef OPTSTR_ps
-#define OPTSTR_ps "P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]"
+#define OPTSTR_ps "k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]"
 #ifdef CLEANUP_ps
 #undef CLEANUP_ps
 #undef FOR_ps
 #undef FLAG_a
 #undef FLAG_ppid
 #undef FLAG_P
+#undef FLAG_sort
+#undef FLAG_k
 #endif
 
 // pwd >0LP[-LP] >0LP[-LP]
 #undef FLAG_i
 #endif
 
+// test_many_options   ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+#undef OPTSTR_test_many_options
+#define OPTSTR_test_many_options  0 
+#ifdef CLEANUP_test_many_options
+#undef CLEANUP_test_many_options
+#undef FOR_test_many_options
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_h
+#undef FLAG_i
+#undef FLAG_j
+#undef FLAG_k
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_o
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_y
+#undef FLAG_z
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_D
+#undef FLAG_E
+#undef FLAG_F
+#undef FLAG_G
+#undef FLAG_H
+#undef FLAG_I
+#undef FLAG_J
+#undef FLAG_K
+#undef FLAG_L
+#undef FLAG_M
+#undef FLAG_N
+#undef FLAG_O
+#undef FLAG_P
+#undef FLAG_Q
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_T
+#undef FLAG_U
+#undef FLAG_V
+#undef FLAG_W
+#undef FLAG_X
+#undef FLAG_Y
+#undef FLAG_Z
+#endif
+
 // tftp   <1b#<8>65464r:l:g|p|[!gp]
 #undef OPTSTR_tftp
 #define OPTSTR_tftp  0 
 #undef FLAG_s
 #endif
 
+// ttop   >0d#=3n#<1mb
+#undef OPTSTR_ttop
+#define OPTSTR_ttop  0 
+#ifdef CLEANUP_ttop
+#undef CLEANUP_ttop
+#undef FOR_ttop
+#undef FLAG_b
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_d
+#endif
+
 // tty s s
 #undef OPTSTR_tty
 #define OPTSTR_tty "s"
 #define FLAG_u (1<<7)
 #define FLAG_d (1<<8)
 #define FLAG_m (1<<9)
+#define FLAG_no_preserve_owner (1<<10)
 #endif
 
 #ifdef FOR_crond
 #define FLAG_m (1<<2)
 #define FLAG_g (1<<3)
 #define FLAG_t (1<<4)
+#define FLAG_h (1<<5)
 #endif
 
 #ifdef FOR_freeramdisk
 #define FLAG_a (1<<16)
 #define FLAG_ppid (1<<17)
 #define FLAG_P (1<<17)
+#define FLAG_sort (1<<18)
+#define FLAG_k (1<<18)
 #endif
 
 #ifdef FOR_pwd
 #define FLAG_i (FORCED_FLAG<<2)
 #endif
 
+#ifdef FOR_test_many_options
+#ifndef TT
+#define TT this.test_many_options
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_g (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_j (FORCED_FLAG<<9)
+#define FLAG_k (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_m (FORCED_FLAG<<12)
+#define FLAG_n (FORCED_FLAG<<13)
+#define FLAG_o (FORCED_FLAG<<14)
+#define FLAG_p (FORCED_FLAG<<15)
+#define FLAG_q (FORCED_FLAG<<16)
+#define FLAG_r (FORCED_FLAG<<17)
+#define FLAG_s (FORCED_FLAG<<18)
+#define FLAG_t (FORCED_FLAG<<19)
+#define FLAG_u (FORCED_FLAG<<20)
+#define FLAG_v (FORCED_FLAG<<21)
+#define FLAG_w (FORCED_FLAG<<22)
+#define FLAG_x (FORCED_FLAG<<23)
+#define FLAG_y (FORCED_FLAG<<24)
+#define FLAG_z (FORCED_FLAG<<25)
+#define FLAG_A (FORCED_FLAG<<26)
+#define FLAG_B (FORCED_FLAG<<27)
+#define FLAG_C (FORCED_FLAG<<28)
+#define FLAG_D (FORCED_FLAG<<29)
+#define FLAG_E (FORCED_FLAG<<30)
+#define FLAG_F (FORCED_FLAG<<31)
+#define FLAG_G (FORCED_FLAGLL<<32)
+#define FLAG_H (FORCED_FLAGLL<<33)
+#define FLAG_I (FORCED_FLAGLL<<34)
+#define FLAG_J (FORCED_FLAGLL<<35)
+#define FLAG_K (FORCED_FLAGLL<<36)
+#define FLAG_L (FORCED_FLAGLL<<37)
+#define FLAG_M (FORCED_FLAGLL<<38)
+#define FLAG_N (FORCED_FLAGLL<<39)
+#define FLAG_O (FORCED_FLAGLL<<40)
+#define FLAG_P (FORCED_FLAGLL<<41)
+#define FLAG_Q (FORCED_FLAGLL<<42)
+#define FLAG_R (FORCED_FLAGLL<<43)
+#define FLAG_S (FORCED_FLAGLL<<44)
+#define FLAG_T (FORCED_FLAGLL<<45)
+#define FLAG_U (FORCED_FLAGLL<<46)
+#define FLAG_V (FORCED_FLAGLL<<47)
+#define FLAG_W (FORCED_FLAGLL<<48)
+#define FLAG_X (FORCED_FLAGLL<<49)
+#define FLAG_Y (FORCED_FLAGLL<<50)
+#define FLAG_Z (FORCED_FLAGLL<<51)
+#endif
+
 #ifdef FOR_tftp
 #ifndef TT
 #define TT this.tftp
 #define FLAG_s (1<<1)
 #endif
 
+#ifdef FOR_ttop
+#ifndef TT
+#define TT this.ttop
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#endif
+
 #ifdef FOR_tty
 #ifndef TT
 #define TT this.tty
index 6c631b7..0f53409 100644 (file)
@@ -156,6 +156,7 @@ struct fallocate_data {
 struct free_data {
   unsigned bits;
   unsigned long long units;
+  char *buf;
 };
 
 // toys/other/hexedit.c
@@ -1127,23 +1128,33 @@ struct patch_data {
 // toys/posix/ps.c
 
 struct ps_data {
-  struct arg_list *G;
-  struct arg_list *g;
-  struct arg_list *U;
-  struct arg_list *u;
-  struct arg_list *t;
-  struct arg_list *s;
-  struct arg_list *p;
-  struct arg_list *o;
-  struct arg_list *P;
+  union {
+    struct {
+      struct arg_list *G;
+      struct arg_list *g;
+      struct arg_list *U;
+      struct arg_list *u;
+      struct arg_list *t;
+      struct arg_list *s;
+      struct arg_list *p;
+      struct arg_list *o;
+      struct arg_list *P;
+      struct arg_list *k;
+    } ps;
+    struct {
+      long n;
+      long d;
+    } ttop;
+  };
 
-  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU, *parsing;
+  struct sysinfo si;
+  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
   unsigned width;
   dev_t tty;
-  void *fields;
-  long bits;
-  long long ticks;
+  void *fields, *kfields;
+  long long ticks, bits;
   size_t header_len;
+  int kcount;
 };
 
 // toys/posix/renice.c
index f89f66a..526833f 100644 (file)
@@ -42,7 +42,9 @@
 
 #define help_getenforce "usage: getenforce\n\nShows whether SELinux is disabled, enforcing, or permissive.\n\n"
 
-#define help_test_human_readable "usage: test_human_readable [-sbi] NUMBER\n\n\n"
+#define help_test_many_options "usage: test_many_options -[a-zA-Z]\n\nPrint the optflags value of the command arguments, in hex.\n\n\n"
+
+#define help_test_human_readable "usage: test_human_readable [-sbi] NUMBER\n\n"
 
 #define help_skeleton_alias "usage: skeleton_alias [-dq] [-b NUMBER]\n\nExample of a second command with different arguments in the same source\nfile as the first. This allows shared infrastructure not added to lib/.\n\n"
 
 
 #define help_freeramdisk "usage: freeramdisk [RAM device]\n\nFree all memory allocated to specified ramdisk\n\n"
 
-#define help_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt        Output units (default is bytes)\n\n"
+#define help_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt        Output units (default is bytes)\n-h     Human readable\n\n"
 
 #define help_flock "usage: flock [-sxun] fd\n\nManage advisory file locks.\n\n-s       Shared lock.\n-x        Exclusive lock (default).\n-u   Unlock.\n-n     Non-blocking: fail rather than wait for the lock.\n\n"
 
 
 #define help_pwd "usage: pwd [-L|-P]\n\nPrint working (current) directory.\n\n-L  Use shell's path from $PWD (when applicable)\n-P  Print cannonical absolute path\n\n"
 
-#define help_ps "usage: ps [-AadeflnwZ] [-gG GROUP] [-o FIELD] [-p PID] [-t TTY] [-uU USER]\n\nList processes.\n\nWhich processes to show (selections may be comma separated lists):\n\n-A     All processes\n-a       Processes with terminals that aren't session leaders\n-d        All processes that aren't session leaders\n-e   Same as -A\n-g  Belonging to GROUPs\n-G Belonging to real GROUPs (before sgid)\n-p      PIDs (--pid)\n-P        Parent PIDs (--ppid)\n-s        In session IDs\n-t      Attached to selected TTYs\n-u   Owned by USERs\n-U      Owned by real USERs (before suid)\n\nOutput modifiers:\n\n-n    Show numeric USER and GROUP\n-w Wide output (don't truncate at terminal width)\n\nWhich FIELDs to show. (Default = -o PID,TTY,TIME,CMD)\n\n-f   Full listing (-o USER:8=UID,PID,PPID,C,STIME,TTY,TIME,CMD)\n-l  Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o      Output the listed FIELDs, each with optional :size and/or =title\n-Z    Include LABEL\n\nAvailable -o FIELDs:\n\n  ADDR    Instruction pointer\n  CMD     Command line (from /proc/pid/cmdline, including args)\n  CMDLINE Command line (from /proc/pid/cmdline, no args)\n  COMM    Command name (from /proc/pid/stat, no args)\n  ETIME   Elapsed time since process start\n  F       Process flags (PF_*) from linux source file include/sched.h\n          (in octal rather than hex because posix)\n  GID     Group id\n  GROUP   Group name\n  LABEL   Security label\n  MAJFL   Major page faults\n  MINFL   Minor page faults\n  NI      Niceness of process (lower niceness is higher priority)\n  PCPU    Percentage of CPU time used\n  PGID    Process Group ID\n  PID     Process ID\n  PPID    Parent Process ID\n  PRI     Priority\n  RGID    Real (before sgid) group ID\n  RGROUP  Real (before sgid) group name\n  RSS     Resident Set Size (memory currently used)\n  RUID    Real (before suid) user ID\n  RUSER   Real (before suid) user name\n  S       Process state:\n          R (running) S (sleeping) D (disk sleep) T (stopped)  t (traced)\n          Z (zombie)  X (dead)     x (dead)       K (wakekill) W (waking)\n  STAT    Process state (S) plus:\n          < high priority          N low priority L locked memory\n          s session leader         + foreground   l multithreaded\n  STIME   Start time of process in hh:mm (size :19 shows yyyy-mm-dd hh:mm:ss)\n  SZ      Memory Size (4k pages needed to completely swap out process)\n  TIME    CPU time consumed\n  TTY     Controlling terminal\n  UID     User id\n  USER    User name\n  VSZ     Virtual memory size (1k units)\n  WCHAN   Waiting in kernel for\n\n"
+#define help_ttop "\n"
+
+#define help_ps "usage: ps [-AadeflnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]\n\nList processes.\n\nWhich processes to show (selections may be comma separated lists):\n\n-A    All processes\n-a       Processes with terminals that aren't session leaders\n-d        All processes that aren't session leaders\n-e   Same as -A\n-g  Belonging to GROUPs\n-G Belonging to real GROUPs (before sgid)\n-p      PIDs (--pid)\n-P        Parent PIDs (--ppid)\n-s        In session IDs\n-t      Attached to selected TTYs\n-u   Owned by USERs\n-U      Owned by real USERs (before suid)\n\nOutput modifiers:\n\n-k    Sort FIELDs in +increasing or -decreasting order (--sort)\n-n   Show numeric USER and GROUP\n-w Wide output (don't truncate at terminal width)\n\nWhich FIELDs to show. (Default = -o PID,TTY,TIME,CMD)\n\n-f   Full listing (-o USER:8=UID,PID,PPID,C,STIME,TTY,TIME,CMD)\n-l  Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o      Output the listed FIELDs, each with optional :size and/or =title\n-Z    Include LABEL\n\nAvailable -o FIELDs:\n\n  ADDR    Instruction pointer\n  CMD     Command name (original)\n  CMDLINE Command name (current argv[0])\n  COMM    Command line (with arguments)\n  CPU     Which processor is process running on\n  ETIME   Elapsed time since process start\n  F       Process flags (PF_*) from linux source file include/sched.h\n          (in octal rather than hex because posix)\n  GID     Group id\n  GROUP   Group name\n  LABEL   Security label\n  MAJFL   Major page faults\n  MINFL   Minor page faults\n  NI      Niceness of process (lower niceness is higher priority)\n  PCPU    Percentage of CPU time used\n  PGID    Process Group ID\n  PID     Process ID\n  PPID    Parent Process ID\n  PRI     Priority\n  RGID    Real (before sgid) group ID\n  RGROUP  Real (before sgid) group name\n  RSS     Resident Set Size (memory currently used)\n  RUID    Real (before suid) user ID\n  RUSER   Real (before suid) user name\n  S       Process state:\n          R (running) S (sleeping) D (disk sleep) T (stopped)  t (traced)\n          Z (zombie)  X (dead)     x (dead)       K (wakekill) W (waking)\n  STAT    Process state (S) plus:\n          < high priority          N low priority L locked memory\n          s session leader         + foreground   l multithreaded\n  STIME   Start time of process in hh:mm (size :19 shows yyyy-mm-dd hh:mm:ss)\n  SZ      Memory Size (4k pages needed to completely swap out process)\n  TIME    CPU time consumed\n  TTY     Controlling terminal\n  UID     User id\n  USER    User name\n  VSZ     Virtual memory size (1k units)\n  WCHAN   Waiting in kernel for\n\n"
 
 #define help_printf "usage: printf FORMAT [ARGUMENT...]\n\nFormat and print ARGUMENT(s) according to FORMAT, using C printf syntax\n(% escapes for cdeEfgGiosuxX, \\ escapes for abefnrtv0 or \\OCTAL or \\xHEX).\n\n"
 
 
 #define help_grep "usage: grep [-EFivwcloqsHbhn] [-m MAX] [-e REGEX]... [-f REGFILE] [FILE]...\n\nShow lines matching regular expressions. If no -e, first argument is\nregular expression to match. With no files (or \"-\" filename) read stdin.\nReturns 0 if matched, 1 if no match found.\n\n-e  Regex to match. (May be repeated.)\n-f  File containing regular expressions to match.\n\nmatch type:\n-E  extended regex syntax    -F  fixed (match literal string)\n-i  case insensitive         -m  stop after this many lines matched\n-r  recursive (on dir)       -v  invert match\n-w  whole word (implies -E)  -x  whole line\n-z  input NUL terminated\n\ndisplay modes: (default: matched line)\n-c  count of matching lines  -l  show matching filenames\n-o  only matching part       -q  quiet (errors only)\n-s  silent (no error msg)    -Z  output NUL terminated\n\noutput prefix (default: filename if checking more than 1 file)\n-H  force filename           -b  byte offset of match\n-h  hide filename            -n  line number of match\n\n"
 
-#define help_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\" match all -print all matches.\n\n-H  Follow command line symlinks         -L  Follow all symlinks\n\nMatch filters:\n-name  PATTERN filename with wildcards   -iname      case insensitive -name\n-path  PATTERN path name with wildcards  -ipath      case insensitive -path\n-user  UNAME   belongs to user UNAME     -nouser     user not in /etc/passwd\n-group GROUP   belongs to group GROUP    -nogroup    group not in /etc/group\n-perm  [-]MODE permissons (-=at least)   -prune      ignore contents of dir\n-size  N[c]    512 byte blocks (c=bytes) -xdev       stay in this filesystem\n-links N       hardlink count            -atime N    accessed N days ago\n-ctime N       created N days ago        -mtime N    modified N days ago\n-newer FILE    newer mtime than FILE     -mindepth # at least # dirs down\n-depth         ignore contents of dir    -maxdepth # at most # dirs down\n-inum  N       inode number N\n-type [bcdflps] (block, char, dir, file, symlink, pipe, socket)\n\nNumbers N may be prefixed by a - (less than) or + (greater than):\n\nCombine matches with:\n!, -a, -o, ( )    not, and, or, group expressions\n\nActions:\n-print   Print match with newline  -print0    Print match with null\n-exec    Run command with path     -execdir   Run command in file's dir\n-ok      Ask before exec           -okdir     Ask before execdir\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n"
+#define help_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\" match all -print all matches.\n\n-H  Follow command line symlinks         -L  Follow all symlinks\n\nMatch filters:\n-name  PATTERN  filename with wildcards   -iname      case insensitive -name\n-path  PATTERN  path name with wildcards  -ipath      case insensitive -path\n-user  UNAME    belongs to user UNAME     -nouser     user ID not known\n-group GROUP    belongs to group GROUP    -nogroup    group ID not known\n-perm  [-/]MODE permissions (-=min /=any) -prune      ignore contents of dir\n-size  N[c]     512 byte blocks (c=bytes) -xdev       only this filesystem\n-links N        hardlink count            -atime N    accessed N days ago\n-ctime N        created N days ago        -mtime N    modified N days ago\n-newer FILE     newer mtime than FILE     -mindepth # at least # dirs down\n-depth          ignore contents of dir    -maxdepth # at most # dirs down\n-inum  N        inode number N\n-type [bcdflps] (block, char, dir, file, symlink, pipe, socket)\n\nNumbers N may be prefixed by a - (less than) or + (greater than):\n\nCombine matches with:\n!, -a, -o, ( )    not, and, or, group expressions\n\nActions:\n-print   Print match with newline  -print0    Print match with null\n-exec    Run command with path     -execdir   Run command in file's dir\n-ok      Ask before exec           -okdir     Ask before execdir\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n"
 
 #define help_false "Return nonzero.\n\n"
 
 
 #define help_cut "usage: cut OPTION... [FILE]...\n\nPrint selected parts of lines from each FILE to standard output.\n\n-b LIST        select only these bytes from LIST.\n-c LIST     select only these characters from LIST.\n-f LIST        select only these fields.\n-d DELIM     use DELIM instead of TAB for field delimiter.\n-s       do not print lines not containing delimiters.\n-n       don't split multibyte characters (Ignored).\n\n"
 
-#define help_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [ignored: -mdu -H newc]\n\ncopy files into and out of a \"newc\" format cpio archive\n\n-F FILE      use archive FILE instead of stdin/stdout\n-p DEST       copy-pass mode, copy stdin file list to directory DEST\n-i      extract from archive into file system (stdin=archive)\n-o       create archive (stdin=list of files, stdout=archive)\n-t        test files (list only, stdin=archive, stdout=list of files)\n-v verbose (list files during create/extract)\n\n"
+#define help_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]\n       [ignored: -mdu -H newc]\n\ncopy files into and out of a \"newc\" format cpio archive\n\n-F FILE        use archive FILE instead of stdin/stdout\n-p DEST       copy-pass mode, copy stdin file list to directory DEST\n-i      extract from archive into file system (stdin=archive)\n-o       create archive (stdin=list of files, stdout=archive)\n-t        test files (list only, stdin=archive, stdout=list of files)\n-v verbose (list files during create/extract)\n--no-preserve-owner (don't set ownership during extract)\n\n"
 
 #define help_install "usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [SOURCE...] DEST\n\nCopy files and set attributes.\n\n-d  Act like mkdir -p\n-D   Create leading directories for DEST\n-g Make copy belong to GROUP\n-m   Set permissions to MODE\n-o     Make copy belong to USER\n-p    Preserve timestamps\n-s Call \"strip -p\"\n-v   Verbose\n\n"
 
index acdc6b9..941094b 100644 (file)
@@ -33,7 +33,7 @@ USE_COMM(NEWTOY(comm, "<2>2321", TOYFLAG_USR|TOYFLAG_BIN))
 USE_COMPRESS(NEWTOY(compress, "zcd9lrg[-cd][!zgLr]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN))
 USE_CP(NEWTOY(cp, "<2"USE_CP_PRESERVE("(preserve):;")"RHLPp"USE_CP_MORE("rdaslvnF(remove-destination)")"fi[-HLP"USE_CP_MORE("d")"]"USE_CP_MORE("[-ni]"), TOYFLAG_BIN))
-USE_CPIO(NEWTOY(cpio, "mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
+USE_CPIO(NEWTOY(cpio, "(no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
 USE_CROND(NEWTOY(crond, "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
 USE_CRONTAB(NEWTOY(crontab, "c:u:elr[!elr]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
 USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
@@ -67,7 +67,7 @@ USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN))
 USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
-USE_FREE(NEWTOY(free, "tgmkb[!tgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREE(NEWTOY(free, "htgmkb[!htgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FREERAMDISK(NEWTOY(freeramdisk, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
 USE_FSCK(NEWTOY(fsck, "?t:ANPRTVsC#", TOYFLAG_USR|TOYFLAG_BIN))
 USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN))
@@ -171,7 +171,7 @@ USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_BIN))
 USE_REBOOT(OLDTOY(poweroff, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
 USE_PRINTENV(NEWTOY(printenv, "0(null)", TOYFLAG_USR|TOYFLAG_BIN))
 USE_PRINTF(NEWTOY(printf, "<1?^", TOYFLAG_USR|TOYFLAG_BIN))
-USE_PS(NEWTOY(ps, "P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_PWD(NEWTOY(pwd, ">0LP[-LP]", TOYFLAG_BIN))
 USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
 USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN))
@@ -221,6 +221,7 @@ USE_TELNET(NEWTOY(telnet, "<1>2", TOYFLAG_BIN))
 USE_TELNETD(NEWTOY(telnetd, "w#<0b:p#<0>65535=23f:l:FSKi[!wi]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_TEST(NEWTOY(test, NULL, TOYFLAG_USR|TOYFLAG_BIN))
 USE_TEST_HUMAN_READABLE(NEWTOY(test_human_readable, "<1>1ibs", 0))
+USE_TEST_MANY_OPTIONS(NEWTOY(test_many_options, "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba", TOYFLAG_USR|TOYFLAG_BIN))
 USE_TFTP(NEWTOY(tftp, "<1b#<8>65464r:l:g|p|[!gp]", TOYFLAG_USR|TOYFLAG_BIN))
 USE_TFTPD(NEWTOY(tftpd, "rcu:l", TOYFLAG_BIN))
 USE_TIME(NEWTOY(time, "<1^p", TOYFLAG_USR|TOYFLAG_BIN))
@@ -233,6 +234,7 @@ USE_TRACEROUTE(NEWTOY(traceroute, "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<
 USE_TRACEROUTE(OLDTOY(traceroute6,traceroute, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
 USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN))
 USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_BIN))
+USE_TTOP(NEWTOY(ttop, ">0d#=3n#<1mb", TOYFLAG_USR|TOYFLAG_BIN))
 USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN))
 USE_TCPSVD(OLDTOY(udpsvd, tcpsvd, TOYFLAG_USR|TOYFLAG_BIN))
 USE_UMOUNT(NEWTOY(umount, "ndDflrat*v[!na]", TOYFLAG_BIN|TOYFLAG_STAYROOT))