Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

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

From: Duy Nguyen <hidden>
Date: 2016-06-15 23:00:10

Possibly related (same subject, not in this thread)

On Tue, Mar 4, 2014 at 5:43 AM, Junio C Hamano [off-list ref] wrote:
quoted hunk ↗ jump to hunk
diff --git a/git-compat-util.h b/git-compat-util.h
index cbd86c3..68ffaef 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -357,8 +357,14 @@ 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;
Just a note. gcc does optimize strlen("abcdef") to 6, and with that
information at compile time built-in strncmp might do better.
+       while (1) {
+               if (!*prefix)
+                       return str;
+               if (*str != *prefix)
+                       return NULL;
+               prefix++;
+               str++;
+       }
 }

 #if defined(NO_MMAP) || defined(USE_WIN32_MMAP)
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help