summaryrefslogtreecommitdiff
path: root/src/tool_formparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool_formparse.c')
-rw-r--r--src/tool_formparse.c79
1 files changed, 32 insertions, 47 deletions
diff --git a/src/tool_formparse.c b/src/tool_formparse.c
index 84d6a029b..b5ab10a00 100644
--- a/src/tool_formparse.c
+++ b/src/tool_formparse.c
@@ -223,10 +223,7 @@ size_t tool_mime_stdin_read(char *buffer,
nitems = fread(buffer, 1, nitems, stdin);
if(ferror(stdin)) {
/* Show error only once. */
- if(sip->global) {
- warnf(sip->global, "stdin: %s", strerror(errno));
- sip->global = NULL;
- }
+ warnf("stdin: %s", strerror(errno));
return CURL_READFUNC_ABORT;
}
}
@@ -348,8 +345,7 @@ CURLcode tool2curlmime(CURL *curl, struct tool_mime *m, curl_mime **mime)
* after call get_param_word, str either point to string end
* or point to any of end chars.
*/
-static char *get_param_word(struct OperationConfig *config, char **str,
- char **end_pos, char endchar)
+static char *get_param_word(char **str, char **end_pos, char endchar)
{
char *ptr = *str;
/* the first non-space char is here */
@@ -391,7 +387,7 @@ static char *get_param_word(struct OperationConfig *config, char **str,
++ptr;
}
if(trailing_data)
- warnf(config->global, "Trailing data after quoted form parameter");
+ warnf("Trailing data after quoted form parameter");
*str = ptr;
return word_begin + 1;
}
@@ -420,8 +416,7 @@ static int slist_append(struct curl_slist **plist, const char *data)
}
/* Read headers from a file and append to list. */
-static int read_field_headers(struct OperationConfig *config,
- const char *filename, FILE *fp,
+static int read_field_headers(const char *filename, FILE *fp,
struct curl_slist **pheaders)
{
size_t hdrlen = 0;
@@ -439,7 +434,7 @@ static int read_field_headers(struct OperationConfig *config,
if(hdrlen) {
hdrbuf[hdrlen] = '\0';
if(slist_append(pheaders, hdrbuf)) {
- errorf(config->global, "Out of memory for field headers");
+ errorf("Out of memory for field headers");
return -1;
}
hdrlen = 0;
@@ -449,7 +444,7 @@ static int read_field_headers(struct OperationConfig *config,
switch(c) {
case EOF:
if(ferror(fp)) {
- errorf(config->global, "Header file %s read error: %s", filename,
+ errorf("Header file %s read error: %s", filename,
strerror(errno));
return -1;
}
@@ -470,7 +465,7 @@ static int read_field_headers(struct OperationConfig *config,
pos++;
if(!incomment) {
if(hdrlen == sizeof(hdrbuf) - 1) {
- warnf(config->global, "File %s line %d: header too long (truncated)",
+ warnf("File %s line %d: header too long (truncated)",
filename, lineno);
c = ' ';
}
@@ -481,7 +476,7 @@ static int read_field_headers(struct OperationConfig *config,
/* NOTREACHED */
}
-static int get_param_part(struct OperationConfig *config, char endchar,
+static int get_param_part(char endchar,
char **str, char **pdata, char **ptype,
char **pfilename, char **pencoder,
struct curl_slist **pheaders)
@@ -507,7 +502,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
while(ISBLANK(*p))
p++;
tp = p;
- *pdata = get_param_word(config, &p, &endpos, endchar);
+ *pdata = get_param_word(&p, &endpos, endchar);
/* If not quoted, strip trailing spaces. */
if(*pdata == tp)
while(endpos > *pdata && ISBLANK(endpos[-1]))
@@ -539,7 +534,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
for(p += 9; ISBLANK(*p); p++)
;
tp = p;
- filename = get_param_word(config, &p, &endpos, endchar);
+ filename = get_param_word(&p, &endpos, endchar);
/* If not quoted, strip trailing spaces. */
if(filename == tp)
while(endpos > filename && ISBLANK(endpos[-1]))
@@ -561,7 +556,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
p++;
} while(ISBLANK(*p));
tp = p;
- hdrfile = get_param_word(config, &p, &endpos, endchar);
+ hdrfile = get_param_word(&p, &endpos, endchar);
/* If not quoted, strip trailing spaces. */
if(hdrfile == tp)
while(endpos > hdrfile && ISBLANK(endpos[-1]))
@@ -570,10 +565,10 @@ static int get_param_part(struct OperationConfig *config, char endchar,
*endpos = '\0';
fp = fopen(hdrfile, FOPEN_READTEXT);
if(!fp)
- warnf(config->global, "Cannot read from %s: %s", hdrfile,
+ warnf("Cannot read from %s: %s", hdrfile,
strerror(errno));
else {
- int i = read_field_headers(config, hdrfile, fp, &headers);
+ int i = read_field_headers(hdrfile, fp, &headers);
fclose(fp);
if(i) {
@@ -588,7 +583,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
while(ISBLANK(*p))
p++;
tp = p;
- hdr = get_param_word(config, &p, &endpos, endchar);
+ hdr = get_param_word(&p, &endpos, endchar);
/* If not quoted, strip trailing spaces. */
if(hdr == tp)
while(endpos > hdr && ISBLANK(endpos[-1]))
@@ -596,7 +591,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
sep = *p;
*endpos = '\0';
if(slist_append(&headers, hdr)) {
- errorf(config->global, "Out of memory for field header");
+ errorf("Out of memory for field header");
curl_slist_free_all(headers);
return -1;
}
@@ -610,7 +605,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
for(p += 8; ISBLANK(*p); p++)
;
tp = p;
- encoder = get_param_word(config, &p, &endpos, endchar);
+ encoder = get_param_word(&p, &endpos, endchar);
/* If not quoted, strip trailing spaces. */
if(encoder == tp)
while(endpos > encoder && ISSPACE(endpos[-1]))
@@ -627,12 +622,12 @@ static int get_param_part(struct OperationConfig *config, char endchar,
}
else {
/* unknown prefix, skip to next block */
- char *unknown = get_param_word(config, &p, &endpos, endchar);
+ char *unknown = get_param_word(&p, &endpos, endchar);
sep = *p;
*endpos = '\0';
if(*unknown)
- warnf(config->global, "skip unknown form field: %s", unknown);
+ warnf("skip unknown form field: %s", unknown);
}
}
@@ -643,25 +638,22 @@ static int get_param_part(struct OperationConfig *config, char endchar,
if(ptype)
*ptype = type;
else if(type)
- warnf(config->global, "Field content type not allowed here: %s", type);
+ warnf("Field content type not allowed here: %s", type);
if(pfilename)
*pfilename = filename;
else if(filename)
- warnf(config->global,
- "Field filename not allowed here: %s", filename);
+ warnf("Field filename not allowed here: %s", filename);
if(pencoder)
*pencoder = encoder;
else if(encoder)
- warnf(config->global,
- "Field encoder not allowed here: %s", encoder);
+ warnf("Field encoder not allowed here: %s", encoder);
if(pheaders)
*pheaders = headers;
else if(headers) {
- warnf(config->global,
- "Field headers not allowed here: %s", headers->data);
+ warnf("Field headers not allowed here: %s", headers->data);
curl_slist_free_all(headers);
}
@@ -726,8 +718,7 @@ static int get_param_part(struct OperationConfig *config, char endchar,
} \
} while(0)
-int formparse(struct OperationConfig *config,
- const char *input,
+int formparse(const char *input,
struct tool_mime **mimeroot,
struct tool_mime **mimecurrent,
bool literal_value)
@@ -769,8 +760,7 @@ int formparse(struct OperationConfig *config,
if(*contp == '(' && !literal_value) {
/* Starting a multipart. */
- sep = get_param_part(config, '\0',
- &contp, &data, &type, NULL, NULL, &headers);
+ sep = get_param_part('\0', &contp, &data, &type, NULL, NULL, &headers);
if(sep < 0)
goto fail;
part = tool_mime_new_parts(*mimecurrent);
@@ -784,7 +774,7 @@ int formparse(struct OperationConfig *config,
else if(!name && !strcmp(contp, ")") && !literal_value) {
/* Ending a multipart. */
if(*mimecurrent == *mimeroot) {
- warnf(config->global, "no multipart to terminate");
+ warnf("no multipart to terminate");
goto fail;
}
*mimecurrent = (*mimecurrent)->parent;
@@ -799,7 +789,7 @@ int formparse(struct OperationConfig *config,
/* since this was a file, it may have a content-type specifier
at the end too, or a filename. Or both. */
++contp;
- sep = get_param_part(config, ',', &contp,
+ sep = get_param_part(',', &contp,
&data, &type, &filename, &encoder, &headers);
if(sep < 0) {
goto fail;
@@ -823,14 +813,12 @@ int formparse(struct OperationConfig *config,
goto fail;
part->headers = headers;
headers = NULL;
- part->global = config->global;
if(res == CURLE_READ_ERROR) {
/* An error occurred while reading stdin: if read has started,
issue the error now. Else, delay it until processed by
libcurl. */
if(part->size > 0) {
- warnf(config->global,
- "error while reading standard input");
+ warnf("error while reading standard input");
goto fail;
}
tool_safefree(part->data);
@@ -848,7 +836,7 @@ int formparse(struct OperationConfig *config,
else {
if(*contp == '<' && !literal_value) {
++contp;
- sep = get_param_part(config, '\0', &contp,
+ sep = get_param_part('\0', &contp,
&data, &type, NULL, &encoder, &headers);
if(sep < 0)
goto fail;
@@ -859,14 +847,12 @@ int formparse(struct OperationConfig *config,
goto fail;
part->headers = headers;
headers = NULL;
- part->global = config->global;
if(res == CURLE_READ_ERROR) {
/* An error occurred while reading stdin: if read has started,
issue the error now. Else, delay it until processed by
libcurl. */
if(part->size > 0) {
- warnf(config->global,
- "error while reading standard input");
+ warnf("error while reading standard input");
goto fail;
}
tool_safefree(part->data);
@@ -878,7 +864,7 @@ int formparse(struct OperationConfig *config,
if(literal_value)
data = contp;
else {
- sep = get_param_part(config, '\0', &contp,
+ sep = get_param_part('\0', &contp,
&data, &type, &filename, &encoder, &headers);
if(sep < 0)
goto fail;
@@ -897,8 +883,7 @@ int formparse(struct OperationConfig *config,
if(sep) {
*contp = (char) sep;
- warnf(config->global,
- "garbage at end of field specification: %s", contp);
+ warnf("garbage at end of field specification: %s", contp);
}
}
@@ -906,7 +891,7 @@ int formparse(struct OperationConfig *config,
SET_TOOL_MIME_PTR(part, name);
}
else {
- warnf(config->global, "Illegally formatted input field");
+ warnf("Illegally formatted input field");
goto fail;
}
err = 0;