From 1b39b5332164e4d146abdeeeca70bd2b6762fbb1 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 11 Aug 2003 12:04:46 +0000 Subject: [PATCH] remodeled the help text to avoid those annoying puts() problems when a string reaches > 512 bytes... --- src/main.c | 198 +++++++++++++++++++++++++++-------------------------- 1 file changed, 101 insertions(+), 97 deletions(-) diff --git a/src/main.c b/src/main.c index 1aab7ad62..7c36f0599 100644 --- a/src/main.c +++ b/src/main.c @@ -364,107 +364,111 @@ struct getout { static void help(void) { - printf(CURL_ID "%s\n" - "Usage: curl [options...] \n" - "Options: (H) means HTTP/HTTPS only, (F) means FTP only\n" - " -a/--append Append to target file when uploading (F)\n" - " -A/--user-agent User-Agent to send to server (H)\n" - " --anyauth Tell curl to choose authentication method (H)\n" - " -b/--cookie Cookie string or file to read cookies from (H)\n" - " --basic Enable HTTP Basic Authentication (H)\n" - " -B/--use-ascii Use ASCII/text transfer\n", - curl_version()); - puts(" -c/--cookie-jar Write all cookies to this file after operation (H)\n" - " -C/--continue-at Specify absolute resume offset\n" - " -d/--data HTTP POST data (H)\n" - " --data-ascii HTTP POST ASCII data (H)\n" - " --data-binary HTTP POST binary data (H)\n" - " --negotiate Enable HTTP Negotiate Authentication (H - req GSS-lib)\n" - " --digest Enable HTTP Digest Authentication (H)"); - puts(" --disable-eprt Prevents curl from using EPRT or LPRT (F)\n" - " --disable-epsv Prevents curl from using EPSV (F)\n" - " -D/--dump-header Write the headers to this file\n" - " --egd-file EGD socket path for random data (SSL)\n" + int i; + const char *help[]={ + "Usage: curl [options...] ", + "Options: (H) means HTTP/HTTPS only, (F) means FTP only", + " -a/--append Append to target file when uploading (F)", + " -A/--user-agent User-Agent to send to server (H)", + " --anyauth Tell curl to choose authentication method (H)", + " -b/--cookie Cookie string or file to read cookies from (H)", + " --basic Enable HTTP Basic Authentication (H)", + " -B/--use-ascii Use ASCII/text transfer", + " -c/--cookie-jar Write all cookies to this file after operation (H)", + " -C/--continue-at Specify absolute resume offset", + " -d/--data HTTP POST data (H)", + " --data-ascii HTTP POST ASCII data (H)", + " --data-binary HTTP POST binary data (H)", + " --negotiate Enable HTTP Negotiate Authentication (H - req GSS-lib)", + " --digest Enable HTTP Digest Authentication (H)", + " --disable-eprt Prevents curl from using EPRT or LPRT (F)", + " --disable-epsv Prevents curl from using EPSV (F)", + " -D/--dump-header Write the headers to this file", + " --egd-file EGD socket path for random data (SSL)", #ifdef USE_ENVIRONMENT - " --environment Write result codes to environment variables (RISC OS)\n" + " --environment Write result codes to environment variables (RISC OS)", #endif - " -e/--referer Referer page (H)"); - puts(" -E/--cert Specifies your certificate file and password (HTTPS)\n" - " --cert-type Specifies certificate file type (DER/PEM/ENG) (HTTPS)\n" - " --key Specifies private key file (HTTPS)\n" - " --key-type Specifies private key file type (DER/PEM/ENG) (HTTPS)\n" - " --pass Specifies passphrase for the private key (HTTPS)"); - puts(" --engine Specifies the crypto engine to use (HTTPS)\n" - " --cacert CA certificate to verify peer against (SSL)\n" - " --capath CA directory (made using c_rehash) to verify\n" - " peer against (SSL)\n" - " --ciphers What SSL ciphers to use (SSL)\n" - " --compressed Request a compressed response (using deflate or gzip)."); - puts(" --connect-timeout Maximum time allowed for connection\n" - " --create-dirs Create the necessary local directory hierarchy\n" - " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)\n" - " -f/--fail Fail silently (no output at all) on errors (H)"); - puts(" --ftp-create-dirs Create the remote dirs if not present (F)\n" - " -F/--form Specify HTTP POST data (H)\n" - " -g/--globoff Disable URL sequences and ranges using {} and []\n" - " -G/--get Send the -d data with a HTTP GET (H)"); - puts(" -h/--help This help text\n" - " -H/--header Custom header to pass to server. (H)\n" - " -i/--include Include the HTTP-header in the output (H)\n" - " -I/--head Fetch document info only (HTTP HEAD/FTP SIZE)"); - puts(" -j/--junk-session-cookies Ignore session cookies read from file (H)\n" - " --interface Specify the interface to be used\n" - " --krb4 Enable krb4 with specified security level (F)\n" - " -k/--insecure Allow curl to connect to SSL sites without certs (H)\n" - " -K/--config Specify which config file to read\n" - " -l/--list-only List only names of an FTP directory (F)\n" - " --limit-rate Limit how fast transfers to allow"); - puts(" -L/--location Follow Location: hints (H)\n" - " --location-trusted Same, and continue to send authentication when \n" - " following locations, even when hostname changed\n" - " -m/--max-time Maximum time allowed for the transfer\n" - " --max-redirs Set maximum number of redirections allowed (H)"); - puts(" -M/--manual Display huge help text\n" - " -n/--netrc Must read .netrc for user name and password\n" - " --netrc-optional Use either .netrc or URL; overrides -n\n" - " --ntlm Enable HTTP NTLM authentication (H)"); - puts(" -N/--no-buffer Disables the buffering of the output stream"); - puts(" -o/--output Write output to instead of stdout\n" - " -O/--remote-name Write output to a file named as the remote file\n" - " -p/--proxytunnel Perform non-HTTP services through a HTTP proxy\n" - " -P/--ftpport
Use PORT with address instead of PASV when ftping (F)\n" - " -q When used as the first parameter disables .curlrc\n" - " -Q/--quote Send QUOTE command to FTP before file transfer (F)"); - puts(" -r/--range Retrieve a byte range from a HTTP/1.1 or FTP server\n" - " --random-file File to use for reading random data from (SSL)\n" - " -R/--remote-time Set the remote file's time on the local output\n" - " -s/--silent Silent mode. Don't output anything\n" - " -S/--show-error Show error. With -s, make curl show errors when they occur"); - puts(" --stderr Where to redirect stderr. - means stdout.\n" - " -t/--telnet-option Set telnet option\n" - " --trace Dump a network/debug trace to the given file\n" - " --trace-ascii Like --trace but without the hex output\n" - " -T/--upload-file Transfer/upload to remote site\n" - " --url Another way to specify URL to work with"); - puts(" -u/--user Specify user and password to use\n" - " Overrides -n and --netrc-optional\n" - " -U/--proxy-user Specify Proxy authentication\n" - " -v/--verbose Makes the operation more talkative\n" - " -V/--version Outputs version number then quits"); + " -e/--referer Referer page (H)", + " -E/--cert Specifies your certificate file and password (SSL)", + " --cert-type Specifies certificate file type (DER/PEM/ENG) (SSL)", + " --key Specifies private key file (SSL)", + " --key-type Specifies private key file type (DER/PEM/ENG) (SSL)", + " --pass Specifies passphrase for the private key (SSL)", + " --engine Specifies the crypto engine to use (HTTPS)", + " --cacert CA certificate to verify peer against (SSL)", + " --capath CA directory (made using c_rehash) to verify", + " peer against (SSL)", + " --ciphers What SSL ciphers to use (SSL)", + " --compressed Request a compressed response (using deflate or gzip).", + " --connect-timeout Maximum time allowed for connection", + " --create-dirs Create the necessary local directory hierarchy", + " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)", + " -f/--fail Fail silently (no output at all) on errors (H)", + " --ftp-create-dirs Create the remote dirs if not present (F)", + " -F/--form Specify HTTP POST data (H)", + " -g/--globoff Disable URL sequences and ranges using {} and []", + " -G/--get Send the -d data with a HTTP GET (H)", + " -h/--help This help text", + " -H/--header Custom header to pass to server. (H)", + " -i/--include Include the HTTP-header in the output (H)", + " -I/--head Fetch document info only (HTTP HEAD/FTP SIZE)", + " -j/--junk-session-cookies Ignore session cookies read from file (H)", + " --interface Specify the interface to be used", + " --krb4 Enable krb4 with specified security level (F)", + " -k/--insecure Allow curl to connect to SSL sites without certs (H)", + " -K/--config Specify which config file to read", + " -l/--list-only List only names of an FTP directory (F)", + " --limit-rate Limit how fast transfers to allow", + " -L/--location Follow Location: hints (H)", + " --location-trusted Same, and continue to send authentication when ", + " following locations, even when hostname changed", + " -m/--max-time Maximum time allowed for the transfer", + " --max-redirs Set maximum number of redirections allowed (H)", + " -M/--manual Display huge help text", + " -n/--netrc Must read .netrc for user name and password", + " --netrc-optional Use either .netrc or URL; overrides -n", + " --ntlm Enable HTTP NTLM authentication (H)", + " -N/--no-buffer Disables the buffering of the output stream", + " -o/--output Write output to instead of stdout", + " -O/--remote-name Write output to a file named as the remote file", + " -p/--proxytunnel Perform non-HTTP services through a HTTP proxy", + " -P/--ftpport
Use PORT with address instead of PASV when ftping (F)", + " -q When used as the first parameter disables .curlrc", + " -Q/--quote Send QUOTE command to FTP before file transfer (F)", + " -r/--range Retrieve a byte range from a HTTP/1.1 or FTP server", + " --random-file File to use for reading random data from (SSL)", + " -R/--remote-time Set the remote file's time on the local output", + " -s/--silent Silent mode. Don't output anything", + " -S/--show-error Show error. With -s, make curl show errors when they occur", + " --stderr Where to redirect stderr. - means stdout.", + " -t/--telnet-option Set telnet option", + " --trace Dump a network/debug trace to the given file", + " --trace-ascii Like --trace but without the hex output", + " -T/--upload-file Transfer/upload to remote site", + " --url Another way to specify URL to work with", + " -u/--user Specify user and password to use", + " Overrides -n and --netrc-optional", + " -U/--proxy-user Specify Proxy authentication", + " -v/--verbose Makes the operation more talkative", + " -V/--version Outputs version number then quits", #ifdef __DJGPP__ - puts(" --wdebug Turns on WATT-32 debugging under DJGPP"); + " --wdebug Turns on WATT-32 debugging under DJGPP", #endif - puts(" -w/--write-out [format] What to output after completion\n" - " -x/--proxy Use proxy. (Default port is 1080)\n" - " -X/--request Specific request command to use"); - puts(" -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30\n" - " -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs\n" - " -z/--time-cond