On Fri, Nov 06, 2009 at 04:28:04AM +0100, Matthias Bolte wrote: > --- > src/phyp/phyp_driver.c | 35 ++++++++++++----------------------- > 1 files changed, 12 insertions(+), 23 deletions(-) > > diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c > index ab5af17..1529c24 100644 > --- a/src/phyp/phyp_driver.c > +++ b/src/phyp/phyp_driver.c > @@ -508,7 +508,7 @@ phypGetLparNAME(LIBSSH2_SESSION * session, const char *managed_system, > > ret = phypExec(session, cmd, &exit_status, conn); > > - if (ret == NULL) > + if (exit_status < 0 || ret == NULL) > goto err; > > char *char_ptr = strchr(ret, '\n'); > @@ -516,9 +516,6 @@ phypGetLparNAME(LIBSSH2_SESSION * session, const char *managed_system, > if (char_ptr) > *char_ptr = '\0'; > > - if (exit_status < 0 || ret == NULL) > - goto err; > - > VIR_FREE(cmd); > return ret; > > @@ -593,16 +590,13 @@ phypGetLparMem(virConnectPtr conn, const char *managed_system, int lpar_id, > > ret = phypExec(session, cmd, &exit_status, conn); > > - if (ret == NULL) > + if (exit_status < 0 || ret == NULL) > goto err; > > - char *mem_char_ptr = strchr(ret, '\n'); > - > - if (mem_char_ptr) > - *mem_char_ptr = '\0'; > + char_ptr = strchr(ret, '\n'); > > - if (exit_status < 0) > - goto err; > + if (char_ptr) > + *char_ptr = '\0'; > > if (virStrToLong_i(ret, &char_ptr, 10, &memory) == -1) > goto err; > @@ -641,6 +635,7 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system, > LIBSSH2_SESSION *session = connection_data->session; > char *cmd = NULL; > char *ret = NULL; > + char *char_ptr; > int exit_status = 0; > int vcpus = 0; > > @@ -663,10 +658,10 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system, > } > ret = phypExec(session, cmd, &exit_status, conn); > > - if (ret == NULL) > + if (exit_status < 0 || ret == NULL) > goto err; > > - char *char_ptr = strchr(ret, '\n'); > + char_ptr = strchr(ret, '\n'); > > if (char_ptr) > *char_ptr = '\0'; > @@ -674,9 +669,6 @@ phypGetLparCPUGeneric(virConnectPtr conn, const char *managed_system, > if (virStrToLong_i(ret, &char_ptr, 10, &vcpus) == -1) > goto err; > > - if (exit_status < 0) > - goto err; > - > VIR_FREE(cmd); > VIR_FREE(ret); > return (unsigned long) vcpus; > @@ -708,16 +700,13 @@ phypGetRemoteSlot(virConnectPtr conn, const char *managed_system, > } > ret = phypExec(session, cmd, &exit_status, conn); > > - if (ret == NULL) > + if (exit_status < 0 || ret == NULL) > goto err; > > - char *char_ptr2 = strchr(ret, '\n'); > - > - if (char_ptr2) > - *char_ptr2 = '\0'; > + char_ptr = strchr(ret, '\n'); > > - if (exit_status < 0) > - goto err; > + if (char_ptr) > + *char_ptr = '\0'; > > if (virStrToLong_i(ret, &char_ptr, 10, &remote_slot) == -1) > goto err; ACK, also includes other cleanups ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list