mirror of
https://github.com/git/git.git
synced 2025-01-27 09:53:42 +08:00
diff.h: avoid bit fields in struct diff_flags
Bitfield addresses cannot be passed around in a pointer. This makes it hard to use parse-options to set/unset them. Turn this struct to normal integers. This of course increases the size of this struct multiple times, but since we only have a handful of diff_options variables around, memory consumption is not at all a concern. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4a1b13a397
commit
2b393ef357
66
diff.h
66
diff.h
@ -64,39 +64,39 @@ typedef struct strbuf *(*diff_prefix_fn_t)(struct diff_options *opt, void *data)
|
||||
|
||||
#define DIFF_FLAGS_INIT { 0 }
|
||||
struct diff_flags {
|
||||
unsigned recursive:1;
|
||||
unsigned tree_in_recursive:1;
|
||||
unsigned binary:1;
|
||||
unsigned text:1;
|
||||
unsigned full_index:1;
|
||||
unsigned silent_on_remove:1;
|
||||
unsigned find_copies_harder:1;
|
||||
unsigned follow_renames:1;
|
||||
unsigned rename_empty:1;
|
||||
unsigned has_changes:1;
|
||||
unsigned quick:1;
|
||||
unsigned no_index:1;
|
||||
unsigned allow_external:1;
|
||||
unsigned exit_with_status:1;
|
||||
unsigned reverse_diff:1;
|
||||
unsigned check_failed:1;
|
||||
unsigned relative_name:1;
|
||||
unsigned ignore_submodules:1;
|
||||
unsigned dirstat_cumulative:1;
|
||||
unsigned dirstat_by_file:1;
|
||||
unsigned allow_textconv:1;
|
||||
unsigned textconv_set_via_cmdline:1;
|
||||
unsigned diff_from_contents:1;
|
||||
unsigned dirty_submodules:1;
|
||||
unsigned ignore_untracked_in_submodules:1;
|
||||
unsigned ignore_dirty_submodules:1;
|
||||
unsigned override_submodule_config:1;
|
||||
unsigned dirstat_by_line:1;
|
||||
unsigned funccontext:1;
|
||||
unsigned default_follow_renames:1;
|
||||
unsigned stat_with_summary:1;
|
||||
unsigned suppress_diff_headers:1;
|
||||
unsigned dual_color_diffed_diffs:1;
|
||||
unsigned recursive;
|
||||
unsigned tree_in_recursive;
|
||||
unsigned binary;
|
||||
unsigned text;
|
||||
unsigned full_index;
|
||||
unsigned silent_on_remove;
|
||||
unsigned find_copies_harder;
|
||||
unsigned follow_renames;
|
||||
unsigned rename_empty;
|
||||
unsigned has_changes;
|
||||
unsigned quick;
|
||||
unsigned no_index;
|
||||
unsigned allow_external;
|
||||
unsigned exit_with_status;
|
||||
unsigned reverse_diff;
|
||||
unsigned check_failed;
|
||||
unsigned relative_name;
|
||||
unsigned ignore_submodules;
|
||||
unsigned dirstat_cumulative;
|
||||
unsigned dirstat_by_file;
|
||||
unsigned allow_textconv;
|
||||
unsigned textconv_set_via_cmdline;
|
||||
unsigned diff_from_contents;
|
||||
unsigned dirty_submodules;
|
||||
unsigned ignore_untracked_in_submodules;
|
||||
unsigned ignore_dirty_submodules;
|
||||
unsigned override_submodule_config;
|
||||
unsigned dirstat_by_line;
|
||||
unsigned funccontext;
|
||||
unsigned default_follow_renames;
|
||||
unsigned stat_with_summary;
|
||||
unsigned suppress_diff_headers;
|
||||
unsigned dual_color_diffed_diffs;
|
||||
};
|
||||
|
||||
static inline void diff_flags_or(struct diff_flags *a,
|
||||
|
Loading…
Reference in New Issue
Block a user