diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-08-18 12:46:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-08-18 12:46:55 -0700 |
commit | 165dc789d5e201a06e0de5a984e4529ae62027fc (patch) | |
tree | ae0b12015f7fabfe34ca73829aa81d2b4522461f /commit.c | |
parent | 29e1353a7debe4e73cb5d6d2d5a0c4479e9eb768 (diff) | |
parent | ad98a58b3d7a151dca59364b72097b6b875a56f6 (diff) | |
download | git-165dc789d5e201a06e0de5a984e4529ae62027fc.tar.gz git-165dc789d5e201a06e0de5a984e4529ae62027fc.tar.xz |
Merge branch 'cc/find-commit-subject'
* cc/find-commit-subject:
blame: use find_commit_subject() instead of custom code
merge-recursive: use find_commit_subject() instead of custom code
bisect: use find_commit_subject() instead of custom code
revert: rename variables related to subject in get_message()
revert: refactor code to find commit subject in find_commit_subject()
revert: fix off by one read when searching the end of a commit subject
Diffstat (limited to 'commit.c')
-rw-r--r-- | commit.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -315,6 +315,25 @@ int parse_commit(struct commit *item) return ret; } +int find_commit_subject(const char *commit_buffer, const char **subject) +{ + const char *eol; + const char *p = commit_buffer; + + while (*p && (*p != '\n' || p[1] != '\n')) + p++; + if (*p) { + p += 2; + for (eol = p; *eol && *eol != '\n'; eol++) + ; /* do nothing */ + } else + eol = p; + + *subject = p; + + return eol - p; +} + struct commit_list *commit_list_insert(struct commit *item, struct commit_list **list_p) { struct commit_list *new_list = xmalloc(sizeof(struct commit_list)); |