@@ -39,10 +39,11 @@ static void free_range(void *range, void *dummy)
static void parse_str(StringInputVisitor *siv, bool u64, Error **errp)
{
- char *str = (char *) siv->string;
+ const char *str = siv->string;
long long start, end;
Range *cur;
- char *endptr;
+ const char *endptr;
+ int ret;
if (siv->ranges) {
return;
@@ -51,11 +52,11 @@ static void parse_str(StringInputVisitor *siv, bool u64, Error **errp)
do {
errno = 0;
if (u64) {
- start = strtoull(str, &endptr, 0);
+ ret = qemu_strtoull(str, &endptr, 0, (unsigned long long *)&start);
} else {
- start = strtoll(str, &endptr, 0);
+ ret = qemu_strtoll(str, &endptr, 0, &start);
}
- if (errno == 0 && endptr > str) {
+ if (ret == 0 && endptr > str) {
if (*endptr == '\0') {
cur = g_malloc0(sizeof(*cur));
cur->begin = start;
@@ -67,8 +68,8 @@ static void parse_str(StringInputVisitor *siv, bool u64, Error **errp)
} else if (*endptr == '-' && !u64) {
str = endptr + 1;
errno = 0;
- end = strtoll(str, &endptr, 0);
- if (errno == 0 && endptr > str && start <= end &&
+ ret = qemu_strtoll(str, &endptr, 0, &end);
+ if (ret == 0 && endptr > str && start <= end &&
(start > INT64_MAX - 65536 ||
end < start + 65536)) {
if (*endptr == '\0') {
Switch from strtoll() and strtoull() to qemu_strtoll() and qemu_strtoull(), as recommended by checkpatch. Signed-off-by: Andreas Färber <afaerber@suse.de> --- qapi/string-input-visitor.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)