Re: [libvirt PATCH 3/3] vsh: introduce vshEditString

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

 



On 2/28/24 16:51, Ján Tomko wrote:
> Remove some code repetition between desc and net-desc commands.
> 
> Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
> ---
>  tools/virsh-domain.c  | 20 +-------------------
>  tools/virsh-network.c | 19 +------------------
>  tools/vsh.c           | 27 +++++++++++++++++++++++++++
>  tools/vsh.h           |  1 +
>  4 files changed, 30 insertions(+), 37 deletions(-)
> 

> diff --git a/tools/vsh.c b/tools/vsh.c
> index 65deaa77e8..0543ba299f 100644
> --- a/tools/vsh.c
> +++ b/tools/vsh.c
> @@ -2506,6 +2506,33 @@ vshEditReadBackFile(vshControl *ctl, const char *filename)
>      return ret;
>  }
>  
> +int
> +vshEditString(vshControl *ctl, char **output, const char *string)

One argument per line please.

> +{
> +    g_autoptr(vshTempFile) tmp = NULL;
> +    char *tmpstr;
> +
> +    /* Create and open the temporary file. */
> +    if (!(tmp = vshEditWriteToTempFile(ctl, string)))
> +        return -1;
> +
> +    /* Start the editor. */
> +    if (vshEditFile(ctl, tmp) == -1)
> +        return -1;
> +
> +    /* Read back the edited file. */
> +    if (!(*output = vshEditReadBackFile(ctl, tmp)))
> +        return -1;
> +
> +    /* strip a possible newline at the end of file; some
> +     * editors enforce a newline, this makes editing
> +     * more convenient */
> +    if ((tmpstr = strrchr(*output, '\n')) &&
> +        *(tmpstr+1) == '\0')
> +        *tmpstr = '\0';
> +
> +    return 0;
> +}
>  
>  /* Tree listing helpers.  */

Michal
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[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