summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/cutils.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/util/cutils.c b/util/cutils.c
index 0dc9b28298..0fb0f82289 100644
--- a/util/cutils.c
+++ b/util/cutils.c
@@ -260,21 +260,21 @@ int64_t qemu_strtosz(const char *nptr, char **end)
}
/**
- * Helper function for qemu_strto*l() functions.
+ * Helper function for error checking after strtol() and the like
*/
-static int check_strtox_error(const char *p, char *endptr, const char **next,
- int err)
+static int check_strtox_error(const char *nptr, char *ep,
+ const char **endptr, int libc_errno)
{
- if (err == 0 && endptr == p) {
- err = EINVAL;
+ if (libc_errno == 0 && ep == nptr) {
+ libc_errno = EINVAL;
}
- if (!next && *endptr) {
+ if (!endptr && *ep) {
return -EINVAL;
}
- if (next) {
- *next = endptr;
+ if (endptr) {
+ *endptr = ep;
}
- return -err;
+ return -libc_errno;
}
/**
@@ -304,7 +304,7 @@ static int check_strtox_error(const char *p, char *endptr, const char **next,
int qemu_strtol(const char *nptr, const char **endptr, int base,
long *result)
{
- char *p;
+ char *ep;
int err = 0;
if (!nptr) {
if (endptr) {
@@ -313,8 +313,8 @@ int qemu_strtol(const char *nptr, const char **endptr, int base,
err = -EINVAL;
} else {
errno = 0;
- *result = strtol(nptr, &p, base);
- err = check_strtox_error(nptr, p, endptr, errno);
+ *result = strtol(nptr, &ep, base);
+ err = check_strtox_error(nptr, ep, endptr, errno);
}
return err;
}
@@ -347,7 +347,7 @@ int qemu_strtol(const char *nptr, const char **endptr, int base,
int qemu_strtoul(const char *nptr, const char **endptr, int base,
unsigned long *result)
{
- char *p;
+ char *ep;
int err = 0;
if (!nptr) {
if (endptr) {
@@ -356,12 +356,12 @@ int qemu_strtoul(const char *nptr, const char **endptr, int base,
err = -EINVAL;
} else {
errno = 0;
- *result = strtoul(nptr, &p, base);
+ *result = strtoul(nptr, &ep, base);
/* Windows returns 1 for negative out-of-range values. */
if (errno == ERANGE) {
*result = -1;
}
- err = check_strtox_error(nptr, p, endptr, errno);
+ err = check_strtox_error(nptr, ep, endptr, errno);
}
return err;
}
@@ -375,7 +375,7 @@ int qemu_strtoul(const char *nptr, const char **endptr, int base,
int qemu_strtoi64(const char *nptr, const char **endptr, int base,
int64_t *result)
{
- char *p;
+ char *ep;
int err = 0;
if (!nptr) {
if (endptr) {
@@ -385,8 +385,8 @@ int qemu_strtoi64(const char *nptr, const char **endptr, int base,
} else {
errno = 0;
/* FIXME This assumes int64_t is long long */
- *result = strtoll(nptr, &p, base);
- err = check_strtox_error(nptr, p, endptr, errno);
+ *result = strtoll(nptr, &ep, base);
+ err = check_strtox_error(nptr, ep, endptr, errno);
}
return err;
}
@@ -399,7 +399,7 @@ int qemu_strtoi64(const char *nptr, const char **endptr, int base,
int qemu_strtou64(const char *nptr, const char **endptr, int base,
uint64_t *result)
{
- char *p;
+ char *ep;
int err = 0;
if (!nptr) {
if (endptr) {
@@ -409,12 +409,12 @@ int qemu_strtou64(const char *nptr, const char **endptr, int base,
} else {
errno = 0;
/* FIXME This assumes uint64_t is unsigned long long */
- *result = strtoull(nptr, &p, base);
+ *result = strtoull(nptr, &ep, base);
/* Windows returns 1 for negative out-of-range values. */
if (errno == ERANGE) {
*result = -1;
}
- err = check_strtox_error(nptr, p, endptr, errno);
+ err = check_strtox_error(nptr, ep, endptr, errno);
}
return err;
}