aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-09-08 15:13:42 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-09-11 00:26:17 +0200
commit02eb6184ad6ba6133382dfe24b45472176df92f7 (patch)
tree0c18b8dd868fec7eccbe0f028c95da857db9cc2e
parent7207aaa69696a5d28fbb628954f74ecbe2df97dc (diff)
Curl_checkheaders: make it available for IMAP and SMTP too
... not only HTTP uses this now. Closes #1875
-rw-r--r--lib/http.c21
-rw-r--r--lib/http.h2
-rw-r--r--lib/mime.c2
-rw-r--r--lib/transfer.c25
-rw-r--r--lib/transfer.h5
5 files changed, 30 insertions, 25 deletions
diff --git a/lib/http.c b/lib/http.c
index f4a1faac3..e7f6872d5 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -173,27 +173,6 @@ CURLcode Curl_http_setup_conn(struct connectdata *conn)
}
/*
- * checkheaders() checks the linked list of custom HTTP headers for a
- * particular header (prefix).
- *
- * Returns a pointer to the first matching header or NULL if none matched.
- */
-char *Curl_checkheaders(const struct connectdata *conn,
- const char *thisheader)
-{
- struct curl_slist *head;
- size_t thislen = strlen(thisheader);
- struct Curl_easy *data = conn->data;
-
- for(head = data->set.headers;head; head=head->next) {
- if(strncasecompare(head->data, thisheader, thislen))
- return head->data;
- }
-
- return NULL;
-}
-
-/*
* checkProxyHeaders() checks the linked list of custom proxy headers
* if proxy headers are not available, then it will lookup into http header
* link list
diff --git a/lib/http.h b/lib/http.h
index 3e446813f..d2781bc0f 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -40,8 +40,6 @@ bool Curl_compareheader(const char *headerline, /* line to check */
const char *header, /* header keyword _with_ colon */
const char *content); /* content string to find */
-char *Curl_checkheaders(const struct connectdata *conn,
- const char *thisheader);
char *Curl_copy_header_value(const char *header);
char *Curl_checkProxyheaders(const struct connectdata *conn,
diff --git a/lib/mime.c b/lib/mime.c
index 514f6b2ae..74b653649 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -1820,7 +1820,7 @@ CURLcode curl_mime_headers(curl_mimepart *part,
void Curl_mime_initpart(curl_mimepart *part, struct Curl_easy *easy)
{
(void) part;
- (void) data;
+ (void) easy;
}
void Curl_mime_cleanpart(curl_mimepart *part)
diff --git a/lib/transfer.c b/lib/transfer.c
index 24a21aa46..b36de2803 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -74,12 +74,37 @@
#include "non-ascii.h"
#include "http2.h"
#include "mime.h"
+#include "strcase.h"
/* The last 3 #include files should be in this order */
#include "curl_printf.h"
#include "curl_memory.h"
#include "memdebug.h"
+#if !defined(CURL_DISABLE_HTTP) || !defined(CURL_DISABLE_SMTP) || \
+ !defined(CURL_DISABLE_IMAP)
+/*
+ * checkheaders() checks the linked list of custom headers for a
+ * particular header (prefix).
+ *
+ * Returns a pointer to the first matching header or NULL if none matched.
+ */
+char *Curl_checkheaders(const struct connectdata *conn,
+ const char *thisheader)
+{
+ struct curl_slist *head;
+ size_t thislen = strlen(thisheader);
+ struct Curl_easy *data = conn->data;
+
+ for(head = data->set.headers;head; head=head->next) {
+ if(strncasecompare(head->data, thisheader, thislen))
+ return head->data;
+ }
+
+ return NULL;
+}
+#endif
+
/*
* This function will call the read callback to fill our buffer with data
* to upload.
diff --git a/lib/transfer.h b/lib/transfer.h
index 518967260..72526a834 100644
--- a/lib/transfer.h
+++ b/lib/transfer.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -22,6 +22,9 @@
*
***************************************************************************/
+char *Curl_checkheaders(const struct connectdata *conn,
+ const char *thisheader);
+
void Curl_init_CONNECT(struct Curl_easy *data);
CURLcode Curl_pretransfer(struct Curl_easy *data);