]> git.ipfire.org Git - thirdparty/git.git/blobdiff - imap-send.c
fast-import: use write_pack_header()
[thirdparty/git.git] / imap-send.c
index 54e6a80fd64e16420a526461e90aed559e0bd1d6..5764dd812ca768002aacd67b066f9af22ab8994e 100644 (file)
@@ -24,7 +24,7 @@
 #include "cache.h"
 #include "config.h"
 #include "credential.h"
-#include "exec_cmd.h"
+#include "exec-cmd.h"
 #include "run-command.h"
 #include "parse-options.h"
 #ifdef NO_OPENSSL
@@ -511,7 +511,7 @@ static int nfsnprintf(char *buf, int blen, const char *fmt, ...)
 
        va_start(va, fmt);
        if (blen <= 0 || (unsigned)(ret = vsnprintf(buf, blen, fmt, va)) >= (unsigned)blen)
-               die("BUG: buffer too small. Please report a bug.");
+               BUG("buffer too small. Please report a bug.");
        va_end(va);
        return ret;
 }
@@ -976,7 +976,7 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
 
                imap_info("Starting tunnel '%s'... ", srvc->tunnel);
 
-               argv_array_push(&tunnel.args, srvc->tunnel);
+               strvec_push(&tunnel.args, srvc->tunnel);
                tunnel.use_shell = 1;
                tunnel.in = -1;
                tunnel.out = -1;
@@ -1114,7 +1114,7 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
 
                        if (!strcmp(srvc->auth_method, "CRAM-MD5")) {
                                if (!CAP(AUTH_CRAM_MD5)) {
-                                       fprintf(stderr, "You specified"
+                                       fprintf(stderr, "You specified "
                                                "CRAM-MD5 as authentication method, "
                                                "but %s doesn't support it.\n", srvc->host);
                                        goto bail;
@@ -1189,11 +1189,11 @@ bail:
  */
 static void lf_to_crlf(struct strbuf *msg)
 {
-       char *new;
+       char *new_msg;
        size_t i, j;
        char lastc;
 
-       /* First pass: tally, in j, the size of the new string: */
+       /* First pass: tally, in j, the size of the new_msg string: */
        for (i = j = 0, lastc = '\0'; i < msg->len; i++) {
                if (msg->buf[i] == '\n' && lastc != '\r')
                        j++; /* a CR will need to be added here */
@@ -1201,18 +1201,18 @@ static void lf_to_crlf(struct strbuf *msg)
                j++;
        }
 
-       new = xmallocz(j);
+       new_msg = xmallocz(j);
 
        /*
-        * Second pass: write the new string.  Note that this loop is
+        * Second pass: write the new_msg string.  Note that this loop is
         * otherwise identical to the first pass.
         */
        for (i = j = 0, lastc = '\0'; i < msg->len; i++) {
                if (msg->buf[i] == '\n' && lastc != '\r')
-                       new[j++] = '\r';
-               lastc = new[j++] = msg->buf[i];
+                       new_msg[j++] = '\r';
+               lastc = new_msg[j++] = msg->buf[i];
        }
-       strbuf_attach(msg, new, j, j + 1);
+       strbuf_attach(msg, new_msg, j, j + 1);
 }
 
 /*
@@ -1412,6 +1412,7 @@ static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
 {
        CURL *curl;
        struct strbuf path = STRBUF_INIT;
+       char *uri_encoded_folder;
 
        if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK)
                die("curl_global_init failed");
@@ -1429,7 +1430,12 @@ static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
        strbuf_addstr(&path, server.host);
        if (!path.len || path.buf[path.len - 1] != '/')
                strbuf_addch(&path, '/');
-       strbuf_addstr(&path, server.folder);
+
+       uri_encoded_folder = curl_easy_escape(curl, server.folder, 0);
+       if (!uri_encoded_folder)
+               die("failed to encode server folder");
+       strbuf_addstr(&path, uri_encoded_folder);
+       curl_free(uri_encoded_folder);
 
        curl_easy_setopt(curl, CURLOPT_URL, path.buf);
        strbuf_release(&path);
@@ -1458,14 +1464,15 @@ static CURL *setup_curl(struct imap_server_conf *srvc, struct credential *cred)
        curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
        if (0 < verbosity || getenv("GIT_CURL_VERBOSE"))
-               curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+               http_trace_curl_no_data();
        setup_curl_trace(curl);
 
        return curl;
 }
 
 static int curl_append_msgs_to_imap(struct imap_server_conf *server,
-                                   struct strbuf* all_msgs, int total) {
+                                   struct strbuf* all_msgs, int total)
+{
        int ofs = 0;
        int n = 0;
        struct buffer msgbuf = { STRBUF_INIT, 0 };