On 03/14/2013 06:15 PM, Daniel P. Berrange wrote: > On Thu, Mar 14, 2013 at 10:27:32AM +0100, Martin Kletzander wrote: >> The vshInit initializes ctl->debug by which vshDebug (which is also >> called in vshParseArgv) decides whether to print out the message or >> not. >> >> Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> >> --- >> tools/virsh.c | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/tools/virsh.c b/tools/virsh.c >> index d822e09..9ed038a 100644 >> --- a/tools/virsh.c >> +++ b/tools/virsh.c >> @@ -3100,15 +3100,13 @@ main(int argc, char **argv) >> ctl->name = vshStrdup(ctl, defaultConn); >> } >> >> - if (!vshParseArgv(ctl, argc, argv)) { >> + if (!vshInit(ctl)) { >> vshDeinit(ctl); > > Hmm, we previously called vshDeinit() even though we'd not > got to vshInit yet ! > >> exit(EXIT_FAILURE); >> } >> >> - if (!vshInit(ctl)) { >> - vshDeinit(ctl); >> + if (!vshParseArgv(ctl, argc, argv)) > > But here you've lost the vshDeinit now. I think we need to > put that back to keep valgrind happy, don't we ? Or is there > some reason which forced to you drop the vshDeinit here ? > No reason, just my fault. I removed it at first when the vshParseArgv was before vshInit and then switched those two without adding it back, thanks for noticing. This is how the patch should've looked like: diff --git a/tools/virsh.c b/tools/virsh.c index d822e09..58a604b 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -3100,12 +3100,12 @@ main(int argc, char **argv) ctl->name = vshStrdup(ctl, defaultConn); } - if (!vshParseArgv(ctl, argc, argv)) { + if (!vshInit(ctl)) { vshDeinit(ctl); exit(EXIT_FAILURE); } - if (!vshInit(ctl)) { + if (!vshParseArgv(ctl, argc, argv)) { vshDeinit(ctl); exit(EXIT_FAILURE); } -- >> exit(EXIT_FAILURE); >> - } > > Regards > Daniel > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list