$OpenBSD: patch-src_cli_c,v 1.1 2004/01/04 23:15:03 espie Exp $
--- src/cli.c.orig	2001-10-03 22:05:41.000000000 +0200
+++ src/cli.c	2004-01-05 00:10:57.000000000 +0100
@@ -91,365 +91,364 @@ char * ratings[] = {
 };
 
 COMMAND commands[] = {
-  {"blacklist", com_blacklist, "Blacklist IP addresses or patterns.", "
-blacklist *args* - Add one or more hosts, port numbers, subnets,
-or search reply strings to the blacklist. All Gnutella nodes on the
-blacklist, and all query replies that match the blacklist will be
-ignored. Used properly, this can eliminate lots of spam. (See also
-the *search_extensions* and *strict_search* variables)
-
-Syntax of the arguments is:
-
- blacklist [ host *hostname* [subnet *bits*]] [search *string*]
-           [ all | ping | search | incoming | outgoing | http ]
-
-(all should be on one line)
-
-Examples:
-
-  blacklist host 1.2.3.4 all        Blacklists one host: All queries, replies,
-                                    connection attempts, etc. from that host
-                                    will be ignored.
-
-  blacklist host 1.2.3.4 incoming   Prevents incoming connections from
-                                    one host, but other activity (searches,
-                                    etc) involving that host is still allowed.
-
-  blacklist host 1.2.3.1 subnet 8   Blacklists everyone from 1.2.3.1 to
-                                    1.2.3.255 (the '8' refers to the last 8
-                                    bits of the IP address).
-
-  blacklist search hitler search    Stops any search that includes 'hitler'
-                                    from passing through this server.
-"
+  {"blacklist", com_blacklist, "Blacklist IP addresses or patterns.", "\n"
+"blacklist *args* - Add one or more hosts, port numbers, subnets,\n"
+"or search reply strings to the blacklist. All Gnutella nodes on the\n"
+"blacklist, and all query replies that match the blacklist will be\n"
+"ignored. Used properly, this can eliminate lots of spam. (See also\n"
+"the *search_extensions* and *strict_search* variables)\n"
+"\n"
+"Syntax of the arguments is:\n"
+"\n"
+" blacklist [ host *hostname* [subnet *bits*]] [search *string*]\n"
+"           [ all | ping | search | incoming | outgoing | http ]\n"
+"\n"
+"(all should be on one line)\n"
+"\n"
+"Examples:\n"
+"\n"
+"  blacklist host 1.2.3.4 all        Blacklists one host: All queries, replies,\n"
+"                                    connection attempts, etc. from that host\n"
+"                                    will be ignored.\n"
+"\n"
+"  blacklist host 1.2.3.4 incoming   Prevents incoming connections from\n"
+"                                    one host, but other activity (searches,\n"
+"                                    etc) involving that host is still allowed.\n"
+"\n"
+"  blacklist host 1.2.3.1 subnet 8   Blacklists everyone from 1.2.3.1 to\n"
+"                                    1.2.3.255 (the '8' refers to the last 8\n"
+"                                    bits of the IP address).\n"
+"\n"
+"  blacklist search hitler search    Stops any search that includes 'hitler'\n"
+"                                    from passing through this server.\n"
+},
+  {"clear",     com_clear,  "Clear finished transfer(s).", "\n"
+"clear *range* - Removes finished transfers from the transfer list. If\n"
+"no range is given, all completed transfers will be removed. You\n"
+"can also set the 'auto_clear' variable to make this automatic.\n"
+"Range numbers work the same way as for the 'stop' command.\n"
 },
-  {"clear",     com_clear,  "Clear finished transfer(s).", "
-clear *range* - Removes finished transfers from the transfer list. If
-no range is given, all completed transfers will be removed. You
-can also set the 'auto_clear' variable to make this automatic.
-Range numbers work the same way as for the 'stop' command.
-"},
   {"cls",       com_cls,	"Clears the screen.", 0},
-  {"debug",     com_debug,  "Do whatever I feel like today.", "
-debug - A command used by Josh to try out and/or debug new parts of
-gnut. Since version 0.3.29 it has shown a list of shared files
-that match a query for 'mpg'.
-"},
-  {"eval",      com_eval,   "Run a command through a shell, then execute its output as gnut commands.", "
-eval *cmd* *args* - Evaluate shell escape: runs a shell and sends a
-command to it, then executes its output as gnut commands.
-(UNIX users only) Here is an example (IMPORTANT: This should all be
-typed as a single line):
-
-   eval perl -e \"$bl=\\\"gnut_settings\\\";
-          system \\\"wget -q http://10.1.2.3:8080/$bl\\\";
-          open FILE, \\\"$bl\\\" or die \\\"Couldn't open $bl\\\";
-          print \\\"load $bl\\\";\"
-
-This example uses 'wget' (type '! man wget' to see if you have this
-tool) to try to get a file called 'gnut_settings' from an HTTP
-server called '10.2.3.4:8080', and if the file is successfully
-loaded, runs the gnut command 'load gnut_settings'. This method can
-be used inside an organization like a school or company to load a
-centralized 'gnut' settings file, or perhaps an up-to-date host
-list.
-
-An 'eval' command can output multiple lines; all of which will
-be interpreted as gnut commands.
-"},
+  {"debug",     com_debug,  "Do whatever I feel like today.", "\n"
+"debug - A command used by Josh to try out and/or debug new parts of\n"
+"gnut. Since version 0.3.29 it has shown a list of shared files\n"
+"that match a query for 'mpg'.\n"
+},
+  {"eval",      com_eval,   "Run a command through a shell, then execute its output as gnut commands.", "\n"
+"eval *cmd* *args* - Evaluate shell escape: runs a shell and sends a\n"
+"command to it, then executes its output as gnut commands.\n"
+"(UNIX users only) Here is an example (IMPORTANT: This should all be\n"
+"typed as a single line):\n"
+"\n"
+"   eval perl -e \"$bl=\\\"gnut_settings\\\";\n"
+"          system \\\"wget -q http://10.1.2.3:8080/$bl\\\";\n"
+"          open FILE, \\\"$bl\\\" or die \\\"Couldn't open $bl\\\";\n"
+"          print \\\"load $bl\\\";\"\n"
+"\n"
+"This example uses 'wget' (type '! man wget' to see if you have this\n"
+"tool) to try to get a file called 'gnut_settings' from an HTTP\n"
+"server called '10.2.3.4:8080', and if the file is successfully\n"
+"loaded, runs the gnut command 'load gnut_settings'. This method can\n"
+"be used inside an organization like a school or company to load a\n"
+"centralized 'gnut' settings file, or perhaps an up-to-date host\n"
+"list.\n"
+"\n"
+"An 'eval' command can output multiple lines; all of which will\n"
+"be interpreted as gnut commands.\n"
+},
   {"exit",      com_quit,   "Synonym for 'quit'.", 0},
-  {"find",      com_find,   "Search the Gnutella network.", "
-find *string* - Search the Gnutella network for *string*. The string
-you supply is is sent as-is to the network. Nearly every Gnutella node
-(servent) specifies this as a boolean AND search with all
-non-alphanumeric characters ignored and ignoring upper/lower case. If
-you want to force *all* searches to be boolean AND matches, set the
-'strict_search' configuration variable. If you want to force
-non-alphanumeric characters to be ignored, simply leave all
-non-alphanumeric characters out of your search string.
-
-'find' with no arguments displays search responses. If you wait a while
-and repeat, you usually have more responses.
-"},
-  {"forget",    com_forget, "Remove item(s) from search responses list.", "
-forget *range*
-forget *keywords*
-forget = *number*   Remove items from the search responses list. You won't
-see the specified items again until you issue a new 'search' command, but
-if multi-searching is enabled (by settimg the \"multi_enable\" configuration
-flag) then the 'forget' items stay forgotten until you use 'lclear' to clear
-the whole response list.
-
-If you supply a *range*, as in the following examples, items are deleted,
-the numbers come from the output given by the 'response' command (or
-'find' or 'search' with no argument):
-
-    forget 1                - Forget first file
-    forget 3-6              - Forget 3,4,5,6
-    forget 2,10-12          - Forget 2,10,11,12
-
-If you supply keywords, it will forget items that match those keywords
-
-    forget john             - Forget any item that includes 'john' in the
-                              filename
-
-If you give '=' and a number, it will forget items whose size is exactly
-the same as the one with that number:
-
-    forget = 27             - Forget all items with the same size as item 27
-
-If you give '>' or '<' and a number, it will forget items whose size is
-greater than (or less than) that number. The number can also include 'k'
-or 'M':
-
-    forget > 27k            - Forget all items size greater than 27000 bytes
-    forget < 27 M           - Forget all items size less than 27000000 bytes
-"},
-  {"get",       com_get,    "Start download(s).", "
-get *range* - Start downloading files referenced by *range*. If more
-downloads are requested than allowed by max_uploads, then the
-downloads are queued.
-
-NOTE: The number you give 'get' is the number from the latest 'response'
-command, (or 'find' or 'search' with no argument). Examples:
-
-    get 1                   - Get first file
-    get 3-6                 - Get 3,4,5,6
-    get 2,10-12             - Get 2,10,11,12
-"},
-  {"help",      com_help,   "Display help.", "
-help *command* - Describe a command and its options (sometimes with
-examples)
-
-help - Show a one-line summary for all commands.
-"},
-  {"hosts",     com_hosts,  "Display host catcher.", "
-hosts - Displays all known hosts. NOTE: This can result in a lot
-of information!
-
-hosts *file* - Reads a file containing host addresses, which should
-be in 'gnutella.txt' format.
-"},
-  {"info",      com_info,   "Display various information.", "
-info [hqnsct] - Display various information. Any combination of the
-following may be given:
-     h - host totals
-     q - queries received and replies sent
-     n - network traffic totals
-     s - shared files on this machine
-     c - connections (GnutellaNet only)
-     t - transfers in progress
-     u - upload transfers in progress
-     d - download transfers in progress
-"},
-  {"kill",      com_kill,   "Terminate connection(s).", "
-
-kill *range* - Terminate the gnutella connections referenced by
-*range*. The numbers you give the 'kill' command come from the 'info'
-or 'info c' command. There is also the special parameter 'w' for
-killing the worst connection. Examples:
-
-    kill 1                  - Kill connection #1
-    kill w                  - Kill the connection with the worst
-                              dropped-duplicate packets statistic.
-    kill 3-6                - Kill connections 3,4,5,6
-    kill 2,10-12            - Kill connections 2,10,11,12
-"},
-  {"last",    com_last, "Show last turd.", "
-last - Shows message from last failed download
-"},
-  {"lclear",    com_lclear, "Clear search list.", "
-lclear - Clear all active searches and responses.
-
-lclear GUID
-lclear \"string\" - Clear an active search (the GUID is as shown in
-the 'list' command)
-
-lclear only works if multi-searching is enabled (by settimg the
-\"multi_enable\" configuration flag)
-
-Examples:
-
-    lclear 4124          # removes the search with GUID 4124
-    lclear 'grateful'    # removes the search for \"grateful\"
-    lclear \"she's\"       # removes the search for \"she's\"
-    lclear               # removes all searches and responses
-"},
-  {"limit",     com_limit,  "Impose bandwidth limits on transfers.", "
-limit *num* *range* - Limit the transfers referenced by *range* to
-*num* bytes per second.  The numbers you give the 'limit' command
-come from the 'info' or 'info t' command. Examples:
-
-    limit 1500 1            - Limit transfer #1 to 1500 bytes per second
-    limit 100               - Limit *all* transfers to 100 bytes per second
-    limit 2000 2,10-12      - Limit transfers 2,10,11,12 to 2000 bytes
-                              per second.
-"},
-  {"list",      com_list,   "List all current searches.", "
-list - List the active searches (if multi-searching is enabled by
-setting the \"multi_enable\" configuration flag).
-"},
-  {"load",      com_load,   "Load a configuration file.", "
-load *file* - load a file containing gnut commands. This is a useful
-way to automate certain complex actions. For example, I have a file
-that contains the following:
-
-    # close down the GnutellaNet
-    set max_uploads 0
-    set min_connections 0
-    set max_incoming 0
-    kill
-    # Prevent new uploads
-    set max_uploads 0
-    # Unthrottle all current uploads
-    set default_upload_cap 0
-    limit 0
-    # see what's loading right now
-    info t
-
-This file is called 'shutdown'. When I type 'load shutdown', it runs
-all these commands. It closes all Gnutelllanet connections, prevents
-any new uploads from starting and removes any transfer speed limits
-(if any) on current uploads. I do this just before I'm about to quit
-gnut, to allow uploads to finish as soon as possible without new
-uploads starting; this enables me to quit without cutting them off.
-"},
-  {"log",       com_log,    "Set logging level.", "
-log *num* - Set the current log level to *num*. This prints debugging
-info. Bigger numbers produce more; anything above 2 is asking for
-trouble!
-"},
-  {"lshare",    com_lshare, "List shared files.", "
-lshare - list pathnames and refnums of all shared files.
-"},
-  {"monitor",   com_monitor,"Monitor search requests.", "
-monitor *keywords* - Monitor incoming search queries. If arguments
-are supplied, they are used for a boolean AND match (ignoring case)
-before displaying search queries. Example:
-
-    monitor                  - Display all searches (lots of output)
-    monitor fred jpg         - Only display searches that contain both
-                               'fred' and 'jpg'.
-"},
-  {"ls",    com_list,   "Synonym for 'list'.", "
-ls - synonym for 'list' (type 'help list')
-"},
-  {"mpush",     com_mpush,  "Monitor push requests routed to others.", "
-mpush *keywords* - Monitor push requests issued by others. While
-*mreply* lets you see what files are available on the network,
-*mpush* lets you find out which of those files are actually in demand.
-
-NOTE: Push requests are kind of rare, and gnut cannot always identify the
-file being requested. So, you won't see much when you use 'mpush'. Try it
-sometime when you can let it run for an hour or two.
-"},
-  {"mreply",    com_mreply, "Monitor search replies routed to others.", "
-mreply *keywords* - Monitor replies to search queries that others
-have issued. While *monitor* lets you see what people are searching for,
-*mreply* lets you find out what's actually available on the network.
-As with *monitor*, arguments can be given to specify a
-boolean AND match (ignoring case)  before displaying filenames.
-"},
-  {"open",      com_open,   "Open a new connection.", "
-open *host*:*port* - Open outgoing connection to *host*. Examples:
-
-    open 127.0.0.1:5346      - Create a connection to yourself (useful
-                               for searching your own files)
-    open 10.23.45.67         - Default port number is 6346, the normal
-                               Gnutella port number.
-    open nonexist.site:1234  - You can give host name instead of IP
-"},
+  {"find",      com_find,   "Search the Gnutella network.", "\n"
+"find *string* - Search the Gnutella network for *string*. The string\n"
+"you supply is is sent as-is to the network. Nearly every Gnutella node\n"
+"(servent) specifies this as a boolean AND search with all\n"
+"non-alphanumeric characters ignored and ignoring upper/lower case. If\n"
+"you want to force *all* searches to be boolean AND matches, set the\n"
+"'strict_search' configuration variable. If you want to force\n"
+"non-alphanumeric characters to be ignored, simply leave all\n"
+"non-alphanumeric characters out of your search string.\n"
+"\n"
+"'find' with no arguments displays search responses. If you wait a while\n"
+"and repeat, you usually have more responses.\n"
+},
+  {"forget",    com_forget, "Remove item(s) from search responses list.", "\n"
+"forget *range*\n"
+"forget *keywords*\n"
+"forget = *number*   Remove items from the search responses list. You won't\n"
+"see the specified items again until you issue a new 'search' command, but\n"
+"if multi-searching is enabled (by settimg the \"multi_enable\" configuration\n"
+"flag) then the 'forget' items stay forgotten until you use 'lclear' to clear\n"
+"the whole response list.\n"
+"\n"
+"If you supply a *range*, as in the following examples, items are deleted,\n"
+"the numbers come from the output given by the 'response' command (or\n"
+"'find' or 'search' with no argument):\n"
+"\n"
+"    forget 1                - Forget first file\n"
+"    forget 3-6              - Forget 3,4,5,6\n"
+"    forget 2,10-12          - Forget 2,10,11,12\n"
+"\n"
+"If you supply keywords, it will forget items that match those keywords\n"
+"\n"
+"    forget john             - Forget any item that includes 'john' in the\n"
+"                              filename\n"
+"\n"
+"If you give '=' and a number, it will forget items whose size is exactly\n"
+"the same as the one with that number:\n"
+"\n"
+"    forget = 27             - Forget all items with the same size as item 27\n"
+"\n"
+"If you give '>' or '<' and a number, it will forget items whose size is\n"
+"greater than (or less than) that number. The number can also include 'k'\n"
+"or 'M':\n"
+"\n"
+"    forget > 27k            - Forget all items size greater than 27000 bytes\n"
+"    forget < 27 M           - Forget all items size less than 27000000 bytes\n"
+},
+  {"get",       com_get,    "Start download(s).", "\n"
+"get *range* - Start downloading files referenced by *range*. If more\n"
+"downloads are requested than allowed by max_uploads, then the\n"
+"downloads are queued.\n"
+"\n"
+"NOTE: The number you give 'get' is the number from the latest 'response'\n"
+"command, (or 'find' or 'search' with no argument). Examples:\n"
+"\n"
+"    get 1                   - Get first file\n"
+"    get 3-6                 - Get 3,4,5,6\n"
+"    get 2,10-12             - Get 2,10,11,12\n"
+},
+  {"help",      com_help,   "Display help.", "\n"
+"help *command* - Describe a command and its options (sometimes with\n"
+"examples)\n"
+"\n"
+"help - Show a one-line summary for all commands.\n"
+},
+  {"hosts",     com_hosts,  "Display host catcher.", "\n"
+"hosts - Displays all known hosts. NOTE: This can result in a lot\n"
+"of information!\n"
+"\n"
+"hosts *file* - Reads a file containing host addresses, which should\n"
+"be in 'gnutella.txt' format.\n"
+},
+  {"info",      com_info,   "Display various information.", "\n"
+"info [hqnsct] - Display various information. Any combination of the\n"
+"following may be given:\n"
+"     h - host totals\n"
+"     q - queries received and replies sent\n"
+"     n - network traffic totals\n"
+"     s - shared files on this machine\n"
+"     c - connections (GnutellaNet only)\n"
+"     t - transfers in progress\n"
+"     u - upload transfers in progress\n"
+"     d - download transfers in progress\n"
+},
+  {"kill",      com_kill,   "Terminate connection(s).", "\n"
+"\n"
+"kill *range* - Terminate the gnutella connections referenced by\n"
+"*range*. The numbers you give the 'kill' command come from the 'info'\n"
+"or 'info c' command. There is also the special parameter 'w' for\n"
+"killing the worst connection. Examples:\n"
+"\n"
+"    kill 1                  - Kill connection #1\n"
+"    kill w                  - Kill the connection with the worst\n"
+"                              dropped-duplicate packets statistic.\n"
+"    kill 3-6                - Kill connections 3,4,5,6\n"
+"    kill 2,10-12            - Kill connections 2,10,11,12\n"
+},
+  {"last",    com_last, "Show last turd.", "\n"
+"last - Shows message from last failed download\n"
+},
+  {"lclear",    com_lclear, "Clear search list.", "\n"
+"lclear - Clear all active searches and responses.\n"
+"\n"
+"lclear GUID\n"
+"lclear \"string\" - Clear an active search (the GUID is as shown in\n"
+"the 'list' command)\n"
+"\n"
+"lclear only works if multi-searching is enabled (by settimg the\n"
+"\"multi_enable\" configuration flag)\n"
+"\n"
+"Examples:\n"
+"\n"
+"    lclear 4124          # removes the search with GUID 4124\n"
+"    lclear 'grateful'    # removes the search for \"grateful\"\n"
+"    lclear \"she's\"       # removes the search for \"she's\"\n"
+"    lclear               # removes all searches and responses\n"
+},
+  {"limit",     com_limit,  "Impose bandwidth limits on transfers.", "\n"
+"limit *num* *range* - Limit the transfers referenced by *range* to\n"
+"*num* bytes per second.  The numbers you give the 'limit' command\n"
+"come from the 'info' or 'info t' command. Examples:\n"
+"\n"
+"    limit 1500 1            - Limit transfer #1 to 1500 bytes per second\n"
+"    limit 100               - Limit *all* transfers to 100 bytes per second\n"
+"    limit 2000 2,10-12      - Limit transfers 2,10,11,12 to 2000 bytes\n"
+"                              per second.\n"
+},
+  {"list",      com_list,   "List all current searches.", "\n"
+"list - List the active searches (if multi-searching is enabled by\n"
+"setting the \"multi_enable\" configuration flag).\n"
+},
+  {"load",      com_load,   "Load a configuration file.", "\n"
+"load *file* - load a file containing gnut commands. This is a useful\n"
+"way to automate certain complex actions. For example, I have a file\n"
+"that contains the following:\n"
+"\n"
+"    # close down the GnutellaNet\n"
+"    set max_uploads 0\n"
+"    set min_connections 0\n"
+"    set max_incoming 0\n"
+"    kill\n"
+"    # Prevent new uploads\n"
+"    set max_uploads 0\n"
+"    # Unthrottle all current uploads\n"
+"    set default_upload_cap 0\n"
+"    limit 0\n"
+"    # see what's loading right now\n"
+"    info t\n"
+"\n"
+"This file is called 'shutdown'. When I type 'load shutdown', it runs\n"
+"all these commands. It closes all Gnutelllanet connections, prevents\n"
+"any new uploads from starting and removes any transfer speed limits\n"
+"(if any) on current uploads. I do this just before I'm about to quit\n"
+"gnut, to allow uploads to finish as soon as possible without new\n"
+"uploads starting; this enables me to quit without cutting them off.\n"
+},
+  {"log",       com_log,    "Set logging level.", "\n"
+"log *num* - Set the current log level to *num*. This prints debugging\n"
+"info. Bigger numbers produce more; anything above 2 is asking for\n"
+"trouble!\n"
+},
+  {"lshare",    com_lshare, "List shared files.", "\n"
+"lshare - list pathnames and refnums of all shared files.\n"
+},
+  {"monitor",   com_monitor,"Monitor search requests.", "\n"
+"monitor *keywords* - Monitor incoming search queries. If arguments\n"
+"are supplied, they are used for a boolean AND match (ignoring case)\n"
+"before displaying search queries. Example:\n"
+"\n"
+"    monitor                  - Display all searches (lots of output)\n"
+"    monitor fred jpg         - Only display searches that contain both\n"
+"                               'fred' and 'jpg'.\n"
+},
+  {"ls",    com_list,   "Synonym for 'list'.", "\n"
+"ls - synonym for 'list' (type 'help list')\n"
+},
+  {"mpush",     com_mpush,  "Monitor push requests routed to others.", "\n"
+"mpush *keywords* - Monitor push requests issued by others. While\n"
+"*mreply* lets you see what files are available on the network,\n"
+"*mpush* lets you find out which of those files are actually in demand.\n"
+"\n"
+"NOTE: Push requests are kind of rare, and gnut cannot always identify the\n"
+"file being requested. So, you won't see much when you use 'mpush'. Try it\n"
+"sometime when you can let it run for an hour or two.\n"
+},
+  {"mreply",    com_mreply, "Monitor search replies routed to others.", "\n"
+"mreply *keywords* - Monitor replies to search queries that others\n"
+"have issued. While *monitor* lets you see what people are searching for,\n"
+"*mreply* lets you find out what's actually available on the network.\n"
+"As with *monitor*, arguments can be given to specify a\n"
+"boolean AND match (ignoring case)  before displaying filenames.\n"
+},
+  {"open",      com_open,   "Open a new connection.", "\n"
+"open *host*:*port* - Open outgoing connection to *host*. Examples:\n"
+"\n"
+"    open 127.0.0.1:5346      - Create a connection to yourself (useful\n"
+"                               for searching your own files)\n"
+"    open 10.23.45.67         - Default port number is 6346, the normal\n"
+"                               Gnutella port number.\n"
+"    open nonexist.site:1234  - You can give host name instead of IP\n"
+},
   {"play",      com_play,   "Start play_prog on selected queries.", 0},
   {"player",    com_player, "Player for downloads", 0},
-  {"push",      com_push,   "Request a push connection.", "
-push *range* - Same as 'get', however only a push connection is
-attempted.
-
-NOTE: If the IP address of the requested file is not push-able, or if
-it is accessible via a normal 'get', gnut will complain. You can turn on
-the 'no_rfc_1597' variable to stop this complaint.
-"},
+  {"push",      com_push,   "Request a push connection.", "\n"
+"push *range* - Same as 'get', however only a push connection is\n"
+"attempted.\n"
+"\n"
+"NOTE: If the IP address of the requested file is not push-able, or if\n"
+"it is accessible via a normal 'get', gnut will complain. You can turn on\n"
+"the 'no_rfc_1597' variable to stop this complaint.\n"
+},
   {"quit",      com_quit,   "Quit.", 0},
-  {"response",  com_response,"Show current query responses.", "
-response [regexp] - Show the current query responses which match
-the (optional) regular expression. The responses are sorted according
-to the 'sort_order' configuration variable. Examples:
-
-    response                 - Show all responses
-    response fred            - Show only responses containing 'fred'
-"},
-  {"save",      com_save,   "Save configuration variables.", "
-save - Saves all your current variable settings to your .gnutrc file,
-your host list to .gnut_hosts, and your blacklist settings to
-.gnut_blacklist. WARNING: This overwrites .gnutrc, if you have any
-commands in .gnutrc other than 'set' commands, they will be lost.
-"},
-  {"scan",      com_scan,   "Scan share paths to make index of shared files.", "
-scan - Scan the path or paths set in the share_paths variable for
-files to share. The follow_symlinks variable tells whether to follow
-symbolic links. #scan# tries to the 'find' command, or 'perl' if 'find'
-does not exist. Any '.gnut' files (partial downloads) are ignored.
-"},
-  {"search",    com_find,   "Synonym for 'find'.", "
-search - synonym for 'find' (type 'help find')
-"},
-  {"set",       com_set,    "Change configuration values.", "
-set *name* *val* - Sets a named configuration variable to a value.
-
-set *name* - Display value of a named configuration variable.
-
-set - Display values of all configuration variables.
-"},
-  {"share",     com_share,  "Set share paths.", "
-share *paths* - Takes a ':' delimited list of paths to share. (';'
-on Win32). After changing this, you must use the 'scan' command for
-the files to be indexed and appear to other users' searches.
-"},
-  {"?",         com_help,   "Synonym for 'help'.", "
-? - synonym for 'help' (type 'help help')
-"},
-  {"!",         com_shell,  "Executes a command or drops to shell.", "
-! *cmd* *args* - Shell escape: runs a shell and sends a command to it
-(UNIX users only) Examples:
-
-    ! ls                    - List your current directory
-    ! cd dir1               - This will *not* have any lasting effect
-    ! ls dir1               - List files in directory 'dir1'
-    ! cd dir1 ; ls          - multiple shell commands work
-    ! mpg123 gdead.mp3 &    - play an MP3 file in the background
-"},
-  {"shell",     com_shell,  "Synonym for '!'.", "
-shell - synonym for ! (type 'help !')
-"},
-  {"sleep",     com_sleep,  "Sleep for n seconds.", "
-sleep *n* - Do nothing (sleep) for n seconds.
-"},
-  {"stop",      com_stop,   "Stop transfer(s).", "
-stop [*type*] 0|*range* - Stop the file transfers referenced by
-*range*. The numbers you give the 'stop' command come from the 'info'
-command. *type* g, p, d, u limits the command to stop only gets,
-pushes, all downloads or all uploads respectively. At most one letter
-can be used and it must be first. If '0' appears alone or at the end
-of a range, all zero-byte transfers are stopped. '0' elsewhere in a
-range makes the following numbered range(s) apply only to zero-byte
-transfers. Examples:
-
-    stop                    - Stop all file transfers
-    stop d                  - Stop all downloads
-    stop 0                  - Stop all transfers that have transferred no
-                              data
-    stop p 0                - Stop any push downloads that have transferred
-                              no data
-    stop 1                  - Stop first transfer
-    stop u 3-6              - Stop any uploads with numbers from 3 to 6
-    stop 2,0,10-12          - Stop number 2 and any in the range 10-12 that
-                              have transferred no data
-"},
-  {"update",    com_update, "Update the current host list.", "
-update - Send out ping packets to all connected hosts. If
-configuration variable 'update_clear' is set, then the current host
-list is discarded as well.
-"},
+  {"response",  com_response,"Show current query responses.", "\n"
+"response [regexp] - Show the current query responses which match\n"
+"the (optional) regular expression. The responses are sorted according\n"
+"to the 'sort_order' configuration variable. Examples:\n"
+"\n"
+"    response                 - Show all responses\n"
+"    response fred            - Show only responses containing 'fred'\n"
+},
+  {"save",      com_save,   "Save configuration variables.", "\n"
+"save - Saves all your current variable settings to your .gnutrc file,\n"
+"your host list to .gnut_hosts, and your blacklist settings to\n"
+".gnut_blacklist. WARNING: This overwrites .gnutrc, if you have any\n"
+"commands in .gnutrc other than 'set' commands, they will be lost.\n"
+},
+  {"scan",      com_scan,   "Scan share paths to make index of shared files.", "\n"
+"scan - Scan the path or paths set in the share_paths variable for\n"
+"files to share. The follow_symlinks variable tells whether to follow\n"
+"symbolic links. #scan# tries to the 'find' command, or 'perl' if 'find'\n"
+"does not exist. Any '.gnut' files (partial downloads) are ignored.\n"
+},
+  {"search",    com_find,   "Synonym for 'find'.", "\n"
+"search - synonym for 'find' (type 'help find')\n"
+},
+  {"set",       com_set,    "Change configuration values.", "\n"
+"set *name* *val* - Sets a named configuration variable to a value.\n"
+"\n"
+"set *name* - Display value of a named configuration variable.\n"
+"\n"
+"set - Display values of all configuration variables.\n"
+},
+  {"share",     com_share,  "Set share paths.", "\n"
+"share *paths* - Takes a ':' delimited list of paths to share. (';'\n"
+"on Win32). After changing this, you must use the 'scan' command for\n"
+"the files to be indexed and appear to other users' searches.\n"
+},
+  {"?",         com_help,   "Synonym for 'help'.", "\n"
+"? - synonym for 'help' (type 'help help')\n"
+},
+  {"!",         com_shell,  "Executes a command or drops to shell.", "\n"
+"! *cmd* *args* - Shell escape: runs a shell and sends a command to it\n"
+"(UNIX users only) Examples:\n"
+"\n"
+"    ! ls                    - List your current directory\n"
+"    ! cd dir1               - This will *not* have any lasting effect\n"
+"    ! ls dir1               - List files in directory 'dir1'\n"
+"    ! cd dir1 ; ls          - multiple shell commands work\n"
+"    ! mpg123 gdead.mp3 &    - play an MP3 file in the background\n"
+},
+  {"shell",     com_shell,  "Synonym for '!'.", "\n"
+"shell - synonym for ! (type 'help !')\n"
+},
+  {"sleep",     com_sleep,  "Sleep for n seconds.", "\n"
+"sleep *n* - Do nothing (sleep) for n seconds.\n"
+},
+  {"stop",      com_stop,   "Stop transfer(s).", "\n"
+"stop [*type*] 0|*range* - Stop the file transfers referenced by\n"
+"*range*. The numbers you give the 'stop' command come from the 'info'\n"
+"command. *type* g, p, d, u limits the command to stop only gets,\n"
+"pushes, all downloads or all uploads respectively. At most one letter\n"
+"can be used and it must be first. If '0' appears alone or at the end\n"
+"of a range, all zero-byte transfers are stopped. '0' elsewhere in a\n"
+"range makes the following numbered range(s) apply only to zero-byte\n"
+"transfers. Examples:\n"
+"\n"
+"    stop                    - Stop all file transfers\n"
+"    stop d                  - Stop all downloads\n"
+"    stop 0                  - Stop all transfers that have transferred no\n"
+"                              data\n"
+"    stop p 0                - Stop any push downloads that have transferred\n"
+"                              no data\n"
+"    stop 1                  - Stop first transfer\n"
+"    stop u 3-6              - Stop any uploads with numbers from 3 to 6\n"
+"    stop 2,0,10-12          - Stop number 2 and any in the range 10-12 that\n"
+"                              have transferred no data\n"
+},
+  {"update",    com_update, "Update the current host list.", "\n"
+"update - Send out ping packets to all connected hosts. If\n"
+"configuration variable 'update_clear' is set, then the current host\n"
+"list is discarded as well.\n"
+},
   {"version",   com_version,"Display version information.", 0},
   {0, 0, 0, 0}
 };
