CURLFORM_BUFFER: insert filename as documented

A regression where CURLFORM_BUFFER stopped to properly insert the file
name part in the formpart. Bug introduced in commit f851f76857.

Added CURLFORM_BUFFER use to test 554 to verify this.

Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html
Reported by: Henry Ludemann
This commit is contained in:
Daniel Stenberg
2011-08-08 10:21:03 +02:00
parent 3ef6418b61
commit 45d883d88d
4 changed files with 28 additions and 41 deletions

View File

@@ -45,7 +45,7 @@ s/boundary=----------------------------[a-z0-9]*/boundary=----------------------
POST /554 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 561
Content-Length: 732
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------
@@ -67,6 +67,11 @@ postit2.c
Content-Disposition: form-data; name="submit"
send
------------------------------
Content-Disposition: form-data; name="somename"; filename="somefile.txt"
Content-Type: application/octet-stream
blah blah
--------------------------------
</protocol>
</verify>

View File

@@ -136,6 +136,16 @@ int test(char *URL)
if(formrc)
printf("curl_formadd(3) = %d\n", (int)formrc);
formrc = curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, "somename",
CURLFORM_BUFFER, "somefile.txt",
CURLFORM_BUFFERPTR, "blah blah",
CURLFORM_BUFFERLENGTH, 9,
CURLFORM_END);
if(formrc)
printf("curl_formadd(4) = %d\n", (int)formrc);
if ((curl = curl_easy_init()) == NULL) {
fprintf(stderr, "curl_easy_init() failed\n");
curl_formfree(formpost);