All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [PATCH 28/28] qemu-img: extend cvtnum() and use it in more places
Date: Mon, 26 Feb 2024 14:57:39 +0000	[thread overview]
Message-ID: <Zdym4zkJIkzSUDWt@redhat.com> (raw)
In-Reply-To: <20240221211622.2335170-28-mjt@tls.msk.ru>

On Thu, Feb 22, 2024 at 12:16:09AM +0300, Michael Tokarev wrote:
> cvtnum() expects input string to specify some sort of size
> (optionally with KMG... suffix).  However, there are a lot
> of other number conversions in there (using qemu_strtol &Co),
> also, not all conversions which use cvtnum, actually expects
> size, - like dd count=nn.
> 
> Add bool issize argument to cvtnum() to specify if it should
> treat the argument as a size or something else, - this changes
> conversion routine in use and error text.
> 
> Use the new cvtnum() in more places (like where strtol were used),
> since it never return negative number in successful conversion.
> When it makes sense, also specify upper or lower bounds at the
> same time.  This simplifies option processing in multiple places,
> removing the need of local temporary variables and longer error
> reporting code.
> 
> While at it, fix errors, like depth in measure must be >= 1,
> while the previous code allowed it to be 0.
> 
> In a few places, change unsigned variables (like of type size_t)
> to be signed instead, - to avoid the need of temporary conversion
> variable.  All these variables are okay to be signed, we never
> assign <0 value to them except of the cases of conversion error,
> where we return immediately.
> 
> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
>  qemu-img.c | 118 ++++++++++++++++++++---------------------------------
>  1 file changed, 44 insertions(+), 74 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2024-02-26 14:58 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 21:15 [PATCH v2 00/28] qemu-img: refersh options and --help handling, cleanups Michael Tokarev
2024-02-21 21:15 ` [PATCH 01/28] qemu-img: stop printing error twice in a few places Michael Tokarev
2024-02-26 14:14   ` Daniel P. Berrangé
2024-02-26 18:58     ` Michael Tokarev
2024-02-26 16:37   ` Michael Tokarev
2024-02-21 21:15 ` [PATCH 02/28] qemu-img: measure: convert img_size to signed, simplify handling Michael Tokarev
2024-02-26 14:19   ` Daniel P. Berrangé
2024-02-21 21:15 ` [PATCH 03/28] qemu-img: create: " Michael Tokarev
2024-02-26 14:19   ` Daniel P. Berrangé
2024-02-21 21:15 ` [PATCH 04/28] qemu-img: global option processing and error printing Michael Tokarev
2024-02-26 14:23   ` Daniel P. Berrangé
2024-02-26 15:40   ` Daniel P. Berrangé
2024-02-21 21:13     ` [PATCH v2.1 " Michael Tokarev
2024-02-26 15:43     ` [PATCH " Michael Tokarev
2024-02-26 16:25       ` Michael Tokarev
2024-02-21 21:15 ` [PATCH 05/28] qemu-img: pass current cmd info into command handlers Michael Tokarev
2024-02-26 14:24   ` Daniel P. Berrangé
2024-02-21 21:15 ` [PATCH 06/28] qemu-img: create: refresh options/--help Michael Tokarev
2024-02-26 14:34   ` Daniel P. Berrangé
2024-02-26 14:37     ` Michael Tokarev
2024-02-21 21:15 ` [PATCH 07/28] qemu-img: factor out parse_output_format() and use it in the code Michael Tokarev
2024-02-21 21:15 ` [PATCH 08/28] qemu-img: check: refresh options/--help Michael Tokarev
2024-02-21 21:15 ` [PATCH 09/28] qemu-img: simplify --repair error message Michael Tokarev
2024-02-21 21:15 ` [PATCH 10/28] qemu-img: commit: refresh options/--help Michael Tokarev
2024-02-21 21:15 ` [PATCH 11/28] qemu-img: compare: " Michael Tokarev
2024-02-21 21:15 ` [PATCH 12/28] qemu-img: convert: " Michael Tokarev
2024-02-21 21:15 ` [PATCH 13/28] qemu-img: info: " Michael Tokarev
2024-02-21 21:15 ` [PATCH 14/28] qemu-img: map: " Michael Tokarev
2024-02-21 21:15 ` [PATCH 15/28] qemu-img: snapshot: allow specifying -f fmt Michael Tokarev
2024-02-21 21:15 ` [PATCH 16/28] qemu-img: snapshot: make -l (list) the default, simplify option handling Michael Tokarev
2024-02-26 14:36   ` Daniel P. Berrangé
2024-02-21 21:15 ` [PATCH 17/28] qemu-img: snapshot: refresh options/--help Michael Tokarev
2024-02-21 21:15 ` [PATCH 18/28] qemu-img: rebase: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 19/28] qemu-img: resize: do not always eat last argument Michael Tokarev
2024-02-26 14:52   ` Daniel P. Berrangé
2024-02-26 14:59     ` Michael Tokarev
2024-02-21 21:16 ` [PATCH 20/28] qemu-img: resize: refresh options/--help Michael Tokarev
2024-02-21 21:16 ` [PATCH 21/28] qemu-img: amend: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 22/28] qemu-img: bench: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 23/28] qemu-img: bitmap: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 24/28] qemu-img: dd: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 25/28] qemu-img: measure: " Michael Tokarev
2024-02-21 21:16 ` [PATCH 26/28] qemu-img: implement short --help, remove global help() function Michael Tokarev
2024-02-26 14:53   ` Daniel P. Berrangé
2024-02-21 21:16 ` [PATCH 27/28] qemu-img: inline list of supported commands, remove qemu-img-cmds.h include Michael Tokarev
2024-02-26 14:54   ` Daniel P. Berrangé
2024-02-21 21:16 ` [PATCH 28/28] qemu-img: extend cvtnum() and use it in more places Michael Tokarev
2024-02-26 14:57   ` Daniel P. Berrangé [this message]
2024-02-26 19:16   ` Michael Tokarev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zdym4zkJIkzSUDWt@redhat.com \
    --to=berrange@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.