Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- src/util/virfile.c | 18 +++++++----------- src/util/virhostcpu.c | 4 ++-- src/util/virsysfs.c | 2 ++ 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/util/virfile.c b/src/util/virfile.c index 93fc81f2cfab..001ea9b37b2d 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -3811,7 +3811,6 @@ int virFileReadValueInt(const char *path, int *value) { char *str = NULL; - char *endp = NULL; if (!virFileExists(path)) return -2; @@ -3819,8 +3818,9 @@ virFileReadValueInt(const char *path, int *value) if (virFileReadAll(path, INT_STRLEN_BOUND(*value), &str) < 0) return -1; - if (virStrToLong_i(str, &endp, 10, value) < 0 || - (endp && !c_isspace(*endp))) { + virStringTrimOptionalNewline(str); + + if (virStrToLong_i(str, NULL, 10, value) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid integer value '%s' in file '%s'"), str, path); @@ -3847,7 +3847,6 @@ int virFileReadValueUint(const char *path, unsigned int *value) { char *str = NULL; - char *endp = NULL; if (!virFileExists(path)) return -2; @@ -3855,8 +3854,9 @@ virFileReadValueUint(const char *path, unsigned int *value) if (virFileReadAll(path, INT_STRLEN_BOUND(*value), &str) < 0) return -1; - if (virStrToLong_uip(str, &endp, 10, value) < 0 || - (endp && !c_isspace(*endp))) { + virStringTrimOptionalNewline(str); + + if (virStrToLong_uip(str, NULL, 10, value)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid unsigned integer value '%s' in file '%s'"), str, path); @@ -3914,7 +3914,6 @@ virFileReadValueBitmap(const char *path, { char *buf = NULL; int ret = -1; - char *tmp = NULL; if (!virFileExists(path)) return -2; @@ -3922,10 +3921,7 @@ virFileReadValueBitmap(const char *path, if (virFileReadAll(path, maxlen, &buf) < 0) goto cleanup; - /* trim optinoal newline at the end */ - tmp = buf + strlen(buf) - 1; - if (*tmp == '\n') - *tmp = '\0'; + virStringTrimOptionalNewline(buf); *value = virBitmapParseUnlimited(buf); if (!*value) diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c index 02b9fc8eb94f..a660e3f4dbe5 100644 --- a/src/util/virhostcpu.c +++ b/src/util/virhostcpu.c @@ -847,13 +847,13 @@ virHostCPUParseCountLinux(void) tmp = str; do { if (virStrToLong_i(tmp, &tmp, 10, &ret) < 0 || - !strchr(",-\n", *tmp)) { + !strchr(",-", *tmp)) { virReportError(VIR_ERR_NO_SUPPORT, _("failed to parse %s"), str); ret = -1; goto cleanup; } - } while (*tmp++ != '\n'); + } while (*tmp++ && *tmp); ret++; cleanup: diff --git a/src/util/virsysfs.c b/src/util/virsysfs.c index 7403ae20ba17..8d3665377e8c 100644 --- a/src/util/virsysfs.c +++ b/src/util/virsysfs.c @@ -94,6 +94,8 @@ virSysfsGetValueString(const char *file, if (virFileReadAll(path, VIR_SYSFS_VALUE_MAXLEN, value) < 0) goto cleanup; + virStringTrimOptionalNewline(*value); + ret = 0; cleanup: VIR_FREE(path); -- 2.12.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list