Commit Diff


commit - 984c073dfee89f661d050e8a4fd10fc0e858af7d
commit + 6131ab45b4ac2e03447e28d41d92c53ecfe632e3
blob - b9ebd926424d13793969300684f53520e02f0a45
blob + c4e79c0141e3a2203da402b724d13a83b9027b8a
--- lib/fileindex.c
+++ lib/fileindex.c
@@ -183,21 +183,11 @@ got_fileindex_entry_filetype_get(struct got_fileindex_
 	return (ie->mode & GOT_FILEIDX_MODE_FILE_TYPE_ONDISK);
 }
 
-const struct got_error *
+void
 got_fileindex_entry_filetype_set(struct got_fileindex_entry *ie, int type)
 {
-	switch (type) {
-	case GOT_FILEIDX_MODE_REGULAR_FILE:
-	case GOT_FILEIDX_MODE_SYMLINK:
-	case GOT_FILEIDX_MODE_BAD_SYMLINK:
-		break;
-	default:
-		return got_error(GOT_ERR_BAD_FILETYPE);
-	}
-
-	ie->mode &= ~GOT_FILEIDX_MODE_FILE_TYPE_ONDISK;
-	ie->mode |= type;
-	return NULL;
+	ie->mode &= ~GOT_FILEIDX_MODE_FILE_TYPE_ONDISK;
+	ie->mode |= (type & GOT_FILEIDX_MODE_FILE_TYPE_ONDISK);
 }
 
 void
blob - 5054bb89517181c2e094d1887e25ad908e11ef53
blob + 8535201970c1361dcc48c9404c68333b0a77b2c5
--- lib/got_lib_fileindex.h
+++ lib/got_lib_fileindex.h
@@ -166,8 +166,7 @@ int got_fileindex_entry_has_file_on_disk(struct got_fi
 uint32_t got_fileindex_entry_stage_get(const struct got_fileindex_entry *);
 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_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 *);
 
blob - b98e8e7cdc08c10c83d384f9f6b6ceb507ab07b3
blob + 315fadb7928641092f567960ffa58125ab66b04a
--- lib/worktree.c
+++ lib/worktree.c
@@ -1980,10 +1980,8 @@ update_blob(struct got_worktree *worktree,
 			goto done;
 
 		if (is_bad_symlink) {
-			err = got_fileindex_entry_filetype_set(ie,
+			got_fileindex_entry_filetype_set(ie,
 			    GOT_FILEIDX_MODE_BAD_SYMLINK);
-			if (err)
-				goto done;
 		}
 	}
 	got_object_blob_close(blob);
@@ -2857,10 +2855,8 @@ merge_file_cb(void *arg, struct got_blob_object *blob1
 				goto done;
 			}
 			if (is_bad_symlink) {
-				err = got_fileindex_entry_filetype_set(ie,
+				got_fileindex_entry_filetype_set(ie,
 				    GOT_FILEIDX_MODE_BAD_SYMLINK);
-				if (err)
-					goto done;
 			}
 		}
 	}
@@ -4381,10 +4377,8 @@ revert_file(void *arg, unsigned char status, unsigned 
 					goto done;
 			}
 			if (is_bad_symlink) {
-				err = got_fileindex_entry_filetype_set(ie,
+				got_fileindex_entry_filetype_set(ie,
 				    GOT_FILEIDX_MODE_BAD_SYMLINK);
-				if (err)
-					goto done;
 			}
 		}
 		break;
@@ -5124,10 +5118,8 @@ reinstall_symlinks_after_commit(struct got_pathlist_he
 		ie = got_fileindex_entry_get(fileindex, ct->path,
 		    strlen(ct->path));
 		if (ie && is_bad_symlink) {
-			err = got_fileindex_entry_filetype_set(ie,
+			got_fileindex_entry_filetype_set(ie,
 			    GOT_FILEIDX_MODE_BAD_SYMLINK);
-			if (err)
-				break;
 		}
 	}