[PATCH] git-compat-util.h:rewrite skip_prefix() as loop
Rewrote skip_prefix() function so that prefix is scanned once. Signed-off-by: Siddharth Goel siddharth98...@gmail.com --- git-compat-util.h | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index 614a5e9..550dce3 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -357,8 +357,11 @@ extern int suffixcmp(const char *str, const char *suffix); static inline const char *skip_prefix(const char *str, const char *prefix) { - size_t len = strlen(prefix); - return strncmp(str, prefix, len) ? NULL : str + len; + while (*prefix != '\0' *str == *prefix) { + str++; + prefix++; + } + return (*prefix == '\0' ? str : NULL); } #if defined(NO_MMAP) || defined(USE_WIN32_MMAP) -- 1.9.0.138.g2de3478.dirty -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-compat-util.h:rewrite skip_prefix() as loop
To my surprise, git format-patch had removed the Git Notes that I had put to my commit (regarding GSoC). I have written this patch as a part of the GSoC 2014 MicroProject for Git. Going through the mail-chain I observed that many students have attempted this Microproject. So is it ok if I stick to this Microproject or should I go with another one? On Sat, Mar 1, 2014 at 9:32 PM, Siddharth Goel siddharth98...@gmail.com wrote: Rewrote skip_prefix() function so that prefix is scanned once. Signed-off-by: Siddharth Goel siddharth98...@gmail.com --- git-compat-util.h | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index 614a5e9..550dce3 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -357,8 +357,11 @@ extern int suffixcmp(const char *str, const char *suffix); static inline const char *skip_prefix(const char *str, const char *prefix) { - size_t len = strlen(prefix); - return strncmp(str, prefix, len) ? NULL : str + len; + while (*prefix != '\0' *str == *prefix) { + str++; + prefix++; + } + return (*prefix == '\0' ? str : NULL); } #if defined(NO_MMAP) || defined(USE_WIN32_MMAP) -- 1.9.0.138.g2de3478.dirty -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-compat-util.h:rewrite skip_prefix() as loop
Thanks for the submission. Minor comments below to give you a taste of what it's like to contribute to this project... On Sat, Mar 1, 2014 at 8:32 AM, Siddharth Goel siddharth98...@gmail.com wrote: Rewrote skip_prefix() function so that prefix is scanned once. Good description. In this project, use imperative tone, so say Rewrite skip_prefix()... as you did in the subject. In fact, this description is short enough and conveys sufficient information that it could just be placed in the subject as the entire commit message. Subject: skip_prefix: rewrite so that prefix is scanned once Signed-off-by: Siddharth Goel siddharth98...@gmail.com --- git-compat-util.h | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index 614a5e9..550dce3 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -357,8 +357,11 @@ extern int suffixcmp(const char *str, const char *suffix); static inline const char *skip_prefix(const char *str, const char *prefix) { - size_t len = strlen(prefix); - return strncmp(str, prefix, len) ? NULL : str + len; + while (*prefix != '\0' *str == *prefix) { + str++; + prefix++; + } + return (*prefix == '\0' ? str : NULL); } #if defined(NO_MMAP) || defined(USE_WIN32_MMAP) -- 1.9.0.138.g2de3478.dirty -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-compat-util.h:rewrite skip_prefix() as loop
On Sat, Mar 1, 2014 at 10:22 PM, Siddharth Goel siddharth98...@gmail.com wrote: To my surprise, git format-patch had removed the Git Notes that I had put to my commit (regarding GSoC). I have written this patch as a part of the GSoC 2014 MicroProject for Git. You probably wanted to use the --notes option with format-patch. Going through the mail-chain I observed that many students have attempted this Microproject. So is it ok if I stick to this Microproject or should I go with another one? That's okay. The purpose of the miniprojects is for you to get a taste of what it's like to contribute to this project and to understand what will be expected of you as a GSoC student; and to give the GSoC mentors a chance to judge your abilities and observe how you interact with reviewers. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html