Jeff King <peff@xxxxxxxx> writes: > FWIW, I had a similar thought when reading the original thread. I also > noted that all of the callers here pass "1" for the "fatal" parameter, > and that they are either bools or single strings. I wonder if: > > void write_state_bool(struct am_state *state, const char *name, int v) > { > write_file(am_path(state, name), 1, "%s\n", v ? "t" : "f"); > } > > would make the call-sites even easier to read (and of course the "\n" > would be dropped here if it does migrate up to write_file()). > >> @@ -634,6 +641,9 @@ int write_file(const char *path, int fatal, const char *fmt, ...) >> va_start(params, fmt); >> strbuf_vaddf(&sb, fmt, params); >> va_end(params); >> + if (sb.len) >> + strbuf_complete_line(&sb); >> + > > I think the "if" here is redundant; strbuf_complete_line already handles > it. True. And I like your write_state_bool() wrapper (which should be "static void" to the builtin/am.c) very much. On top of that, I think the right thing to do to write_file() would be to first clean-up the second parameter "fatal" to an "unsigned flags" whose (1<<0) bit is "fatal", (1<<1) bit is "binary", and make this new call to "strbuf_complete_line()" only when "binary" bit is not set. The new comment I added before write_file() function needs to be adjusted if we were to do this, obviously. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html