[PATCH v2] skip_prefix:rewrite so that prefix is scanned once

Subsystems: the rest

DORMANTno replies

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH v2] skip_prefix:rewrite so that prefix is scanned once

From: Siddharth Goel <hidden>
Date: 2016-06-15 23:00:09

Helped-by: Eric Sunshine [off-list ref]
Signed-off-by: Siddharth Goel <redacted>
---
Thanks a lot Eric for your valuable comments. Please let me know if there is 
anything else which needs to be modified in this patch.

 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

Re: [PATCH v2] skip_prefix:rewrite so that prefix is scanned once

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:00:09

On Sun, Mar 2, 2014 at 10:03 AM, Siddharth Goel
[off-list ref] wrote:
Helped-by: Eric Sunshine [off-list ref]
Signed-off-by: Siddharth Goel <redacted>
---
Thanks a lot Eric for your valuable comments. Please let me know if there is
anything else which needs to be modified in this patch.
Other than suggesting that you insert a space after the colon in the
subject, I don't have any further comments on this patch. That's
probably not a reason to resend, though.

As general commentary to any potential GSoC students reading this: do
what you can to ease the review process. One way to do so is to supply
commentary below the "---" line (or in the cover letter) explaining
what changed in the present patch compared with the previous attempt.
Bonus points for providing a reference to the previous version of the
submission, like this [1].

[1]: http://thread.gmane.org/gmane.comp.version-control.git/243097
quoted hunk
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help