builtin/am: make sure state files are text
[gitweb.git] / builtin / am.c
index 4d34dc5f74bf756caa1b973196259c6f5d42b199..f0a046bdc05fa91e6d21016e6a0b246149fe3802 100644 (file)
@@ -199,13 +199,19 @@ static inline const char *am_path(const struct am_state *state, const char *path
 static int write_state_text(const struct am_state *state,
                            const char *name, const char *string)
 {
-       return write_file(am_path(state, name), 1, "%s", string);
+       const char *fmt;
+
+       if (*string && string[strlen(string) - 1] != '\n')
+               fmt = "%s\n";
+       else
+               fmt = "%s";
+       return write_file(am_path(state, name), 1, fmt, string);
 }
 
 static int write_state_count(const struct am_state *state,
                             const char *name, int value)
 {
-       return write_file(am_path(state, name), 1, "%d", value);
+       return write_file(am_path(state, name), 1, "%d\n", value);
 }
 
 static int write_state_bool(const struct am_state *state,