summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-05-15 16:33:05 -0700
committerRussell Belfer <rb@github.com>2012-05-15 16:33:05 -0700
commit2c8339172878cd935eee0d9eb6db747cebd70a72 (patch)
treec5499b848395ad1a2efddeb092d6c00e8421f226 /src
parent58ffeb9cde4091a714322157836954eb45129fad (diff)
downloadlibgit2-2c8339172878cd935eee0d9eb6db747cebd70a72.tar.gz
Document git_buf_common_prefix
This function fills in a git_buf with the common prefix of an array of strings, but let's make that a little more clear.
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c3
-rw-r--r--src/buffer.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 8687d5537..ef95839f6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -426,10 +426,13 @@ int git_buf_common_prefix(git_buf *buf, const git_strarray *strings)
if (!strings || !strings->count)
return 0;
+ /* initialize common prefix to first string */
if (git_buf_sets(buf, strings->strings[0]) < 0)
return -1;
+ /* go through the rest of the strings, truncating to shared prefix */
for (i = 1; i < strings->count; ++i) {
+
for (str = strings->strings[i], pfx = buf->ptr;
*str && *str == *pfx; str++, pfx++)
/* scanning */;
diff --git a/src/buffer.h b/src/buffer.h
index 5a0e7d7b2..af760f901 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -122,6 +122,7 @@ void git_buf_rtrim(git_buf *buf);
int git_buf_cmp(const git_buf *a, const git_buf *b);
+/* Fill buf with the common prefix of a array of strings */
int git_buf_common_prefix(git_buf *buf, const git_strarray *strings);
#endif