> On 18 May 2021, at 15:01, Julien Grall <jul...@xen.org> wrote:
>
> From: Julien Grall <jgr...@amazon.com>
>
> Literal strings are not meant to be modified. So we should use const
> char * rather than char * when we want to store a pointer to them.
>
> The array should also not be modified at all and is only used by
> xenlog_update_val(). So take the opportunity to add an extra const and
> move the definition in the function.
>
> Signed-off-by: Julien Grall <jgr...@amazon.com>
>
> ---
> Changes in v2:
> - The array content should never be modified
> - Move lvl2opt in xenlog_update_val()
> ---
> xen/drivers/char/console.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 23583751709c..7d0a603d0311 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -168,10 +168,11 @@ static int parse_guest_loglvl(const char *s);
> static char xenlog_val[LOGLVL_VAL_SZ];
> static char xenlog_guest_val[LOGLVL_VAL_SZ];
>
> -static char *lvl2opt[] = { "none", "error", "warning", "info", "all" };
> -
> static void xenlog_update_val(int lower, int upper, char *val)
> {
> + static const char * const lvl2opt[] =
> + { "none", "error", "warning", "info", "all" };
> +
> snprintf(val, LOGLVL_VAL_SZ, "%s/%s", lvl2opt[lower], lvl2opt[upper]);
> }
>
> @@ -262,7 +263,7 @@ static int parse_guest_loglvl(const char *s)
> return ret;
> }
>
> -static char *loglvl_str(int lvl)
> +static const char *loglvl_str(int lvl)
> {
> switch ( lvl )
> {
> --
> 2.17.1
>
Hi Julien,
Seems good to me and very sensible.
Reviewed-by: Luca Fancellu <luca.fance...@arm.com>
Cheers,
Luca