Hi Duy, On Mon, 6 Jun 2016, Nguyễn Thái Ngọc Duy wrote: > diff --git a/diff.h b/diff.h > index b497078..9e42556 100644 > --- a/diff.h > +++ b/diff.h > @@ -92,6 +92,7 @@ typedef struct strbuf *(*diff_prefix_fn_t)(struct diff_options *opt, void *data) > #define DIFF_OPT_FUNCCONTEXT (1 << 29) > #define DIFF_OPT_PICKAXE_IGNORE_CASE (1 << 30) > #define DIFF_OPT_DEFAULT_FOLLOW_RENAMES (1U << 31) > +#define DIFF_OPT_SHIFT_INTENT_TO_ADD (1UL << 32) I am afraid that this is not enough. On Windows, sizeof(unsigned long) is 4 (and it is perfectly legal). That means that you would have to use at least (1ULL << 32), but then you also have to change the type of xdl_opts to uint64_t, which in turn means that you will have to change the definition of xpparam_t's "flags" field from unsigned long to uint64_t. Maybe this can be avoided? Ciao, Johannes