[libvirt] [PATCH 1/3] tools: rename console.[ch] to virsh-console.[ch] and fix coding style
Michal Privoznik
mprivozn at redhat.com
Tue Sep 3 09:44:36 UTC 2013
On 29.08.2013 18:36, Peter Krempa wrote:
> ---
> cfg.mk | 2 +-
> po/POTFILES.in | 2 +-
> tools/Makefile.am | 2 +-
> tools/{console.c => virsh-console.c} | 73 ++++++++++++++++++++++--------------
> tools/{console.h => virsh-console.h} | 4 +-
> tools/virsh-domain.c | 2 +-
> tools/virsh.c | 2 +-
> 7 files changed, 52 insertions(+), 35 deletions(-)
> rename tools/{console.c => virsh-console.c} (90%)
> rename tools/{console.h => virsh-console.h} (91%)
>
> diff --git a/cfg.mk b/cfg.mk
> index 23564f1..5c3f3ab 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -907,7 +907,7 @@ exclude_file_name_regexp--sc_avoid_strcase = ^tools/virsh\.h$$
> _src1=libvirt|fdstream|qemu/qemu_monitor|util/(vircommand|virfile)|xen/xend_internal|rpc/virnetsocket|lxc/lxc_controller|locking/lock_daemon
> _test1=shunloadtest|virnettlscontexttest|virnettlssessiontest|vircgroupmock
> exclude_file_name_regexp--sc_avoid_write = \
> - ^(src/($(_src1))|daemon/libvirtd|tools/console|tests/($(_test1)))\.c$$
> + ^(src/($(_src1))|daemon/libvirtd|tools/virsh-console|tests/($(_test1)))\.c$$
>
> exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/
>
> diff --git a/po/POTFILES.in b/po/POTFILES.in
> index 9a83069..aa604fd 100644
> --- a/po/POTFILES.in
> +++ b/po/POTFILES.in
> @@ -213,10 +213,10 @@ src/xenapi/xenapi_driver.c
> src/xenapi/xenapi_utils.c
> src/xenxs/xen_sxpr.c
> src/xenxs/xen_xm.c
> -tools/console.c
> tools/libvirt-guests.sh.in
> tools/virsh.c
> tools/virsh.h
> +tools/virsh-console.c
> tools/virsh-domain-monitor.c
> tools/virsh-domain.c
> tools/virsh-edit.c
> diff --git a/tools/Makefile.am b/tools/Makefile.am
> index 74fae2d..cd4cb31 100644
> --- a/tools/Makefile.am
> +++ b/tools/Makefile.am
> @@ -161,8 +161,8 @@ virt_login_shell_CFLAGS = \
> $(COVERAGE_CFLAGS)
>
> virsh_SOURCES = \
> - console.c console.h \
> virsh.c virsh.h \
> + virsh-console.c virsh-console.h \
> virsh-domain.c virsh-domain.h \
> virsh-domain-monitor.c virsh-domain-monitor.h \
> virsh-host.c virsh-host.h \
> diff --git a/tools/console.c b/tools/virsh-console.c
> similarity index 90%
> rename from tools/console.c
> rename to tools/virsh-console.c
> index 6c24fcf..debf12c 100644
> --- a/tools/console.c
> +++ b/tools/virsh-console.c
> @@ -1,7 +1,7 @@
> /*
> - * console.c: A dumb serial console client
> + * virsh-console.c: A dumb serial console client
> *
> - * Copyright (C) 2007-2008, 2010-2012 Red Hat, Inc.
> + * Copyright (C) 2007-2008, 2010-2013 Red Hat, Inc.
> *
> * This library is free software; you can redistribute it and/or
> * modify it under the terms of the GNU Lesser General Public
Not shown in the context, but there should be 'Authors:' line just above
Dan's name.
> @@ -37,7 +37,7 @@
> # include <c-ctype.h>
>
> # include "internal.h"
> -# include "console.h"
> +# include "virsh-console.h"
> # include "virlog.h"
> # include "virfile.h"
> # include "viralloc.h"
> @@ -58,6 +58,7 @@ struct virConsoleBuffer {
> char *data;
> };
>
> +
> typedef struct virConsole virConsole;
> typedef virConsole *virConsolePtr;
> struct virConsole {
> @@ -75,11 +76,15 @@ struct virConsole {
> char escapeChar;
> };
>
> +
> static int got_signal = 0;
> -static void do_signal(int sig ATTRIBUTE_UNUSED) {
> +static void
> +virConsoleHandleSignal(int sig ATTRIBUTE_UNUSED)
> +{
> got_signal = 1;
> }
>
> +
> # ifndef HAVE_CFMAKERAW
> static void
> cfmakeraw(struct termios *attr)
> @@ -93,6 +98,7 @@ cfmakeraw(struct termios *attr)
> }
> # endif /* !HAVE_CFMAKERAW */
>
> +
> static void
> virConsoleShutdown(virConsolePtr con)
> {
> @@ -114,6 +120,21 @@ virConsoleShutdown(virConsolePtr con)
> virCondSignal(&con->cond);
> }
>
> +
> +static void
> +virConsoleFree(virConsolePtr con)
> +{
> + if (!con)
> + return;
> +
> + if (con->st)
> + virStreamFree(con->st);
> + virMutexDestroy(&con->lock);
> + virCondDestroy(&con->cond);
> + VIR_FREE(con);
> +}
> +
> +
> static void
> virConsoleEventOnStream(virStreamPtr st,
> int events, void *opaque)
> @@ -171,9 +192,8 @@ virConsoleEventOnStream(virStreamPtr st,
>
> avail = con->terminalToStream.length - con->terminalToStream.offset;
> if (avail > 1024) {
> - if (VIR_REALLOC_N(con->terminalToStream.data,
> - con->terminalToStream.offset + 1024) < 0)
> - {}
> + ignore_value(VIR_REALLOC_N(con->terminalToStream.data,
> + con->terminalToStream.offset + 1024));
> con->terminalToStream.length = con->terminalToStream.offset + 1024;
I don't think this is quite right. If the VIR_REALLOC fails, why are we
increasing the .lenght? I know this is pre-existing, but if we are
touching this we should fix this.
> }
> }
> @@ -187,6 +207,7 @@ virConsoleEventOnStream(virStreamPtr st,
> }
> }
>
> +
> static void
> virConsoleEventOnStdin(int watch ATTRIBUTE_UNUSED,
> int fd ATTRIBUTE_UNUSED,
> @@ -242,6 +263,7 @@ virConsoleEventOnStdin(int watch ATTRIBUTE_UNUSED,
> }
> }
>
> +
> static void
> virConsoleEventOnStdout(int watch ATTRIBUTE_UNUSED,
> int fd,
> @@ -270,9 +292,8 @@ virConsoleEventOnStdout(int watch ATTRIBUTE_UNUSED,
>
> avail = con->streamToTerminal.length - con->streamToTerminal.offset;
> if (avail > 1024) {
> - if (VIR_REALLOC_N(con->streamToTerminal.data,
> - con->streamToTerminal.offset + 1024) < 0)
> - {}
> + ignore_value(VIR_REALLOC_N(con->streamToTerminal.data,
> + con->streamToTerminal.offset + 1024));
> con->streamToTerminal.length = con->streamToTerminal.offset + 1024;
And again.
> }
> }
> @@ -296,6 +317,7 @@ vshGetEscapeChar(const char *s)
> return *s;
> }
>
> +
> int
> vshMakeStdinRaw(struct termios *ttyattr, bool report_errors)
> {
> @@ -322,10 +344,12 @@ vshMakeStdinRaw(struct termios *ttyattr, bool report_errors)
> return 0;
>
>
> -int vshRunConsole(virDomainPtr dom,
> - const char *dev_name,
> - const char *escape_seq,
> - unsigned int flags)
> +
> +int
> +vshRunConsole(virDomainPtr dom,
> + const char *dev_name,
> + const char *escape_seq,
> + unsigned int flags)
> {
> int ret = -1;
> struct termios ttyattr;
> @@ -348,11 +372,11 @@ int vshRunConsole(virDomainPtr dom,
> the original terminal settings on STDIN before the
> process exits - people don't like being left with a
> messed up terminal ! */
> - old_sigquit = signal(SIGQUIT, do_signal);
> - old_sigterm = signal(SIGTERM, do_signal);
> - old_sigint = signal(SIGINT, do_signal);
> - old_sighup = signal(SIGHUP, do_signal);
> - old_sigpipe = signal(SIGPIPE, do_signal);
> + old_sigquit = signal(SIGQUIT, virConsoleHandleSignal);
> + old_sigterm = signal(SIGTERM, virConsoleHandleSignal);
> + old_sigint = signal(SIGINT, virConsoleHandleSignal);
> + old_sighup = signal(SIGHUP, virConsoleHandleSignal);
> + old_sigpipe = signal(SIGPIPE, virConsoleHandleSignal);
> got_signal = 0;
>
> if (VIR_ALLOC(con) < 0)
> @@ -396,15 +420,8 @@ int vshRunConsole(virDomainPtr dom,
>
> ret = 0;
>
> - cleanup:
> -
> - if (con) {
> - if (con->st)
> - virStreamFree(con->st);
> - virMutexDestroy(&con->lock);
> - virCondDestroy(&con->cond);
> - VIR_FREE(con);
> - }
> +cleanup:
> + virConsoleFree(con);
>
> /* Restore original signal handlers */
> signal(SIGPIPE, old_sigpipe);
> diff --git a/tools/console.h b/tools/virsh-console.h
> similarity index 91%
> rename from tools/console.h
> rename to tools/virsh-console.h
> index 46255b8..96ef235 100644
> --- a/tools/console.h
> +++ b/tools/virsh-console.h
> @@ -1,7 +1,7 @@
> /*
> - * console.c: A dumb serial console client
> + * virsh-console.h: A dumb serial console client
> *
> - * Copyright (C) 2007, 2010, 2012 Red Hat, Inc.
> + * Copyright (C) 2007, 2010, 2012-2013 Red Hat, Inc.
> *
> * This library is free software; you can redistribute it and/or
> * modify it under the terms of the GNU Lesser General Public
Not shown in the context, but there should be 'Authors:' line just above
Dan's name.
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index c87cf6a..60eed51 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -41,7 +41,7 @@
> #include "virbuffer.h"
> #include "c-ctype.h"
> #include "conf/domain_conf.h"
> -#include "console.h"
> +#include "virsh-console.h"
This should go a few lines down, just before the line:
#include "virsh-domain-monitor.h"
> #include "viralloc.h"
> #include "vircommand.h"
> #include "virfile.h"
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 2f04e6a..0cc9bdd 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -57,7 +57,6 @@
> #include "virerror.h"
> #include "base64.h"
> #include "virbuffer.h"
> -#include "console.h"
> #include "viralloc.h"
> #include "virxml.h"
> #include <libvirt/libvirt-qemu.h>
> @@ -73,6 +72,7 @@
> #include "virtypedparam.h"
> #include "virstring.h"
>
> +#include "virsh-console.h"
> #include "virsh-domain.h"
> #include "virsh-domain-monitor.h"
> #include "virsh-host.h"
>
I've pointed a few issues but I believe that you will fix them right so
I don't need to see a v2.
ACK
Michal
More information about the libvir-list
mailing list