From 465b30a92d4c2c76e434790bdf487d57547a6cc4 Mon Sep 17 00:00:00 2001 From: Philippe Blain Date: Mon, 4 Apr 2022 17:10:11 +0000 Subject: submodule.h: use a named enum for RECURSE_SUBMODULES_* Using a named enum allows casting an integer to the enum type in both GDB and LLDB: $ gdb -q -ex 'b wt-status.c:44' -ex r --args ./git status (gdb) p (enum color_wt_status) slot $1 = WT_STATUS_ONBRANCH $ lldb -o 'b wt-status.c:44' -o r -- ./git status (lldb) p (color_wt_status) slot (color_wt_status) $0 = WT_STATUS_ONBRANCH In LLDB, it's also required to cast in the reversed direction, i.e. cast an enum constant into its corresponding integer: (lldb) p (int) color_wt_status::WT_STATUS_ONBRANCH (int) $1 = 8 Name the enum listing the different RECURSE_SUBMODULES_* modes, to make debugging easier. For example, when stepping through a part of the code where an int is compared with a constant in this enum, it allows casting the int to the enum type or vice-versa, after quickly checking where the enum constant is declared and learning the enum name. As to not make this patch a debug-only change, convert the 'fetch_recurse' member of 'struct submodule' to use the newly named enum. Signed-off-by: Philippe Blain Reviewed-by: Glen Choo Signed-off-by: Junio C Hamano --- submodule-config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'submodule-config.h') diff --git a/submodule-config.h b/submodule-config.h index 65875b94ea..55a4c3e0bd 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -37,7 +37,7 @@ struct submodule { const char *path; const char *name; const char *url; - int fetch_recurse; + enum submodule_recurse_mode fetch_recurse; const char *ignore; const char *branch; struct submodule_update_strategy update_strategy; -- cgit v1.2.1