Fix a segfault in lash, hush, and cmdedit. Each of these used
[oweals/busybox.git] / usage.h
diff --git a/usage.h b/usage.h
index abd0156adcbebed472965578104cd9ae88b334c3..78ee628ab59e79ee7c7b65403d6a037c840ec5fc 100644 (file)
--- a/usage.h
+++ b/usage.h
        "-r--r--r--    1 root     root            0 Apr 12 18:25 /tmp/foo\n"
 
 #define chown_trivial_usage \
-       "[OPTION]...  OWNER[<.|:>[GROUP]] FILE..."
+       "[ -Rh ]...  OWNER[<.|:>[GROUP]] FILE..."
 #define chown_full_usage \
        "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" \
        "\nOptions:\n" \
-       "\t-R\tChanges files and directories recursively."
+       "\t-R\tChanges files and directories recursively.\n" \
+       "\t-h\tDo not dereference symbolic links."
 #define chown_example_usage \
        "$ ls -l /tmp/foo\n" \
        "-r--r--r--    1 andersen andersen        0 Apr 12 18:25 /tmp/foo\n" \
 #define cmp_trivial_usage \
        "FILE1 [FILE2]"
 #define cmp_full_usage \
+       "\t-s\tquiet mode - do not print\n" \
        "Compare files."
 
 #define cp_trivial_usage \
        "WORK IN PROGRESS, only usefull for debian-installer"
 
 #define dpkg_deb_trivial_usage \
-       "[-cexX] file directory"
+       "[-cefItxX] file [argument]"
 #define dpkg_deb_full_usage \
        "Perform actions on debian packages (.debs)\n\n" \
        "Options:\n" \
-       "\t-c\tList contents of filesystem tree (verbose)\n" \
-       "\t-l\tList contents of filesystem tree (.list format)\n" \
-       "\t-e\tExtract control files to directory\n" \
+       "\t-c\tList contents of filesystem tree\n" \
+       "\t-e\tExtract control files to [argument] directory\n" \
+       "\t-f\tDisplay control field name starting with [argument]\n" \
+       "\t-I\tDisplay the control filenamed [argument]\n" \
+       "\t-t\tExtract filesystem tree to stdout in tar format\n" \
        "\t-x\tExctract packages filesystem tree to directory\n" \
        "\t-X\tVerbose extract"
 #define dpkg_deb_example_usage \
 #define echo_example_usage \
        "$ echo "Erik is cool"\n" \
        "Erik is cool\n" \
-       "$  echo -e "Erik\nis\ncool"\n" \
+       "$  echo -e "Erik\\nis\\ncool"\n" \
        "Erik\n" \
        "is\n" \
        "cool\n" \
        "Erik\nis\ncool\n"
 
 #define env_trivial_usage \
-       "[-] [-iu] [name=value ...] [command]"
+       "[-iu] [-] [name=value]... [command]"
 #define env_full_usage \
        "Prints the current environment or runs a program after setting\n" \
        "up the specified environment.\n\n" \
        "the current directory; default EXPRESSION is '-print'\n" \
        "\nEXPRESSION may consist of:\n" \
        "\t-follow\t\tDereference symbolic links.\n" \
-       "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN." \
+       "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n" \
        "\t-print\t\tPrint (default and assumed).\n" \
        USAGE_FIND_TYPE( \
        "\n\t-type X\t\tFiletype matches X (where X is one of: f,d,l,b,c,...)" \
        "\t-H\tprefix output lines with filename where match was found\n" \
        "\t-h\tsuppress the prefixing filename on output\n" \
        "\t-i\tignore case distinctions\n" \
+       "\t-l\tlist names of files that match\n" \
        "\t-n\tprint line number with output lines\n" \
        "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n" \
        "\t-v\tselect non-matching lines\n" \
 #define length_full_usage \
        "Prints out the length of the specified STRING."
 #define length_example_usage \
-       "$ length "Hello"\n" \
+       "$ length Hello\n" \
        "5\n"
 
 #define ln_trivial_usage \
        "Formats and prints ARGUMENT(s) according to FORMAT,\n" \
        "Where FORMAT controls the output exactly as in C printf."
 #define printf_example_usage \
-       "$ printf "Val=%d\n" 5\n" \
+       "$ printf "Val=%d\\n" 5\n" \
        "Val=5\n" 
 
 #define ps_trivial_usage \
 #define reset_full_usage \
        "Resets the screen."
 
-#ifdef BB_FEATURE_RM_INTERACTIVE
-  #define USAGE_RM_INTERACTIVE(a) a
-#else
-  #define USAGE_RM_INTERACTIVE(a)
-#endif
 #define rm_trivial_usage \
        "[OPTION]... FILE..."
 #define rm_full_usage \
        "Remove (unlink) the FILE(s).  You may use '--' to\n" \
        "indicate that all following arguments are non-options.\n\n" \
        "Options:\n" \
-       USAGE_RM_INTERACTIVE("\t-i\t\talways prompt before removing each destinations\n") \
+       "\t-i\t\talways prompt before removing each destinations\n" \
        "\t-f\t\tremove existing destinations, never prompt\n" \
        "\t-r or -R\tremove the contents of directories recursively"
 #define rm_example_usage \
        "[2 second delay results]\n"
 
 
+#ifdef BB_FEATURE_SORT_UNIQUE
+  #define USAGE_SORT_UNIQUE(a) a
+#else
+  #define USAGE_SORT_UNIQUE(a)
+#endif
 #ifdef BB_FEATURE_SORT_REVERSE
   #define USAGE_SORT_REVERSE(a) a
 #else
   #define USAGE_SORT_REVERSE(a)
 #endif
 #define sort_trivial_usage \
-       "[-n]" USAGE_SORT_REVERSE(" [-r]") " [FILE]..."
+       "[-n" USAGE_SORT_REVERSE("r") USAGE_SORT_UNIQUE("u") "] [FILE]..."
 #define sort_full_usage \
-       "Sorts lines of text in the specified files"
+       "Sorts lines of text in the specified files\n\n"\
+       "Options:\n" \
+       USAGE_SORT_UNIQUE("\t-u\tsuppress duplicate lines\n") \
+       USAGE_SORT_REVERSE("\t-r\tsort in reverse order\n") \
+       "\t-n\tsort numerics"
 #define sort_example_usage \
-       "$ echo -e "e\nf\nb\nd\nc\na" | sort\n" \
+       "$ echo -e \"e\\nf\\nb\\nd\\nc\\na\" | sort\n" \
        "a\n" \
        "b\n" \
        "c\n" \
         USAGE_TFTP_PUT(        \
        "\tput\tPut local file SOURCE to server DEST.\n" \
        ) \
-       "\nWhen nameing a server, use the syntax \"server:file\"."
+       "\nWhen naming a server, use the syntax \"server:file\"."
 
 #define touch_trivial_usage \
        "[-c] file [file ...]"
        "[flags] filesystem|directory"
 #define umount_full_usage \
        "Unmount file systems\n" \
-       "\nFlags:\n" "\t-a:\tUnmount all file systems" \
-       USAGE_MTAB(" in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries") \
-       "\n\t-r:\tTry to remount devices as read-only if mount is busy" \
-       USAGE_MOUNT_FORCE("\n\t-f:\tForce filesystem umount (i.e. unreachable NFS server)") \
-       USAGE_MOUNT_LOOP("\n\t-l:\tDo not free loop device (if a loop device has been used)")
+       "\nFlags:\n" "\t-a\tUnmount all file systems" \
+       USAGE_MTAB(" in /etc/mtab\n\t-n\tDon't erase /etc/mtab entries") \
+       "\n\t-r\tTry to remount devices as read-only if mount is busy" \
+       USAGE_MOUNT_FORCE("\n\t-f\tForce filesystem umount (i.e. unreachable NFS server)") \
+       USAGE_MOUNT_LOOP("\n\t-l\tDo not free loop device (if a loop device has been used)")
 #define umount_example_usage \
        "$ umount /dev/hdc1 \n"
 
        "\t-d\tonly print duplicate lines\n" \
        "\t-u\tonly print unique lines"
 #define uniq_example_usage \
-       "$ echo -e "a\na\nb\nc\nc\na" | sort | uniq\n" \
+       "$ echo -e \"a\\na\\nb\\nc\\nc\\na\" | sort | uniq\n" \
        "a\n" \
        "b\n" \
        "c\n"
        "     31      46    1365 /etc/passwd\n" 
 
 #define wget_trivial_usage \
-       "[-c] [-O file] url"
+       "[-c] [-q] [-O file] url"
 #define wget_full_usage \
-       "wget retrieves files via HTTP\n\n" \
+       "wget retrieves files via HTTP or FTP\n\n" \
        "Options:\n" \
        "\t-c\tcontinue retrieval of aborted transfers\n" \
+       "\t-q\tquiet mode - do not print\n" \
        "\t-O\tsave to filename ('-' for stdout)"
 
 #define which_trivial_usage \