aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile2
-rwxr-xr-xsrc/curlbin1830293 -> 1836849 bytes
-rw-r--r--src/hugehelp.c351
-rw-r--r--src/main.c13
4 files changed, 275 insertions, 91 deletions
diff --git a/src/Makefile b/src/Makefile
index a4b373e22..61904fe59 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -85,7 +85,7 @@ curl_LDADD = ../lib/libcurl.a
curl_DEPENDENCIES = ../lib/libcurl.a
BUILT_SOURCES = hugehelp.c
CLEANFILES = hugehelp.c
-NROFF = /bin/nroff
+NROFF = gnroff
EXTRA_DIST = mkhelp.pl Makefile.vc6
diff --git a/src/curl b/src/curl
index cba40a4c0..a6df7db51 100755
--- a/src/curl
+++ b/src/curl
Binary files differ
diff --git a/src/hugehelp.c b/src/hugehelp.c
index 390221935..5332776a2 100644
--- a/src/hugehelp.c
+++ b/src/hugehelp.c
@@ -18,10 +18,10 @@ puts (
"DESCRIPTION\n"
" curl is a client to get documents/files from servers, using\n"
" any of the supported protocols. The command is designed to\n"
-" work without user interaction or any kind of interactivity.\n"
+" work without user interaction or any kind of interactivity.\n"
"\n"
-" curl offers a busload of useful tricks like proxy support,\n"
-" user authentication, ftp upload, HTTP post, SSL (https:)\n"
+" curl offers a busload of useful tricks like proxy support,\n"
+" user authentication, ftp upload, HTTP post, SSL (https:)\n"
" connections, cookies, file transfer resume and more.\n"
"\n"
"URL\n"
@@ -33,7 +33,7 @@ puts (
"\n"
" http://site.{one,two,three}.com\n"
"\n"
-" or you can get sequences of alphanumeric series by using []\n"
+" or you can get sequences of alphanumeric series by using []\n"
" as in:\n"
"\n"
" ftp://ftp.numericals.com/file[1-100].txt\n"
@@ -41,11 +41,11 @@ puts (
" zeros)\n"
" ftp://ftp.letters.com/file[a-z].txt\n"
"\n"
-" It is possible to specify up to 9 sets or series for a URL,\n"
+" It is possible to specify up to 9 sets or series for a URL,\n"
" but no nesting is supported at the moment:\n"
"\n"
-" http://www.any.org/archive[1996-1999]/volume[1-\n"
-" 4]part{a,b,c,index}.html\n"
+" http://www.any.org/archive[1996-1999]/vol­\n"
+" ume[1-4]part{a,b,c,index}.html\n"
"\n"
"OPTIONS\n"
" -a/--append\n"
@@ -54,15 +54,15 @@ puts (
" the file doesn't exist, it will be created.\n"
"\n"
" -A/--user-agent <agent string>\n"
-" (HTTP) Specify the User-Agent string to send to the\n"
-" HTTP server. Some badly done CGIs fail if its not set\n"
-" to \"Mozilla/4.0\". To encode blanks in the string, sur-\n"
-" round the string with single quote marks. This can\n"
+" (HTTP) Specify the User-Agent string to send to the\n"
+" HTTP server. Some badly done CGIs fail if its not set\n"
+" to \"Mozilla/4.0\". To encode blanks in the string, sur­\n"
+" round the string with single quote marks. This can\n"
" also be set with the -H/--header flag of course.\n"
" -b/--cookie <name=data>\n"
" (HTTP) Pass the data to the HTTP server as a cookie. It\n"
-" is supposedly the data previously received from the\n"
-" server in a \"Set-Cookie:\" line. The data should be in\n"
+" is supposedly the data previously received from the\n"
+" server in a \"Set-Cookie:\" line. The data should be in\n"
" the format \"NAME1=VALUE1; NAME2=VALUE2\".\n"
"\n"
" If no '=' letter is used in the line, it is treated as\n"
@@ -102,20 +102,20 @@ puts (
" servers.\n"
"\n"
" -d/--data <data>\n"
-" (HTTP) Sends the specified data in a POST request to\n"
-" the HTTP server. Note that the data is sent exactly as\n"
+" (HTTP) Sends the specified data in a POST request to\n"
+" the HTTP server. Note that the data is sent exactly as\n"
" specified with no extra processing. The data is\n"
-" expected to be \"url-encoded\". This will cause curl to\n"
-" pass the data to the server using the content-type\n"
+" expected to be \"url-encoded\". This will cause curl to\n"
+" pass the data to the server using the content-type\n"
" application/x-www-form-urlencoded. Compare to -F.\n"
"\n"
" If you start the data with the letter @, the rest\n"
" should be a file name to read the data from, or - if\n"
-" you want curl to read the data from stdin. The con-\n"
+" you want curl to read the data from stdin. The con­\n"
" tents of the file must already be url-encoded.\n"
"\n"
" -D/--dump-header <file>\n"
-" (HTTP/FTP) Write the HTTP headers to this file. Write\n"
+" (HTTP/FTP) Write the HTTP headers to this file. Write\n"
" the FTP file info to this file if -I/--head is used.\n"
"\n"
" -e/--referer <URL>\n"
@@ -128,17 +128,17 @@ puts (
" file when getting a file with HTTPS. The certificate\n"
" must be in PEM format. If the optional password isn't\n"
" specified, it will be queried for on the terminal. Note\n"
-" that this certificate is the private key and the\n"
-" private certificate concatenated!\n"
+" that this certificate is the private key and the pri­\n"
+" vate certificate concatenated!\n"
"\n"
" -f/--fail\n"
-" (HTTP) Fail silently (no output at all) on server\n"
-" errors. This is mostly done like this to better enable\n"
-" scripts etc to better deal with failed attempts. In\n"
-" normal cases when a HTTP server fails to deliver a\n"
-" document, it returns a HTML document stating so (which\n"
-" often also describes why and more). This flag will\n"
-" prevent curl from outputting that and fail silently\n"
+" (HTTP) Fail silently (no output at all) on server\n"
+" errors. This is mostly done like this to better enable\n"
+" scripts etc to better deal with failed attempts. In\n"
+" normal cases when a HTTP server fails to deliver a doc­\n"
+" ument, it returns a HTML document stating so (which\n"
+" often also describes why and more). This flag will pre­\n"
+" vent curl from outputting that and fail silently\n"
" instead.\n"
"\n"
" -F/--form <name=content>\n"
@@ -148,7 +148,7 @@ puts (
" according to RFC1867. This enables uploading of binary\n"
" files etc. To force the 'content' part to be read from\n"
" a file, prefix the file name with an @ sign. Example,\n"
-" to send your password file to the server, where 'pass-\n"
+" to send your password file to the server, where 'pass­\n"
" word' is the name of the form-field to which\n"
" /etc/passwd will be the input:\n"
"\n"
@@ -162,24 +162,24 @@ puts (
"\n"
" -H/--header <header>\n"
" (HTTP) Extra header to use when getting a web page. You\n"
-" may specify any number of extra headers. Note that if\n"
-" you should add a custom header that has the same name\n"
-" as one of the internal ones curl would use, your exter-\n"
-" nally set header will be used instead of the internal\n"
-" one. This allows you to make even trickier stuff than\n"
-" curl would normally do. You should not replace inter-\n"
-" nally set headers without knowing perfectly well what\n"
+" may specify any number of extra headers. Note that if\n"
+" you should add a custom header that has the same name\n"
+" as one of the internal ones curl would use, your exter­\n"
+" nally set header will be used instead of the internal\n"
+" one. This allows you to make even trickier stuff than\n"
+" curl would normally do. You should not replace inter­\n"
+" nally set headers without knowing perfectly well what\n"
" you're doing.\n"
"\n"
" -i/--include\n"
-" (HTTP) Include the HTTP-header in the output. The\n"
-" HTTP-header includes things like server-name, date of\n"
-" the document, HTTP-version and more...\n"
+" (HTTP) Include the HTTP-header in the output. The HTTP-\n"
+" header includes things like server-name, date of the\n"
+" document, HTTP-version and more...\n"
"\n"
" -I/--head\n"
-" (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n"
+" (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n"
" feature the command HEAD which this uses to get nothing\n"
-" but the header of a document. When used on a FTP file,\n"
+" but the header of a document. When used on a FTP file,\n"
" curl displays the file size only.\n"
"\n"
" -K/--config <config file>\n"
@@ -190,7 +190,7 @@ puts (
" first column of a config line is a '#' character, the\n"
" rest of the line will be treated as a comment.\n"
"\n"
-" Specify the filename as '-' to make curl read the file\n"
+" Specify the filename as '-' to make curl read the file\n"
" from stdin.\n"
"\n"
" -l/--list-only\n"
@@ -209,22 +209,22 @@ puts (
" shown.\n"
"\n"
" -m/--max-time <seconds>\n"
-" Maximum time in seconds that you allow the whole opera-\n"
+" Maximum time in seconds that you allow the whole opera­\n"
" tion to take. This is useful for preventing your batch\n"
-" jobs from hanging for hours due to slow networks or\n"
-" links going down. This doesn't work properly in win32\n"
+" jobs from hanging for hours due to slow networks or\n"
+" links going down. This doesn't work properly in win32\n"
" systems.\n"
" -M/--manual\n"
" Manual. Display the huge help text.\n"
"\n"
" -n/--netrc\n"
-" Makes curl scan the .netrc file in the user's home\n"
-" directory for login name and password. This is typi-\n"
-" cally used for ftp on unix. If used with http, curl\n"
+" Makes curl scan the .netrc file in the user's home\n"
+" directory for login name and password. This is typi­\n"
+" cally used for ftp on unix. If used with http, curl\n"
" will enable user authentication. See netrc(4) for\n"
-" details on the file format. Curl will not complain if\n"
-" that file hasn't the right permissions (it should not\n"
-" be world nor group readable). The environment variable\n"
+" details on the file format. Curl will not complain if\n"
+" that file hasn't the right permissions (it should not\n"
+" be world nor group readable). The environment variable\n"
" \"HOME\" is used to find the home directory.\n"
"\n"
" A quick and very simple example of how to setup a\n"
@@ -252,7 +252,7 @@ puts (
" the path is cut off.)\n"
"\n"
" -P/--ftpport <address>\n"
-" (FTP) Reverses the initiator/listenor roles when con-\n"
+" (FTP) Reverses the initiator/listenor roles when con­\n"
" necting with ftp. This switch makes Curl use the PORT\n"
" command instead of PASV. In practice, PORT tells the\n"
" server to connect to the client's specified address and\n"
@@ -266,18 +266,24 @@ puts (
" \"-\" - (any single-letter string) to make it pick\n"
" the machine's default\n"
" -q If used as the first parameter on the command line, the\n"
-" $HOME/.curlrc file will not be read and used as a con-\n"
+" $HOME/.curlrc file will not be read and used as a con­\n"
" fig file.\n"
"\n"
" -Q/--quote <comand>\n"
" (FTP) Send an arbitrary command to the remote FTP\n"
" server, by using the QUOTE command of the server. Not\n"
" all servers support this command, and the set of QUOTE\n"
-" commands are server specific!\n"
+" commands are server specific! Quote commands are sent\n"
+" BEFORE the transfer is taking place. To make commands\n"
+" take place after a successful transfer, prefix them\n"
+" with a dash '-'. You may specify any amount of commands\n"
+" to be run before and after the transfer. If the server\n"
+" returns failure for one of the commands, the entire\n"
+" operation will be aborted.\n"
"\n"
" -r/--range <range>\n"
-" (HTTP/FTP) Retrieve a byte range (i.e a partial docu-\n"
-" ment) from a HTTP/1.1 or FTP server. Ranges can be\n"
+" (HTTP/FTP) Retrieve a byte range (i.e a partial docu­\n"
+" ment) from a HTTP/1.1 or FTP server. Ranges can be\n"
" specified in a number of ways.\n"
" 0-499 - specifies the first 500 bytes\n"
" 500-999 - specifies the second 500 bytes\n"
@@ -286,24 +292,24 @@ puts (
" and forward\n"
" 0-0,-1 - specifies the first and last byte\n"
" only(*)(H)\n"
-" 500-700,600-799 - specifies 300 bytes from offset\n"
+" 500-700,600-799 - specifies 300 bytes from offset\n"
" 500(H)\n"
" 100-199,500-599 - specifies two separate 100 bytes\n"
" ranges(*)(H)\n"
"\n"
-" (*) = NOTE that this will cause the server to reply\n"
+" (*) = NOTE that this will cause the server to reply\n"
" with a multipart response!\n"
"\n"
" You should also be aware that many HTTP/1.1 servers do\n"
" not have this feature enabled, so that when you attempt\n"
-" to get a range, you'll instead get the whole document.\n"
+" to get a range, you'll instead get the whole document.\n"
"\n"
-" FTP range downloads only support the simple syntax\n"
-" 'start-stop' (optionally with one of the numbers omit-\n"
+" FTP range downloads only support the simple syntax\n"
+" 'start-stop' (optionally with one of the numbers omit­\n"
" ted). It depends on the non-RFC command SIZE.\n"
"\n"
" -s/--silent\n"
-" Silent mode. Don't show progress meter or error mes-\n"
+" Silent mode. Don't show progress meter or error mes­\n"
" sages. Makes Curl mute.\n"
"\n"
" -S/--show-error\n"
@@ -311,9 +317,9 @@ puts (
" it fails.\n"
"\n"
" -t/--upload\n"
-" Transfer the stdin data to the specified file. Curl\n"
-" will read everything from stdin until EOF and store\n"
-" with the supplied name. If this is used on a http(s)\n"
+" Transfer the stdin data to the specified file. Curl\n"
+" will read everything from stdin until EOF and store\n"
+" with the supplied name. If this is used on a http(s)\n"
" server, the PUT command will be used.\n"
"\n"
" -T/--upload-file <file>\n"
@@ -334,28 +340,28 @@ puts (
" interactively.\n"
"\n"
" -U/--proxy-user <user:password>\n"
-" Specify user and password to use for Proxy authentica-\n"
+" Specify user and password to use for Proxy authentica­\n"
" tion. If no password is specified, curl will ask for it\n"
" interactively.\n"
"\n"
" -v/--verbose\n"
-" Makes the fetching more verbose/talkative. Mostly\n"
-" usable for debugging. Lines starting with '>' means\n"
+" Makes the fetching more verbose/talkative. Mostly\n"
+" usable for debugging. Lines starting with '>' means\n"
" data sent by curl, '<' means data received by curl that\n"
-" is hidden in normal cases and lines starting with '*'\n"
+" is hidden in normal cases and lines starting with '*'\n"
" means additional info provided by curl.\n"
"\n"
" -V/--version\n"
-" Displays the full version of curl, libcurl and other\n"
+" Displays the full version of curl, libcurl and other\n"
" 3rd party libraries linked with the executable.\n"
"\n"
" -x/--proxy <proxyhost[:port]>\n"
-" Use specified proxy. If the port number is not speci-\n"
+" Use specified proxy. If the port number is not speci­\n"
" fied, it is assumed at port 1080.\n"
"\n"
" -X/--request <command>\n"
-" (HTTP) Specifies a custom request to use when communi-\n"
-" cating with the HTTP server. The specified request\n"
+" (HTTP) Specifies a custom request to use when communi­\n"
+" cating with the HTTP server. The specified request\n"
" will be used instead of the standard GET. Read the HTTP\n"
" 1.1 specification for details and explanations.\n"
"\n"
@@ -363,37 +369,37 @@ puts (
" LIST when doing file lists with ftp.\n"
"\n"
" -y/--speed-time <speed>\n"
-" Speed Limit. If a download is slower than this given\n"
-" speed, in bytes per second, for Speed Time seconds it\n"
-" gets aborted. Speed Time is set with -Y and is 30 if\n"
+" Speed Limit. If a download is slower than this given\n"
+" speed, in bytes per second, for Speed Time seconds it\n"
+" gets aborted. Speed Time is set with -Y and is 30 if\n"
" not set.\n"
"\n"
" -Y/--speed-limit <time>\n"
" Speed Time. If a download is slower than Speed Limit\n"
-" bytes per second during a Speed Time period, the down-\n"
+" bytes per second during a Speed Time period, the down­\n"
" load gets aborted. If Speed Time is used, the default\n"
" Speed Limit will be 1 unless set with -y.\n"
"\n"
" -z/--time-cond <date expression>\n"
-" (HTTP) Request to get a file that has been modified\n"
-" later than the given time and date, or one that has\n"
+" (HTTP) Request to get a file that has been modified\n"
+" later than the given time and date, or one that has\n"
" been modified before that time. The date expression can\n"
" be all sorts of date strings or if it doesn't match any\n"
-" internal ones, it tries to get the time from a given\n"
-" file name instead! See the GNU date(1) man page for\n"
+" internal ones, it tries to get the time from a given\n"
+" file name instead! See the GNU date(1) man page for\n"
" date expression details.\n"
"\n"
-" Start the date expression with a dash (-) to make it\n"
-" request for a document that is older than the given\n"
+" Start the date expression with a dash (-) to make it\n"
+" request for a document that is older than the given\n"
" date/time, default is a document that is newer than the\n"
" specified date/time.\n"
"\n"
" -3/--sslv3\n"
-" (HTTPS) Forces curl to use SSL version 3 when negotiat-\n"
+" (HTTPS) Forces curl to use SSL version 3 when negotiat­\n"
" ing with a remote SSL server.\n"
"\n"
" -2/--sslv2\n"
-" (HTTPS) Forces curl to use SSL version 2 when negotiat-\n"
+" (HTTPS) Forces curl to use SSL version 2 when negotiat­\n"
" ing with a remote SSL server.\n"
"\n"
" -#/--progress-bar\n"
@@ -401,7 +407,7 @@ puts (
" bar instead of the default statistics.\n"
"\n"
" --crlf\n"
-" (FTP) Convert LF to CRLF in upload. Useful for MVS\n"
+" (FTP) Convert LF to CRLF in upload. Useful for MVS\n"
" (OS/390).\n"
"\n"
" --stderr <file>\n"
@@ -413,13 +419,13 @@ puts (
"FILES\n"
" ~/.curlrc\n"
" Default config file.\n"
-"\n"
"ENVIRONMENT\n"
" HTTP_PROXY [protocol://]<host>[:port]\n"
" Sets proxy server to use for HTTP.\n"
"\n"
" HTTPS_PROXY [protocol://]<host>[:port]\n"
" Sets proxy server to use for HTTPS.\n"
+"\n"
" FTP_PROXY [protocol://]<host>[:port]\n"
" Sets proxy server to use for FTP.\n"
"\n"
@@ -427,12 +433,179 @@ puts (
" Sets proxy server to use for GOPHER.\n"
"\n"
" ALL_PROXY [protocol://]<host>[:port]\n"
-" Sets proxy server to use if no protocol-specific proxy\n"
+" Sets proxy server to use if no protocol-specific proxy\n"
" is set.\n"
"\n"
" NO_PROXY <comma-separated list of hosts>\n"
" list of host names that shouldn't go through any proxy.\n"
-" If se\n"
+" If set to a asterisk '*' only, it matches all hosts.\n"
+"\n"
+" COLUMNS <integer>\n"
+" The width of the terminal. This variable only affects\n"
+" curl when the --progress-bar option is used.\n"
+"\n"
+"EXIT CODES\n"
+" There exists a bunch of different error codes and their cor­\n"
+" responding error messages that may appear during bad condi­\n"
+" tions. At the time of this writing, the exit codes are:\n"
+"\n"
+" 1 Unsupported protocol. This build of curl has no support\n"
+" for this protocol.\n"
+"\n"
+" 2 Failed to initialize.\n"
+"\n"
+" 3 URL malformat. The syntax was not correct.\n"
+"\n"
+" 4 URL user malformatted. The user-part of the URL syntax\n"
+" was not correct.\n"
+"\n"
+" 5 Couldn't resolve proxy. The given proxy host could not\n"
+" be resolved.\n"
+"\n"
+" 6 Couldn't resolve host. The given remote host was not\n"
+" resolved.\n"
+"\n"
+" 7 Failed to connect to host.\n"
+"\n"
+" 8 FTP weird server reply. The server sent data curl\n"
+" couldn't parse.\n"
+"\n"
+" 9 FTP access denied. The server denied login.\n"
+" 10 FTP user/password incorrect. Either one or both were\n"
+" not accepted by the server.\n"
+"\n"
+" 11 FTP weird PASS reply. Curl couldn't parse the reply\n"
+" sent to the PASS request.\n"
+"\n"
+" 12 FTP weird USER reply. Curl couldn't parse the reply\n"
+" sent to the USER request.\n"
+"\n"
+" 13 FTP weird PASV reply, Curl couldn't parse the reply\n"
+" sent to the PASV request.\n"
+"\n"
+" 14 FTP weird 227 formay. Curl couldn't parse the 227-line\n"
+" the server sent.\n"
+"\n"
+" 15 FTP can't get host. Couldn't resolve the host IP we got\n"
+" in the 227-line.\n"
+"\n"
+" 16 FTP can't reconnect. Couldn't connect to the host we\n"
+" got in the 227-line.\n"
+"\n"
+" 17 FTP couldn't set binary. Couldn't change transfer\n"
+" method to binary.\n"
+"\n"
+" 18 Partial file. Only a part of the file was transfered.\n"
+"\n"
+" 19 FTP couldn't RETR file. The RETR command failed.\n"
+"\n"
+" 20 FTP write error. The transfer was reported bad by the\n"
+" server.\n"
+"\n"
+" 21 FTP quote error. A quote command returned error from\n"
+" the server.\n"
+"\n"
+" 22 HTTP not found. The requested page was not found. This\n"
+" return code only appears if --fail is used.\n"
+"\n"
+" 23 Write error. Curl couldn't write data to a local\n"
+" filesystem or similar.\n"
+"\n"
+" 24 Malformat user. User name badly specified.\n"
+"\n"
+" 25 FTP couldn't STOR file. The server denied the STOR\n"
+" operation.\n"
+"\n"
+" 26 Read error. Various reading problems.\n"
+"\n"
+" 27 Out of memory. A memory allocation request failed.\n"
+"\n"
+" 28 Operation timeout. The specified time-out period was\n"
+" reached according to the conditions.\n"
+" 29 FTP couldn't set ASCII. The server returned an unknown\n"
+" reply.\n"
+"\n"
+" 30 FTP PORT failed. The PORT command failed.\n"
+"\n"
+" 31 FTP couldn't use REST. The REST command failed.\n"
+"\n"
+" 32 FTP couldn't use SIZE. The SIZE command failed. The\n"
+" command is an extension to the original FTP spec RFC\n"
+" 959.\n"
+"\n"
+" 33 HTTP range error. The range \"command\" didn't work.\n"
+"\n"
+" 34 HTTP post error. Internal post-request generation\n"
+" error.\n"
+"\n"
+" 35 SSL connect error. The SSL handshaking failed.\n"
+"\n"
+" 36 FTP bad download resume. Couldn't continue an earlier\n"
+" aborted download.\n"
+"\n"
+" 37 FILE couldn't read file. Failed to open the file. Per­\n"
+" missions?\n"
+"\n"
+" 38 LDAP cannot bind. LDAP bind operation failed.\n"
+"\n"
+" 39 LDAP search failed.\n"
+"\n"
+" 40 Library not found. The LDAP library was not found.\n"
+"\n"
+" 41 Function not found. A required LDAP function was not\n"
+" found.\n"
+"\n"
+" XX There will appear more error codes here in future\n"
+" releases. The existing ones are meant to never change.\n"
+"\n"
+"BUGS\n"
+" If you do find any (or have other suggestions), mail Daniel\n"
+" Stenberg <Daniel.Stenberg@haxx.nu>.\n"
+"\n"
+"AUTHORS / CONTRIBUTORS\n"
+" - Daniel Stenberg <Daniel.Stenberg@haxx.nu>\n"
+" - Rafael Sagula <sagula@inf.ufrgs.br>\n"
+" - Sampo Kellomaki <sampo@iki.fi>\n"
+" - Linas Vepstas <linas@linas.org>\n"
+" - Bjorn Reese <breese@mail1.stofanet.dk>\n"
+" - Johan Anderson <johan@homemail.com>\n"
+" - Kjell Ericson <Kjell.Ericson@sth.frontec.se>\n"
+" - Troy Engel <tengel@sonic.net>\n"
+" - Ryan Nelson <ryan@inch.com>\n"
+" - Bjorn Stenberg <Bjorn.Stenberg@sth.frontec.se>\n"
+" - Angus Mackay <amackay@gus.ml.org>\n"
+" - Eric Young <eay@cryptsoft.com>\n"
+" - Simon Dick <simond@totally.irrelevant.org>\n"
+" - Oren Tirosh <oren@monty.hishome.net>\n"
+" - Steven G. Johnson <stevenj@alum.mit.edu>\n"
+" - Gilbert Ramirez Jr. <gram@verdict.uthscsa.edu>\n"
+" - Andrés García <ornalux@redestb.es>\n"
+" - Douglas E. Wegscheid <wegscd@whirlpool.com>\n"
+" - Mark Butler <butlerm@xmission.com>\n"
+" - Eric Thelin <eric@generation-i.com>\n"
+" - Marc Boucher <marc@mbsi.ca>\n"
+" - Greg Onufer <Greg.Onufer@Eng.Sun.COM>\n"
+" - Doug Kaufman <dkaufman@rahul.net>\n"
+" - David Eriksson <david@2good.com>\n"
+" - Ralph Beckmann <rabe@uni-paderborn.de>\n"
+" - T. Yamada <tai@imasy.or.jp>\n"
+" - Lars J. Aas <larsa@sim.no>\n"
+" - Jörn Hartroth <Joern.Hartroth@telekom.de>\n"
+" - Matthew Clarke <clamat@van.maves.ca>\n"
+" - Linus Nielsen <Linus.Nielsen@haxx.nu>\n"
+" - Felix von Leitner <felix@convergence.de>\n"
+" - Dan Zitter <dzitter@zitter.net>\n"
+" - Jongki Suwandi <Jongki.Suwandi@eng.sun.com>\n"
+" - Chris Maltby <chris@aurema.com>\n"
+"\n"
+"WWW\n"
+" http://curl.haxx.nu\n"
+"\n"
+"FTP\n"
+" ftp://ftp.sunet.se/pub/www/utilities/curl/\n"
+"\n"
+"SEE ALSO\n"
+" ftp(1), wget(1), snarf(1)\n"
"\n"
"LATEST VERSION\n"
"\n"
diff --git a/src/main.c b/src/main.c
index 5666c777e..a5f38138a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -180,6 +180,7 @@ struct Configurable {
FILE *errors; /* if stderr redirect is requested */
struct curl_slist *quote;
+ struct curl_slist *postquote;
long ssl_version;
TimeCond timecond;
@@ -595,7 +596,14 @@ static int getparameter(char *flag, /* f or -long-flag */
break;
case 'Q':
/* QUOTE command to send to FTP server */
- config->quote = curl_slist_append(config->quote, nextarg);
+ if(nextarg[0] == '-') {
+ /* prefixed with a dash makes it a POST TRANSFER one */
+ nextarg++;
+ config->postquote = curl_slist_append(config->postquote, nextarg);
+ }
+ else {
+ config->quote = curl_slist_append(config->quote, nextarg);
+ }
break;
case 'r':
/* byte range requested */
@@ -850,8 +858,10 @@ int main(int argc, char *argv[])
"%s", curl_version());
config.showerror=TRUE;
config.conf=CONF_DEFAULT;
+#if 0
config.crlf=FALSE;
config.quote=NULL;
+#endif
if(argc>1 &&
(!strnequal("--", argv[1], 2) && (argv[1][0] == '-')) &&
@@ -1108,6 +1118,7 @@ int main(int argc, char *argv[])
URGTAG_SSLCERTPASSWD, config.cert_passwd,
URGTAG_CRLF, config.crlf,
URGTAG_QUOTE, config.quote,
+ URGTAG_POSTQUOTE, config.postquote,
URGTAG_WRITEHEADER, headerfilep,
URGTAG_COOKIEFILE, config.cookiefile,
URGTAG_SSLVERSION, config.ssl_version,