I reimplemented skip_prefix() again just to realize this function already exists. Which reminds me there are a bunch of places that could benefit from this function, the same reason that I wanted to reimplement it. So this is series to make it more popular (so hopefully I'll see it used somewhere and know that it exists) and the code cleaner. The pattern "compare a string, then skip the compared part by a hard coded string length" is almost killed. I left a few in places for those who want to contribute :) Nguyễn Thái Ngọc Duy (12): Make starts_with() a wrapper of skip_prefix() Convert starts_with() to skip_prefix() for option parsing Add and use skip_prefix_defval() Replace some use of starts_with() with skip_prefix() Convert a lot of starts_with() to skip_prefix() fetch.c: replace some use of starts_with() with skip_prefix() connect.c: replace some use of starts_with() with skip_prefix() refs.c: replace some use of starts_with() with skip_prefix() diff.c: reduce code duplication in --stat-xxx parsing environment.c: replace starts_with() in strip_namespace() with skip_prefix() diff.c: convert diff_scoreopt_parse to use skip_prefix() refs.c: use skip_prefix() in prune_ref() builtin/branch.c | 3 +- builtin/checkout.c | 6 +- builtin/fast-export.c | 3 +- builtin/fetch-pack.c | 13 ++-- builtin/fetch.c | 16 ++--- builtin/for-each-ref.c | 9 +-- builtin/index-pack.c | 17 +++--- builtin/ls-remote.c | 9 +-- builtin/mailinfo.c | 11 ++-- builtin/merge.c | 12 ++-- builtin/reflog.c | 9 +-- builtin/remote.c | 3 +- builtin/rev-parse.c | 41 ++++++------- builtin/send-pack.c | 18 +++--- builtin/show-branch.c | 14 ++--- builtin/unpack-objects.c | 5 +- builtin/update-ref.c | 21 +++---- commit.c | 5 +- connect.c | 6 +- daemon.c | 75 +++++++++++------------ diff.c | 153 +++++++++++++++++++++-------------------------- environment.c | 4 +- fetch-pack.c | 9 +-- git-compat-util.h | 15 ++++- git.c | 16 ++--- http-backend.c | 5 +- http-push.c | 6 +- http.c | 5 +- log-tree.c | 5 +- merge-recursive.c | 13 ++-- notes.c | 6 +- pager.c | 2 +- pathspec.c | 5 +- pretty.c | 3 +- refs.c | 20 ++++--- revision.c | 60 +++++++++---------- setup.c | 3 +- sha1_name.c | 12 +--- strbuf.c | 9 --- tag.c | 7 +-- transport-helper.c | 15 +++-- transport.c | 14 +++-- upload-pack.c | 5 +- wt-status.c | 15 ++--- 44 files changed, 334 insertions(+), 369 deletions(-) -- 1.8.5.1.208.g019362e -- 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