Commit 2c833917 by Russell Belfer

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.
parent 58ffeb9c
...@@ -426,10 +426,13 @@ int git_buf_common_prefix(git_buf *buf, const git_strarray *strings) ...@@ -426,10 +426,13 @@ int git_buf_common_prefix(git_buf *buf, const git_strarray *strings)
if (!strings || !strings->count) if (!strings || !strings->count)
return 0; return 0;
/* initialize common prefix to first string */
if (git_buf_sets(buf, strings->strings[0]) < 0) if (git_buf_sets(buf, strings->strings[0]) < 0)
return -1; return -1;
/* go through the rest of the strings, truncating to shared prefix */
for (i = 1; i < strings->count; ++i) { for (i = 1; i < strings->count; ++i) {
for (str = strings->strings[i], pfx = buf->ptr; for (str = strings->strings[i], pfx = buf->ptr;
*str && *str == *pfx; str++, pfx++) *str && *str == *pfx; str++, pfx++)
/* scanning */; /* scanning */;
......
...@@ -122,6 +122,7 @@ void git_buf_rtrim(git_buf *buf); ...@@ -122,6 +122,7 @@ void git_buf_rtrim(git_buf *buf);
int git_buf_cmp(const git_buf *a, const git_buf *b); 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); int git_buf_common_prefix(git_buf *buf, const git_strarray *strings);
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment