From e591591b323772eea733de6027f5e8b50692d0ff Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:13:59 +0100 Subject: util/cutils: Rename qemu_strtosz() to qemu_strtosz_MiB() With qemu_strtosz(), no suffix means mebibytes. It's used rarely. I'm going to add a similar function where no suffix means bytes. Rename qemu_strtosz() to qemu_strtosz_MiB() to make the name qemu_strtosz() available for the new function. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <1487708048-2131-16-git-send-email-armbru@redhat.com> --- monitor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'monitor.c') diff --git a/monitor.c b/monitor.c index 5953fc984f..c2c1e424f2 100644 --- a/monitor.c +++ b/monitor.c @@ -2811,7 +2811,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, break; } } - val = qemu_strtosz(p, &end); + val = qemu_strtosz_MiB(p, &end); if (val < 0) { monitor_printf(mon, "invalid size\n"); goto fail; -- cgit v1.2.1 From f17fd4fdf0df3d2f3444399d04c38d22b9a3e1b7 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:14:06 +0100 Subject: util/cutils: Return qemu_strtosz*() error and value separately This makes qemu_strtosz(), qemu_strtosz_mebi() and qemu_strtosz_metric() similar to qemu_strtoi64(), except negative values are rejected. Cc: Dr. David Alan Gilbert Cc: Eduardo Habkost (maintainer:X86) Cc: Kevin Wolf (supporter:Block layer core) Cc: Max Reitz (supporter:Block layer core) Cc: qemu-block@nongnu.org (open list:Block layer core) Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Dr. David Alan Gilbert Message-Id: <1487708048-2131-23-git-send-email-armbru@redhat.com> --- monitor.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'monitor.c') diff --git a/monitor.c b/monitor.c index c2c1e424f2..8baeaf0ff3 100644 --- a/monitor.c +++ b/monitor.c @@ -2799,6 +2799,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, break; case 'o': { + int ret; int64_t val; char *end; @@ -2811,8 +2812,8 @@ static QDict *monitor_parse_arguments(Monitor *mon, break; } } - val = qemu_strtosz_MiB(p, &end); - if (val < 0) { + ret = qemu_strtosz_MiB(p, &end, &val); + if (ret < 0) { monitor_printf(mon, "invalid size\n"); goto fail; } -- cgit v1.2.1 From f46bfdbfc8f95cf65d7818ef68a801e063c40332 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:14:07 +0100 Subject: util/cutils: Change qemu_strtosz*() from int64_t to uint64_t This will permit its use in parse_option_size(). Cc: Dr. David Alan Gilbert Cc: Eduardo Habkost (maintainer:X86) Cc: Kevin Wolf (supporter:Block layer core) Cc: Max Reitz (supporter:Block layer core) Cc: qemu-block@nongnu.org (open list:Block layer core) Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Dr. David Alan Gilbert Message-Id: <1487708048-2131-24-git-send-email-armbru@redhat.com> --- monitor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'monitor.c') diff --git a/monitor.c b/monitor.c index 8baeaf0ff3..4ac2702276 100644 --- a/monitor.c +++ b/monitor.c @@ -2800,7 +2800,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, case 'o': { int ret; - int64_t val; + uint64_t val; char *end; while (qemu_isspace(*p)) { @@ -2813,7 +2813,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, } } ret = qemu_strtosz_MiB(p, &end, &val); - if (ret < 0) { + if (ret < 0 || val > INT64_MAX) { monitor_printf(mon, "invalid size\n"); goto fail; } -- cgit v1.2.1