]> git.ipfire.org Git - thirdparty/git.git/commitdiff
tr2: do compiler enum check in trace2_collect_process_info()
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Fri, 27 Aug 2021 08:02:17 +0000 (10:02 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 Sep 2021 18:07:59 +0000 (11:07 -0700)
Change code added in 2f732bf15e6 (tr2: log parent process name,
2021-07-21) to use a switch statement without a "default" branch to
have the compiler error if this code ever drifts out of sync with the
members of the "enum trace2_process_info_reason".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/linux/procinfo.c

index bd01f017bc701cb7731f6e2f84454fc1627249a5..0b47d44990c28971bb9cb1f66e8d83b1f861e83d 100644 (file)
@@ -31,29 +31,30 @@ static void get_ancestry_names(struct strvec *names)
 
 void trace2_collect_process_info(enum trace2_process_info_reason reason)
 {
+       struct strvec names = STRVEC_INIT;
+
        if (!trace2_is_enabled())
                return;
 
-       if (reason == TRACE2_PROCESS_INFO_EXIT)
+       switch (reason) {
+       case TRACE2_PROCESS_INFO_EXIT:
                /*
                 * The Windows version of this calls its
                 * get_peak_memory_info() here. We may want to insert
                 * similar process-end statistics here in the future.
                 */
-               return;
-
-       if (reason == TRACE2_PROCESS_INFO_STARTUP) {
+               break;
+       case TRACE2_PROCESS_INFO_STARTUP:
                /*
                 * NEEDSWORK: we could do the entire ptree in an array instead,
                 * see compat/win32/trace2_win32_process_info.c.
                 */
-               struct strvec names = STRVEC_INIT;
-
                get_ancestry_names(&names);
 
                if (names.nr)
                        trace2_cmd_ancestry(names.v);
                strvec_clear(&names);
+               break;
        }
 
        return;