summaryrefslogtreecommitdiff
path: root/src/config_entries.h
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2018-08-10 18:59:59 +0200
committerPatrick Steinhardt <ps@pks.im>2018-09-28 11:14:13 +0200
commit123e5963e169c160034b19a3d9df60f65cfa09a8 (patch)
treef2093ef34f4df4c3c48c3e8d6679129885b20d6c /src/config_entries.h
parent5a7e0b3c380652e666f0bf0d0c5ff6cd3c846419 (diff)
downloadlibgit2-123e5963e169c160034b19a3d9df60f65cfa09a8.tar.gz
config_entries: abstract away reference counting
Instead of directly calling `git_atomic_inc` in users of the config entries store, provide a `git_config_entries_incref` function to further decouple the interfaces. Convert the refcount to a `git_refcount` structure while at it.
Diffstat (limited to 'src/config_entries.h')
-rw-r--r--src/config_entries.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/config_entries.h b/src/config_entries.h
index 674b7a808..5ee5d4e40 100644
--- a/src/config_entries.h
+++ b/src/config_entries.h
@@ -17,12 +17,13 @@ typedef struct config_entry_list {
} config_entry_list;
typedef struct {
- git_atomic refcount;
+ git_refcount rc;
git_strmap *map;
config_entry_list *list;
} git_config_entries;
int git_config_entries_new(git_config_entries **out);
+void git_config_entries_incref(git_config_entries *entries);
void git_config_entries_free(git_config_entries *entries);
/* Add or append the new config option */
int git_config_entries_append(git_config_entries *entries, git_config_entry *entry);