From: Jeff King Date: Fri, 17 Jan 2014 01:25:40 +0000 (-0500) Subject: diff_filespec: use only 2 bits for is_binary flag X-Git-Tag: v1.9-rc1~14^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/cbfe47b67fc1072998c73e6d43cf6ad061a436f5?ds=inline;hp=--cc diff_filespec: use only 2 bits for is_binary flag The is_binary flag needs only three values: -1, 0, and 1. However, we use a whole 32-bit int for it on most systems (both 32- and 64- bit). Instead, we can mark it to use only 2 bits. On 32-bit systems, this lets it end up as part of the bitfield above (saving 4 bytes). On 64-bit systems, we don't see any change (because the savings end up as padding), but it does leave room for another "free" 32-bit value to be added later. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- cbfe47b67fc1072998c73e6d43cf6ad061a436f5 diff --git a/diffcore.h b/diffcore.h index d911bf0a42..79de8cf28d 100644 --- a/diffcore.h +++ b/diffcore.h @@ -46,7 +46,7 @@ struct diff_filespec { unsigned is_stdin : 1; unsigned has_more_entries : 1; /* only appear in combined diff */ /* data should be considered "binary"; -1 means "don't know yet" */ - int is_binary; + int is_binary : 2; struct userdiff_driver *driver; };