diff options
| author | Junio C Hamano <gitster@pobox.com> | 2013-10-17 15:55:18 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2013-10-17 15:55:18 -0700 |
| commit | 046180ad9dd36f739f22b1d05b17b23b8c96ce49 (patch) | |
| tree | 9dd69596ad88648dc3f5332650011eb2784c09cc /ident.c | |
| parent | d6a58b7773d142ab6da47eca94f83b9c8e6dad5e (diff) | |
| parent | 662cc30cd048f2ccd7ba8d1540e0768ae264c0dd (diff) | |
Merge branch 'jk/format-patch-from'
"format-patch --from=<whom>" forgot to omit unnecessary in-body
from line, i.e. when <whom> is the same as the real author.
* jk/format-patch-from:
format-patch: print in-body "From" only when needed
Diffstat (limited to 'ident.c')
| -rw-r--r-- | ident.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -402,3 +402,32 @@ int git_ident_config(const char *var, const char *value, void *data) return 0; } + +static int buf_cmp(const char *a_begin, const char *a_end, + const char *b_begin, const char *b_end) +{ + int a_len = a_end - a_begin; + int b_len = b_end - b_begin; + int min = a_len < b_len ? a_len : b_len; + int cmp; + + cmp = memcmp(a_begin, b_begin, min); + if (cmp) + return cmp; + + return a_len - b_len; +} + +int ident_cmp(const struct ident_split *a, + const struct ident_split *b) +{ + int cmp; + + cmp = buf_cmp(a->mail_begin, a->mail_end, + b->mail_begin, b->mail_end); + if (cmp) + return cmp; + + return buf_cmp(a->name_begin, a->name_end, + b->name_begin, b->name_end); +} |
