[PATCH 15/23] ref_update_reject_duplicates(): add a sanity check
- Date: Wed, 17 May 2017 14:05:38 +0200
- From: Michael Haggerty <mhagger@xxxxxxxxxxxx>
- Subject: [PATCH 15/23] ref_update_reject_duplicates(): add a sanity check
It's pretty cheap to make sure that the caller didn't pass us an
unsorted list by accident, so do so.
Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx>
---
refs.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/refs.c b/refs.c
index ffc9bd0be5..68a0872562 100644
--- a/refs.c
+++ b/refs.c
@@ -1696,13 +1696,19 @@ int ref_update_reject_duplicates(struct string_list *refnames,
assert(err);
- for (i = 1; i < n; i++)
- if (!strcmp(refnames->items[i - 1].string, refnames->items[i].string)) {
+ for (i = 1; i < n; i++) {
+ int cmp = strcmp(refnames->items[i - 1].string,
+ refnames->items[i].string);
+
+ if (!cmp) {
strbuf_addf(err,
"multiple updates for ref '%s' not allowed.",
refnames->items[i].string);
return 1;
+ } else if (cmp > 0) {
+ die("BUG: ref_update_reject_duplicates() received unsorted list");
}
+ }
return 0;
}
--
2.11.0