diffcore-break/diffcore-rename: integer overflow.
authorJunio C Hamano <junkio@cox.net>
Mon, 16 Jan 2006 05:08:42 +0000 (21:08 -0800)
committerJunio C Hamano <junkio@cox.net>
Mon, 16 Jan 2006 05:08:42 +0000 (21:08 -0800)
While reviewing the end user tutorial rewrite by J. Bruce
Fields, I noticed that "git-diff-tree -B -C" did not correctly
break the total rewrite of Documentation/tutorial.txt.  It turns
out that we had integer overflow during the break score
computations.

Cop out by using floating point.  This is not a kernel.

Signed-off-by: Junio C Hamano <junkio@cox.net>
diffcore.h

index a38acb1..12cd816 100644 (file)
@@ -15,7 +15,7 @@
  * passed around in one int (high 16-bit for merge and low 16-bit
  * for break).
  */
-#define MAX_SCORE 60000
+#define MAX_SCORE 60000.0
 #define DEFAULT_RENAME_SCORE 30000 /* rename/copy similarity minimum (50%) */
 #define DEFAULT_BREAK_SCORE  30000 /* minimum for break to happen (50%)*/
 #define DEFAULT_MERGE_SCORE  48000 /* maximum for break-merge to happen (80%)*/