diff options
author | Jeff King <peff@peff.net> | 2016-09-26 15:00:29 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-09-26 21:46:41 +0300 |
commit | 16ddcd403bdd74f47f3ae1a7e58a01e36e54a7d7 (patch) | |
tree | b4d5e1936a7d013ef20107a1e4901650ea38d1df /Documentation/technical/api-sha1-array.txt | |
parent | 0c99171ad2f79430eb81214d3f1d8ced3d3621e3 (diff) |
sha1_array: let callbacks interrupt iteration
The callbacks for iterating a sha1_array must have a void
return. This is unlike our usual for_each semantics, where
a callback may interrupt iteration and have its value
propagated. Let's switch it to the usual form, which will
enable its use in more places (e.g., where we are replacing
an existing iteration with a different data structure).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical/api-sha1-array.txt')
-rw-r--r-- | Documentation/technical/api-sha1-array.txt | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Documentation/technical/api-sha1-array.txt b/Documentation/technical/api-sha1-array.txt index 3e75497a37..dcc52943a5 100644 --- a/Documentation/technical/api-sha1-array.txt +++ b/Documentation/technical/api-sha1-array.txt @@ -38,16 +38,20 @@ Functions `sha1_array_for_each_unique`:: Efficiently iterate over each unique element of the list, executing the callback function for each one. If the array is - not sorted, this function has the side effect of sorting it. + not sorted, this function has the side effect of sorting it. If + the callback returns a non-zero value, the iteration ends + immediately and the callback's return is propagated; otherwise, + 0 is returned. Examples -------- ----------------------------------------- -void print_callback(const unsigned char sha1[20], +int print_callback(const unsigned char sha1[20], void *data) { printf("%s\n", sha1_to_hex(sha1)); + return 0; /* always continue */ } void some_func(void) |