Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 builtin/mailinfo.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c
index b591a2f..c9629c8 100644
--- a/builtin/mailinfo.c
+++ b/builtin/mailinfo.c
@@ -30,10 +30,10 @@ struct mailinfo {
        int patch_lines;
        int filter_stage; /* still reading log or are we copying patch? */
        int header_stage; /* still checking in-body headers? */
+       struct strbuf **p_hdr_data;
+       struct strbuf **s_hdr_data;
 };
 
-static struct strbuf **p_hdr_data, **s_hdr_data;
-
 #define MAX_HDR_PARSED 10
 #define MAX_BOUNDARIES 5
 
@@ -743,7 +743,7 @@ static int handle_commit_msg(struct mailinfo *mi, struct 
strbuf *line)
        }
 
        if (mi->use_inbody_headers && mi->header_stage) {
-               int is_known_header = check_header(mi, line, s_hdr_data, 0);
+               int is_known_header = check_header(mi, line, mi->s_hdr_data, 0);
 
                if (mi->header_stage == 2) {
                        /*
@@ -786,9 +786,9 @@ static int handle_commit_msg(struct mailinfo *mi, struct 
strbuf *line)
                 * them to give ourselves a clean restart.
                 */
                for (i = 0; header[i]; i++) {
-                       if (s_hdr_data[i])
-                               strbuf_release(s_hdr_data[i]);
-                       s_hdr_data[i] = NULL;
+                       if (mi->s_hdr_data[i])
+                               strbuf_release(mi->s_hdr_data[i]);
+                       mi->s_hdr_data[i] = NULL;
                }
                return 0;
        }
@@ -870,7 +870,7 @@ again:
 
        /* slurp in this section's info */
        while (read_one_header_line(line, mi->input))
-               check_header(mi, line, p_hdr_data, 0);
+               check_header(mi, line, mi->p_hdr_data, 0);
 
        strbuf_release(&newline);
        /* replenish line */
@@ -971,10 +971,10 @@ static void handle_info(struct mailinfo *mi)
 
        for (i = 0; header[i]; i++) {
                /* only print inbody headers if we output a patch file */
-               if (mi->patch_lines && s_hdr_data[i])
-                       hdr = s_hdr_data[i];
-               else if (p_hdr_data[i])
-                       hdr = p_hdr_data[i];
+               if (mi->patch_lines && mi->s_hdr_data[i])
+                       hdr = mi->s_hdr_data[i];
+               else if (mi->p_hdr_data[i])
+                       hdr = mi->p_hdr_data[i];
                else
                        continue;
 
@@ -1014,8 +1014,8 @@ static int mailinfo(struct mailinfo *mi, const char *msg, 
const char *patch)
                return -1;
        }
 
-       p_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(*p_hdr_data));
-       s_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(*s_hdr_data));
+       mi->p_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(*(mi->p_hdr_data)));
+       mi->s_hdr_data = xcalloc(MAX_HDR_PARSED, sizeof(*(mi->s_hdr_data)));
 
        do {
                peek = fgetc(mi->input);
@@ -1024,7 +1024,7 @@ static int mailinfo(struct mailinfo *mi, const char *msg, 
const char *patch)
 
        /* process the email header */
        while (read_one_header_line(&line, mi->input))
-               check_header(mi, &line, p_hdr_data, 1);
+               check_header(mi, &line, mi->p_hdr_data, 1);
 
        handle_body(mi, &line);
        handle_info(mi);
-- 
2.6.1-320-g86a1181

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to