add getter/setter for staged file index entry filetype
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
diff --git a/lib/fileindex.c b/lib/fileindex.c
index f6dfeff..b9ebd92 100644
--- a/lib/fileindex.c
+++ b/lib/fileindex.c
@@ -200,6 +200,21 @@ got_fileindex_entry_filetype_set(struct got_fileindex_entry *ie, int type)
return NULL;
}
+void
+got_fileindex_entry_staged_filetype_set(struct got_fileindex_entry *ie, int type)
+{
+ ie->mode &= ~GOT_FILEIDX_MODE_FILE_TYPE_STAGED;
+ ie->mode |= ((type << GOT_FILEIDX_MODE_FILE_TYPE_STAGED_SHIFT) &
+ GOT_FILEIDX_MODE_FILE_TYPE_STAGED);
+}
+
+int
+got_fileindex_entry_staged_filetype_get(struct got_fileindex_entry *ie)
+{
+ return (ie->mode & GOT_FILEIDX_MODE_FILE_TYPE_STAGED) >>
+ GOT_FILEIDX_MODE_FILE_TYPE_STAGED_SHIFT;
+}
+
int
got_fileindex_entry_has_blob(struct got_fileindex_entry *ie)
{
diff --git a/lib/got_lib_fileindex.h b/lib/got_lib_fileindex.h
index 3b31707..5054bb8 100644
--- a/lib/got_lib_fileindex.h
+++ b/lib/got_lib_fileindex.h
@@ -168,5 +168,7 @@ void got_fileindex_entry_stage_set(struct got_fileindex_entry *ie, uint32_t);
int got_fileindex_entry_filetype_get(struct got_fileindex_entry *);
const struct got_error *got_fileindex_entry_filetype_set(
struct got_fileindex_entry *, int);
+void got_fileindex_entry_staged_filetype_set(struct got_fileindex_entry *, int);
+int got_fileindex_entry_staged_filetype_get(struct got_fileindex_entry *);
void got_fileindex_entry_mark_deleted_from_disk(struct got_fileindex_entry *);