[libvirt] [PATCH 1/2] nodeinfo: Fix code style and some minor bugs.
Osier Yang
jyang at redhat.com
Wed Jun 27 04:21:39 UTC 2012
On 2012年06月25日 22:43, Peter Krempa wrote:
> This patch cleans up some line breaks and fixes two minor bugs:
>
> - buffer pointer increment to the actual length that should be skipped
> - jump to cleanup section instead of returning -1
> ---
> src/nodeinfo.c | 31 +++++++++++++++----------------
> 1 files changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/src/nodeinfo.c b/src/nodeinfo.c
> index f7d0cc6..97482d9 100644
> --- a/src/nodeinfo.c
> +++ b/src/nodeinfo.c
> @@ -254,19 +254,19 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> char *p;
> unsigned int ui;
>
> - buf += 9;
> + buf += 7;
> while (*buf&& c_isspace(*buf))
> buf++;
>
> if (*buf != ':' || !buf[1]) {
> - nodeReportError(VIR_ERR_INTERNAL_ERROR,
> - "%s", _("parsing cpu MHz from cpuinfo"));
> + nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("parsing cpu MHz from cpuinfo"));
> goto cleanup;
> }
>
> - if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0
> + if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0&&
> /* Accept trailing fractional part. */
> -&& (*p == '\0' || *p == '.' || c_isspace(*p)))
> + (*p == '\0' || *p == '.' || c_isspace(*p)))
> nodeinfo->mhz = ui;
> }
>
> @@ -279,13 +279,13 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> buf++;
>
> if (*buf != ':' || !buf[1]) {
> - nodeReportError(VIR_ERR_INTERNAL_ERROR,
> - "%s", _("parsing cpu cores from cpuinfo"));
> - return -1;
> + nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("parsing cpu cores from cpuinfo"));
> + goto cleanup;
Instead of chaning "return -1" into "goto cleanup", I think
"goto cleanup" should be changed into "return -1". "sysfs_cpudir"
is NULL anyway before the while loop finished.
> }
>
> - if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0
> -&& (*p == '\0' || c_isspace(*p)))
> + if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0&&
> + (*p == '\0' || c_isspace(*p)))
> cpu_cores = ui;
> }
> # elif defined(__powerpc__) || \
> @@ -300,14 +300,14 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> buf++;
>
> if (*buf != ':' || !buf[1]) {
> - nodeReportError(VIR_ERR_INTERNAL_ERROR,
> - "%s", _("parsing cpu MHz from cpuinfo"));
> + nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("parsing cpu MHz from cpuinfo"));
> goto cleanup;
> }
>
> - if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0
> + if (virStrToLong_ui(buf+1,&p, 10,&ui) == 0&&
> /* Accept trailing fractional part. */
> -&& (*p == '\0' || *p == '.' || c_isspace(*p)))
> + (*p == '\0' || *p == '.' || c_isspace(*p)))
> nodeinfo->mhz = ui;
> /* No other interesting infos are available in /proc/cpuinfo.
> * However, there is a line identifying processor's version,
> @@ -327,8 +327,7 @@ int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> virReportOOMError();
> goto cleanup;
> }
> - cpudir = opendir(sysfs_cpudir);
> - if (cpudir == NULL) {
> + if (!(cpudir = opendir(sysfs_cpudir))) {
> virReportSystemError(errno, _("cannot opendir %s"), sysfs_cpudir);
> goto cleanup;
> }
Others are nice cleanups.
Osier
More information about the libvir-list
mailing list