mirror of
https://github.com/curl/curl.git
synced 2026-08-05 16:06:15 +03:00
tommink[at]post.pl reported in bug report #1337723
(http://curl.haxx.se/bug/view.cgi?id=1337723) that curl could not upload binary data from stdin on Windows if the data contained control-Z (hex 1a) since that is treated as end-of-file when read in text mode. Gisle Vanem pointed out the fix, and I made both -T and --data-binary take advantage of it.
This commit is contained in:
parent
d49edc8e09
commit
6f8fe67ace
3 changed files with 18 additions and 2 deletions
10
src/main.c
10
src/main.c
|
|
@ -1797,8 +1797,13 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||
|
||||
nextarg++; /* pass the @ */
|
||||
|
||||
if(curlx_strequal("-", nextarg))
|
||||
if(curlx_strequal("-", nextarg)) {
|
||||
file = stdin;
|
||||
#ifdef O_BINARY
|
||||
if(subletter == 'b') /* forced binary */
|
||||
setmode(fileno(stdin), O_BINARY);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
file = fopen(nextarg, "rb");
|
||||
if(!file)
|
||||
|
|
@ -3620,6 +3625,9 @@ operate(struct Configurable *config, int argc, char *argv[])
|
|||
|
||||
}
|
||||
else if(uploadfile && curlx_strequal(uploadfile, "-")) {
|
||||
#ifdef O_BINARY
|
||||
setmode(fileno(stdin), O_BINARY);
|
||||
#endif
|
||||
infd = stdin;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue