465
465
current_form->flags |= HTTPPOST_PTRNAME; /* fall through */
467
467
case CURLFORM_COPYNAME:
468
if (current_form->name)
468
if(current_form->name)
469
469
return_value = CURL_FORMADD_OPTION_TWICE;
471
471
char *name = array_state?
472
472
array_value:va_arg(params, char *);
474
474
current_form->name = name; /* store for the moment */
476
476
return_value = CURL_FORMADD_NULL;
479
479
case CURLFORM_NAMELENGTH:
480
if (current_form->namelength)
480
if(current_form->namelength)
481
481
return_value = CURL_FORMADD_OPTION_TWICE;
483
483
current_form->namelength =
490
490
case CURLFORM_PTRCONTENTS:
491
491
current_form->flags |= HTTPPOST_PTRCONTENTS; /* fall through */
492
492
case CURLFORM_COPYCONTENTS:
493
if (current_form->value)
493
if(current_form->value)
494
494
return_value = CURL_FORMADD_OPTION_TWICE;
497
497
array_state?array_value:va_arg(params, char *);
499
499
current_form->value = value; /* store for the moment */
501
501
return_value = CURL_FORMADD_NULL;
504
504
case CURLFORM_CONTENTSLENGTH:
505
if (current_form->contentslength)
505
if(current_form->contentslength)
506
506
return_value = CURL_FORMADD_OPTION_TWICE;
508
508
current_form->contentslength =
536
536
const char *filename = array_state?array_value:
537
537
va_arg(params, char *);
539
if (current_form->value) {
540
if (current_form->flags & HTTPPOST_FILENAME) {
542
if ((current_form = AddFormInfo(strdup(filename),
539
if(current_form->value) {
540
if(current_form->flags & HTTPPOST_FILENAME) {
542
if((current_form = AddFormInfo(strdup(filename),
543
543
NULL, current_form)) == NULL)
544
544
return_value = CURL_FORMADD_MEMORY;
570
570
const char *filename = array_state?array_value:
571
571
va_arg(params, char *);
573
if (current_form->value) {
574
if (current_form->flags & HTTPPOST_BUFFER) {
576
if ((current_form = AddFormInfo(strdup(filename),
573
if(current_form->value) {
574
if(current_form->flags & HTTPPOST_BUFFER) {
576
if((current_form = AddFormInfo(strdup(filename),
577
577
NULL, current_form)) == NULL)
578
578
return_value = CURL_FORMADD_MEMORY;
623
623
const char *contenttype =
624
624
array_state?array_value:va_arg(params, char *);
625
if (current_form->contenttype) {
626
if (current_form->flags & HTTPPOST_FILENAME) {
628
if ((current_form = AddFormInfo(NULL,
625
if(current_form->contenttype) {
626
if(current_form->flags & HTTPPOST_FILENAME) {
628
if((current_form = AddFormInfo(NULL,
629
629
strdup(contenttype),
630
630
current_form)) == NULL)
631
631
return_value = CURL_FORMADD_MEMORY;
722
722
form->contenttype_alloc = TRUE;
724
if ( !(form->flags & HTTPPOST_PTRNAME) &&
724
if( !(form->flags & HTTPPOST_PTRNAME) &&
725
725
(form == first_form) ) {
726
726
/* copy name (without strdup; possibly contains null characters) */
727
727
form->name = memdup(form->name, form->namelength);
729
729
return_value = CURL_FORMADD_MEMORY;
732
732
form->name_alloc = TRUE;
734
if ( !(form->flags & HTTPPOST_FILENAME) &&
734
if( !(form->flags & HTTPPOST_FILENAME) &&
735
735
!(form->flags & HTTPPOST_READFILE) &&
736
736
!(form->flags & HTTPPOST_PTRCONTENTS) &&
737
737
!(form->flags & HTTPPOST_PTRBUFFER) ) {
738
738
/* copy value (without strdup; possibly contains null characters) */
739
739
form->value = memdup(form->value, form->contentslength);
741
741
return_value = CURL_FORMADD_MEMORY;
959
959
nread = readfromfile(&temp, buffer, sizeof(buffer));
960
if ((nread == (size_t) -1) || (nread != append(arg, buffer, nread))) {
960
if((nread == (size_t) -1) || (nread != append(arg, buffer, nread))) {
964
964
Curl_formclean(&data);
967
} while (nread == sizeof(buffer));
967
} while(nread == sizeof(buffer));
969
if (ptr->length != append(arg, ptr->line, ptr->length)) {
969
if(ptr->length != append(arg, ptr->line, ptr->length)) {
970
970
Curl_formclean(&data);
1542
if (FormAddTest("simple COPYCONTENTS test", &httppost, &last_post,
1542
if(FormAddTest("simple COPYCONTENTS test", &httppost, &last_post,
1543
1543
CURLFORM_COPYNAME, name1, CURLFORM_COPYCONTENTS, value1,
1546
if (FormAddTest("COPYCONTENTS + CONTENTTYPE test", &httppost, &last_post,
1546
if(FormAddTest("COPYCONTENTS + CONTENTTYPE test", &httppost, &last_post,
1547
1547
CURLFORM_COPYNAME, name2, CURLFORM_COPYCONTENTS, value2,
1548
1548
CURLFORM_CONTENTTYPE, type2, CURLFORM_END))
1552
1552
name3[1] = '\0';
1553
1553
value3[1] = '\0';
1554
if (FormAddTest("PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH test",
1554
if(FormAddTest("PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH test",
1555
1555
&httppost, &last_post,
1556
1556
CURLFORM_PTRNAME, name3, CURLFORM_COPYCONTENTS, value3,
1557
1557
CURLFORM_CONTENTSLENGTH, value3length,
1558
1558
CURLFORM_NAMELENGTH, name3length, CURLFORM_END))
1560
if (FormAddTest("simple PTRCONTENTS test", &httppost, &last_post,
1560
if(FormAddTest("simple PTRCONTENTS test", &httppost, &last_post,
1561
1561
CURLFORM_COPYNAME, name4, CURLFORM_PTRCONTENTS, value4,
1564
1564
/* make null character at start to check that contentslength works
1566
1566
value5[1] = '\0';
1567
if (FormAddTest("PTRCONTENTS + CONTENTSLENGTH test", &httppost, &last_post,
1567
if(FormAddTest("PTRCONTENTS + CONTENTSLENGTH test", &httppost, &last_post,
1568
1568
CURLFORM_COPYNAME, name5, CURLFORM_PTRCONTENTS, value5,
1569
1569
CURLFORM_CONTENTSLENGTH, value5length, CURLFORM_END))
1571
1571
/* make null character at start to check that contentslength works
1573
1573
value6[1] = '\0';
1574
if (FormAddTest("PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE test",
1574
if(FormAddTest("PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE test",
1575
1575
&httppost, &last_post,
1576
1576
CURLFORM_COPYNAME, name6, CURLFORM_PTRCONTENTS, value6,
1577
1577
CURLFORM_CONTENTSLENGTH, value6length,
1578
1578
CURLFORM_CONTENTTYPE, type6, CURLFORM_END))
1580
if (FormAddTest("FILE + CONTENTTYPE test", &httppost, &last_post,
1580
if(FormAddTest("FILE + CONTENTTYPE test", &httppost, &last_post,
1581
1581
CURLFORM_COPYNAME, name7, CURLFORM_FILE, value7,
1582
1582
CURLFORM_CONTENTTYPE, type7, CURLFORM_END))
1584
if (FormAddTest("FILE1 + FILE2 test", &httppost, &last_post,
1584
if(FormAddTest("FILE1 + FILE2 test", &httppost, &last_post,
1585
1585
CURLFORM_COPYNAME, name8, CURLFORM_FILE, value7,
1586
1586
CURLFORM_FILE, value8, CURLFORM_END))
1588
if (FormAddTest("FILE1 + FILE2 + FILE3 test", &httppost, &last_post,
1588
if(FormAddTest("FILE1 + FILE2 + FILE3 test", &httppost, &last_post,
1589
1589
CURLFORM_COPYNAME, name9, CURLFORM_FILE, value7,
1590
1590
CURLFORM_FILE, value8, CURLFORM_FILE, value7, CURLFORM_END))
1596
1596
forms[2].option = CURLFORM_FILE;
1597
1597
forms[2].value = value7;
1598
1598
forms[3].option = CURLFORM_END;
1599
if (FormAddTest("FILE1 + FILE2 + FILE3 ARRAY test", &httppost, &last_post,
1599
if(FormAddTest("FILE1 + FILE2 + FILE3 ARRAY test", &httppost, &last_post,
1600
1600
CURLFORM_COPYNAME, name10, CURLFORM_ARRAY, forms,
1603
if (FormAddTest("FILECONTENT test", &httppost, &last_post,
1603
if(FormAddTest("FILECONTENT test", &httppost, &last_post,
1604
1604
CURLFORM_COPYNAME, name11, CURLFORM_FILECONTENT, value7,