diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2012-11-25 12:08:37 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-11-26 13:32:13 -0800 |
commit | 3a34e62684b6dc0edf1301eb2259132ffc233c48 (patch) | |
tree | 91218c179f5f3fbcd3dde2005ca7dcddc3eca7b9 | |
parent | lf_to_crlf(): NUL-terminate msg_data::data (diff) | |
download | tgif-3a34e62684b6dc0edf1301eb2259132ffc233c48.tar.xz |
imap-send: store all_msgs as a strbuf
all_msgs is only used as a glorified string, therefore there is no
reason to declare it as a struct msg_data.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | imap-send.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/imap-send.c b/imap-send.c index c818b0c7ea..50e223a2a4 100644 --- a/imap-send.c +++ b/imap-send.c @@ -1391,26 +1391,20 @@ static void wrap_in_html(struct msg_data *msg) #define CHUNKSIZE 0x1000 -static int read_message(FILE *f, struct msg_data *msg) +static int read_message(FILE *f, struct strbuf *all_msgs) { - struct strbuf buf = STRBUF_INIT; - - memset(msg, 0, sizeof(*msg)); - do { - if (strbuf_fread(&buf, CHUNKSIZE, f) <= 0) + if (strbuf_fread(all_msgs, CHUNKSIZE, f) <= 0) break; } while (!feof(f)); - msg->len = buf.len; - msg->data = strbuf_detach(&buf, NULL); - return msg->len; + return all_msgs->len; } -static int count_messages(struct msg_data *msg) +static int count_messages(struct strbuf *all_msgs) { int count = 0; - char *p = msg->data; + char *p = all_msgs->buf; while (1) { if (!prefixcmp(p, "From ")) { @@ -1431,7 +1425,7 @@ static int count_messages(struct msg_data *msg) return count; } -static int split_msg(struct msg_data *all_msgs, struct msg_data *msg, int *ofs) +static int split_msg(struct strbuf *all_msgs, struct msg_data *msg, int *ofs) { char *p, *data; @@ -1439,7 +1433,7 @@ static int split_msg(struct msg_data *all_msgs, struct msg_data *msg, int *ofs) if (*ofs >= all_msgs->len) return 0; - data = &all_msgs->data[*ofs]; + data = &all_msgs->buf[*ofs]; msg->len = all_msgs->len - *ofs; if (msg->len < 5 || prefixcmp(data, "From ")) @@ -1509,7 +1503,8 @@ static int git_imap_config(const char *key, const char *val, void *cb) int main(int argc, char **argv) { - struct msg_data all_msgs, msg; + struct strbuf all_msgs = STRBUF_INIT; + struct msg_data msg; struct store *ctx = NULL; int ofs = 0; int r; |