summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--diff.c4
-rw-r--r--diffcore-rename.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index 0391e8c423..0f839c11b7 100644
--- a/diff.c
+++ b/diff.c
@@ -853,6 +853,10 @@ static int parse_num(const char **cp_p)
}
*cp_p = cp;
+ /* special case: -M100 would mean 1.0 not 0.1 */
+ if (num == 100 && scale == 1000)
+ return MAX_SCORE;
+
/* user says num divided by scale and we say internally that
* is MAX_SCORE * num / scale.
*/
diff --git a/diffcore-rename.c b/diffcore-rename.c
index 6a9d95d059..dba965c0b4 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -307,6 +307,9 @@ void diffcore_rename(struct diff_options *options)
if (rename_count == rename_dst_nr)
goto cleanup;
+ if (minimum_score == MAX_SCORE)
+ goto cleanup;
+
num_create = (rename_dst_nr - rename_count);
num_src = rename_src_nr;
mx = xmalloc(sizeof(*mx) * num_create * num_src);