static int parse_insn_buffer(char *buf, struct todo_list *todo_list) { struct todo_item *item; char *p = buf, *next_p; int i, res = 0; for (i = 1; *p; i++, p = next_p) { char *eol = strchrnul(p, '\n'); next_p = *eol ? eol + 1 /* skip LF */ : eol; if (p != eol && eol[-1] == '\r') eol--; /* strip Carriage Return */ item = append_new_todo(todo_list); item->offset_in_buf = p - todo_list->buf.buf; if (parse_insn_line(item, p, eol)) { res = error(_("invalid line %d: %.*s"), i, (int)(eol - p), p); item->command = -1; } } if (!todo_list->nr) return error(_("no commits parsed.")); return res; }
static int parse_insn_buffer(char *buf, struct commit_list **todo_list, struct replay_opts *opts) { struct commit_list **next = todo_list; struct commit *commit; char *p = buf; int i; for (i = 1; *p; i++) { char *eol = strchrnul(p, '\n'); commit = parse_insn_line(p, eol, opts); if (!commit) return error(_("Could not parse line %d."), i); next = commit_list_append(commit, next); p = *eol ? eol + 1 : eol; } if (!*todo_list) return error(_("No commits parsed.")); return 0; }