| |
|
|
|
cURL Mailing List Monthly Index Single Mail
curl-users Mailing List Archives
[PATCH] make non-blocking stdin optional
From: Eric Wong <normalperson_at_yhbt.net>
Date: Tue, 18 Aug 2009 04:20:19 -0700
My previous change to make stdin non-blocking by default for
This restores previous behavior for "-T-" to not touch the
Making stdin non-blocking in curl is still possible by
Apologies for the breakage and not noticing it sooner.
Has anybody investigated moving the tool over to use the multi
---
src/main.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main.c b/src/main.c
index 7274940..3bfa735 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3953,6 +3953,10 @@ static void dumpeasycode(struct Configurable *config)
curl_slist_free_all(easycode);
}
+static bool stdin_upload(const char *uploadfile)
+{
+ return curlx_strequal(uploadfile, "-") || curlx_strequal(uploadfile, ".");
+}
static int
operate(struct Configurable *config, int argc, argv_item_t argv[])
@@ -4417,7 +4421,7 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
}
}
infdopen=FALSE;
- if(uploadfile && !curlx_strequal(uploadfile, "-")) {
+ if(uploadfile && !stdin_upload(uploadfile)) {
/*
* We have specified a file to upload and it isn't "-".
*/
@@ -4511,11 +4515,14 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
uploadfilesize=fileinfo.st_size;
}
- else if(uploadfile && curlx_strequal(uploadfile, "-")) {
+ else if(uploadfile && stdin_upload(uploadfile)) {
SET_BINMODE(stdin);
infd = STDIN_FILENO;
- if (curlx_nonblock((curl_socket_t)infd, TRUE) < 0)
- warnf(config, "fcntl failed on fd=%d: %s\n", infd, strerror(errno));
+ if (curlx_strequal(uploadfile, ".")) {
+ if (curlx_nonblock((curl_socket_t)infd, TRUE) < 0)
+ warnf(config,
+ "fcntl failed on fd=%d: %s\n", infd, strerror(errno));
+ }
}
if(uploadfile && config->resume_from_current)
--
Eric Wong
-------------------------------------------------------------------
List admin: http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-users
FAQ: http://curl.haxx.se/docs/faq.html
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2009-08-18
These mail archives are generated by hypermail. |
Page updated November 12, 2010.
web site info