unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.

Other decision functions, deleted_entry() and merged_entry() take one as
their parameter, and this function should.  I'll be introducing a separate
index to build the result in, and am planning to pass it as the part of the
structure.

Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/unpack-trees.c b/unpack-trees.c
index ee10eea..9c0f4d7 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -525,7 +525,7 @@
 	return 1;
 }
 
-static int keep_entry(struct cache_entry *ce)
+static int keep_entry(struct cache_entry *ce, struct unpack_trees_options *o)
 {
 	add_cache_entry(ce, ADD_CACHE_OK_TO_ADD);
 	return 1;
@@ -682,7 +682,7 @@
 	if (!head_match || !remote_match) {
 		for (i = 1; i < o->head_idx; i++) {
 			if (stages[i]) {
-				keep_entry(stages[i]);
+				keep_entry(stages[i], o);
 				count++;
 				break;
 			}
@@ -695,8 +695,8 @@
 		show_stage_entry(stderr, "remote ", stages[remote_match]);
 	}
 #endif
-	if (head) { count += keep_entry(head); }
-	if (remote) { count += keep_entry(remote); }
+	if (head) { count += keep_entry(head, o); }
+	if (remote) { count += keep_entry(remote, o); }
 	return count;
 }
 
@@ -728,7 +728,7 @@
 		    (oldtree && newtree &&
 		     !same(oldtree, newtree) && /* 18 and 19*/
 		     same(current, newtree))) {
-			return keep_entry(current);
+			return keep_entry(current, o);
 		}
 		else if (oldtree && !newtree && same(current, oldtree)) {
 			/* 10 or 11 */
@@ -774,7 +774,7 @@
 	if (a && old)
 		die("Entry '%s' overlaps.  Cannot bind.", a->name);
 	if (!a)
-		return keep_entry(old);
+		return keep_entry(old, o);
 	else
 		return merged_entry(a, NULL, o);
 }
@@ -804,7 +804,7 @@
 			    ce_match_stat(old, &st, 1))
 				old->ce_flags |= htons(CE_UPDATE);
 		}
-		return keep_entry(old);
+		return keep_entry(old, o);
 	}
 	return merged_entry(a, old, o);
 }