Code

base85: Make the code more obvious instead of explaining the non-obvious
authorAndreas Gruenbacher <agruen@suse.de>
Fri, 8 Jan 2010 13:40:00 +0000 (14:40 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 10 Jan 2010 06:43:47 +0000 (22:43 -0800)
Here is another cleanup ...

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
base85.c

index f2b9a24d5ec9f470f77a3d2396d60c285108c8e9..24ddf60eb0a20f35efcdc2d37f99e46d94e8f5c9 100644 (file)
--- a/base85.c
+++ b/base85.c
@@ -57,14 +57,8 @@ int decode_85(char *dst, const char *buffer, int len)
                de = de85[ch];
                if (--de < 0)
                        return error("invalid base85 alphabet %c", ch);
-               /*
-                * Detect overflow.  The largest
-                * 5-letter possible is "|NsC0" to
-                * encode 0xffffffff, and "|NsC" gives
-                * 0x03030303 at this point (i.e.
-                * 0xffffffff = 0x03030303 * 85).
-                */
-               if (0x03030303 < acc ||
+               /* Detect overflow. */
+               if (0xffffffff / 85 < acc ||
                    0xffffffff - de < (acc *= 85))
                        return error("invalid base85 sequence %.5s", buffer-5);
                acc += de;