+ }
+ if (!cache_changed) {
+ /* If we have not smudged the cache, be careful
+ * to keep it clean. Find out if we have a matching
+ * cache entry that add_cache_entry would replace with,
+ * and if it matches then do not bother calling it.
+ */
+ int pos = cache_name_pos(ce->name, namelen);
+ if ((0 <= pos) &&
+ !memcmp(active_cache[pos], ce, sizeof(*ce))) {
+ free(ce);
+ /* magic to tell add_file_to_cache that
+ * we have not updated anything.
+ */
+ return 999;
+ }
+ }