mailinfo: do not let find_boundary() touch global "line" directly

With the previous two commits, we established that the local variable "line" in handle_body() and handle_boundary() functions always refer to the global "line" that is used as the common and shared "current line from the input". They are the only callers of the last function that refers to the global line directly, i.e. find_boundary(). Pass "line" as a parameter to this leaf function to complete the clean-up. Now the only function that directly refers to the global "line" is the caller of handle_body() at the very beginning of this whole callchain. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Oct 18, 2015 at 15:40 UTC fbbcafd0607d6fccb2fde39c49619bcd7a7b910b
1 file changed +5 -5
builtin/mailinfo.c
+5 -5
@@ -786,10 +786,10 @@ static int read_one_header_line(struct strbuf *line, FILE *in)
786 return 1;
787 }
788
789 -static int find_boundary(void)
789 +static int find_boundary(struct strbuf *line)
790 {
791 - while (!strbuf_getline(&line, fin, '\n')) {
792 - if (*content_top && is_multipart_boundary(&line))
791 + while (!strbuf_getline(line, fin, '\n')) {
792 + if (*content_top && is_multipart_boundary(line))
793 return 1;
794 }
795 return 0;
@@ -821,7 +821,7 @@ again:
821 strbuf_release(&newline);
822
823 /* skip to the next boundary */
824 - if (!find_boundary())
824 + if (!find_boundary(line))
825 return 0;
826 goto again;
827 }
@@ -850,7 +850,7 @@ static void handle_body(struct strbuf *line)
850
851 /* Skip up to the first boundary */
852 if (*content_top) {
853 - if (!find_boundary())
853 + if (!find_boundary(line))
854 goto handle_body_out;
855 }
856