summaryrefslogtreecommitdiff
path: root/curl_63_form.patch
diff options
context:
space:
mode:
Diffstat (limited to 'curl_63_form.patch')
-rw-r--r--curl_63_form.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/curl_63_form.patch b/curl_63_form.patch
new file mode 100644
index 000000000..03738dbc0
--- /dev/null
+++ b/curl_63_form.patch
@@ -0,0 +1,92 @@
+*** /homes/qradlsg/curl-org/lib/formdata.c Thu Oct 14 00:27:12 1999
+--- formdata.c Mon Nov 22 16:55:20 1999
+***************
+*** 41,47 ****
+ /*
+ Debug the form generator stand-alone by compiling this source file with:
+
+! 'make formdata'
+
+ run the 'formdata' executable and make sure the output is ok!
+
+--- 41,47 ----
+ /*
+ Debug the form generator stand-alone by compiling this source file with:
+
+! gcc -DHAVE_CONFIG_H -I../ -g -D_FORM_DEBUG -o formdata -I../include formdata.c
+
+ run the 'formdata' executable and make sure the output is ok!
+
+***************
+*** 313,320 ****
+ if(!length)
+ length = strlen((char *)line);
+
+! newform->line = (char *)malloc(length);
+! memcpy(newform->line, line, length);
+ newform->length = length;
+
+ if(*formp) {
+--- 313,320 ----
+ if(!length)
+ length = strlen((char *)line);
+
+! newform->line = (char *)malloc(length+1);
+! memcpy(newform->line, line, length+1);
+ newform->length = length;
+
+ if(*formp) {
+***************
+*** 499,504 ****
+--- 499,505 ----
+ size += AddFormDataf(&form,
+ "\r\n--%s--",
+ fileboundary);
++ free(fileboundary);
+ }
+
+ } while((post=post->next)); /* for each field */
+***************
+*** 511,518 ****
+ *sizep = size;
+
+ free(boundary);
+- if(fileboundary)
+- free(fileboundary);
+
+ return firstform;
+ }
+--- 512,517 ----
+***************
+*** 572,577 ****
+--- 571,583 ----
+
+ form->data = form->data->next; /* advance */
+
++ if(!gotsize && form->data) {
++ /* If we got an empty line and we have more data, we proceed to the next
++ line immediately to avoid returning zero before we've reached the end.
++ This is the bug reported November 22 1999 on curl 6.3. (Daniel) */
++ gotsize = FormReader(buffer, size, nitems, mydata);
++ }
++
+ return gotsize;
+ }
+
+***************
+*** 615,621 ****
+ FormInit(&formread, form);
+
+ while(nread = FormReader(buffer, 1, sizeof(buffer), (FILE *)&formread)) {
+! fwrite(buffer, nread, 1, stdout);
+ }
+
+ fprintf(stderr, "size: %d\n", size);
+--- 621,627 ----
+ FormInit(&formread, form);
+
+ while(nread = FormReader(buffer, 1, sizeof(buffer), (FILE *)&formread)) {
+! fwrite(buffer, nread, 1, stderr);
+ }
+
+ fprintf(stderr, "size: %d\n", size);