builtin-mv: minimum fix to avoid losing files
[gitweb.git] / builtin-blame.c
index 5466d01f9a5917dbba4108669ee4513b581ff2c9..dea640d17bc0ecd4378e51bc92a32cb8c8803735 100644 (file)
@@ -125,7 +125,6 @@ static void origin_decref(struct origin *o)
        if (o && --o->refcnt <= 0) {
                if (o->file.ptr)
                        free(o->file.ptr);
-               memset(o, 0, sizeof(*o));
                free(o);
        }
 }
@@ -542,7 +541,7 @@ static struct patch *compare_buffer(mmfile_t *file_p, mmfile_t *file_o,
        state.ret->chunks = NULL;
        state.ret->num = 0;
 
-       xdl_diff(file_p, file_o, &xpp, &xecfg, &ecb);
+       xdi_diff(file_p, file_o, &xpp, &xecfg, &ecb);
 
        if (state.ret->num) {
                struct chunk *chunk;
@@ -607,7 +606,7 @@ static void add_blame_entry(struct scoreboard *sb, struct blame_entry *e)
 
 /*
  * src typically is on-stack; we want to copy the information in it to
- * an malloced blame_entry that is already on the linked list of the
+ * a malloced blame_entry that is already on the linked list of the
  * scoreboard.  The origin of dst loses a refcnt while the origin of src
  * gains one.
  */
@@ -1895,9 +1894,7 @@ static unsigned parse_score(const char *arg)
 
 static const char *add_prefix(const char *prefix, const char *path)
 {
-       if (!prefix || !prefix[0])
-               return path;
-       return prefix_path(prefix, strlen(prefix), path);
+       return prefix_path(prefix, prefix ? strlen(prefix) : 0, path);
 }
 
 /*