[PATCH v2 4/9] object: add clear_commit_marks_all()
- From
René Scharfe <l.s.r@web.de>
- Date
- Dec 25, 2017, 17:44 UTC
- Message-ID
- <ec45f9a8-292a-53e2-52b6-44d744cb6c36@web.de>
- In-Reply-To
- <ac4c77a1-6403-ca20-2021-50c99201915a@web.de>
Add a function for clearing the commit marks of all in-core commit objects. It's similar to clear_object_flags(), but more precise, since it leaves the other object types alone. It still has to iterate through them, though.
Signed-off-by: Rene Scharfe <l.s.r@web.de> --- object.c | 11 +++++++++++ object.h | 5 +++++ 2 files changed, 16 insertions(+)
diff --git a/object.c b/object.c index b9a4a0e501..0afdfd19b7 100644 --- a/object.c +++ b/object.c @@ -434,3 +434,14 @@ void clear_object_flags(unsigned flags) obj->flags &= ~flags; } } + +void clear_commit_marks_all(unsigned int flags) +{ + int i; + + for (i = 0; i < obj_hash_size; i++) { + struct object *obj = obj_hash[i]; + if (obj && obj->type == OBJ_COMMIT) + obj->flags &= ~flags; + } +} diff --git a/object.h b/object.h index df8abe96f7..1111f64dd9 100644 --- a/object.h +++ b/object.h @@ -148,4 +148,9 @@ void object_array_clear(struct object_array *array); void clear_object_flags(unsigned flags); +/* + * Clear the specified object flags from all in-core commit objects. + */ +extern void clear_commit_marks_all(unsigned int flags); + #endif /* OBJECT_H */
-- 2.15.1