Re: [PATCH] vsh: Allow vshReadlineInit() to be called multiple times

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 08, 2024 at 14:49:12 +0200, Michal Privoznik wrote:
> Thing about vshReadlineInit() is - it's called multiple times.
> The first time from vshInit(), when @ctl was filled only
> partially (most notably, before any argv parsing is done, hence
> ctl->imode is set to false). The second time after argv parsing,
> from virshInit() -> vshInitReload(). In here, ctl->imode might
> have changed and thus vshReadlineInit() can't exit early - it
> needs to set up stuff for interactive mode (history basically).
> 
> To allow vshReadlineInit() to be called again,
> vshReadlineDeinit() must set @autoCompleteOpaque to NULL.
> 
> Fixes: cab1e71f0161fd24c5d6ff4c379d3a242ea8c2d9
> Resolves: https://issues.redhat.com/browse/RHEL-53560
> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
> ---
>  tools/vsh.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/vsh.c b/tools/vsh.c
> index 9fbb1f9349..5f5e2f281d 100644
> --- a/tools/vsh.c
> +++ b/tools/vsh.c
> @@ -3040,6 +3040,9 @@ vshReadlineDeinit(vshControl *ctl)
>  
>      g_clear_pointer(&ctl->historydir, g_free);
>      g_clear_pointer(&ctl->historyfile, g_free);
> +
> +    /* Allow vshReadlineInit() to be called again. */
> +    autoCompleteOpaque = NULL;
>  }
>  
>  char *

Reviewed-by: Jiri Denemark <jdenemar@xxxxxxxxxx>



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux