From d4f04fbdc8b7b56243dfbef1b8c23c02f1a7dde1 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sun, 21 Jan 2024 13:38:25 -0500 Subject: [PATCH] static analyzer bit in options.c Analyzer didn't like the use of strchr on an incomplete type. Move the guts into a function in o_init.c. --- include/extern.h | 1 + src/o_init.c | 12 ++++++++++++ src/options.c | 11 +---------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/extern.h b/include/extern.h index cd030ef48..a1c5f2add 100644 --- a/include/extern.h +++ b/include/extern.h @@ -2085,6 +2085,7 @@ extern int choose_disco_sort(int); extern int dodiscovered(void); extern int doclassdisco(void); extern void rename_disco(void); +extern void get_sortdisco(char *opts, boolean cnf) NONNULLARG1; /* ### objects.c ### */ diff --git a/src/o_init.c b/src/o_init.c index 80770d4b4..5138f0069 100644 --- a/src/o_init.c +++ b/src/o_init.c @@ -1089,4 +1089,16 @@ rename_disco(void) return; } +void +get_sortdisco(char *opts, boolean cnf) +{ + const char *p = strchr(disco_order_let, flags.discosort); + + if (!p) + flags.discosort = 'o', p = disco_order_let; + if (cnf) + Sprintf(opts, "%c", flags.discosort); + else + Strcpy(opts, disco_orders_descr[p - disco_order_let]); +} /*o_init.c*/ diff --git a/src/options.c b/src/options.c index 2a938c6ca..53a0ecf3b 100644 --- a/src/options.c +++ b/src/options.c @@ -3683,16 +3683,7 @@ optfn_sortdiscoveries( return optn_ok; } if (req == get_val || req == get_cnf_val) { - extern const char *const disco_orders_descr[]; /* o_init.c */ - extern const char disco_order_let[]; - const char *p = strchr(disco_order_let, flags.discosort); - - if (!p) - flags.discosort = 'o', p = disco_order_let; - if (req == get_cnf_val) - Sprintf(opts, "%c", flags.discosort); - else - Strcpy(opts, disco_orders_descr[p - disco_order_let]); + get_sortdisco(opts, (req == get_cnf_val) ? TRUE : FALSE); return optn_ok; } if (req == do_handler) {