qemu-img: create: convert img_size to signed, simplify handling

Initializing an unsigned as -1, or using temporary
sval for conversion is awkward.  Since we don't allow
other "negative" values anyway, use signed value and
pass it to bdrv_img_create() (where it is properly
converted to unsigned), simplifying code.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20250531171609.197078-3-mjt@tls.msk.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Michael Tokarev 2025-05-31 20:15:44 +03:00 committed by Kevin Wolf
parent 1c47abc577
commit 443761ab38

View file

@ -511,7 +511,7 @@ static int64_t cvtnum(const char *name, const char *value)
static int img_create(int argc, char **argv)
{
int c;
uint64_t img_size = -1;
int64_t img_size = -1;
const char *fmt = "raw";
const char *base_fmt = NULL;
const char *filename;
@ -582,13 +582,10 @@ static int img_create(int argc, char **argv)
/* Get image size, if specified */
if (optind < argc) {
int64_t sval;
sval = cvtnum("image size", argv[optind++]);
if (sval < 0) {
img_size = cvtnum("image size", argv[optind++]);
if (img_size < 0) {
goto fail;
}
img_size = (uint64_t)sval;
}
if (optind != argc) {
error_exit("Unexpected argument: %s", argv[optind]);