From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 1/4] fftools/textformat: narrow variable scopes
Date: Thu, 12 Jun 2025 17:11:59 +0000
Message-ID: <DM8P223MB0365F10169C52825AA3D2202BA74A@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <3E1D038D-815F-4914-89FA-18C3F99E6073@gmail.com>
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> Marvin Scholz
> Sent: Donnerstag, 12. Juni 2025 19:07
> To: FFmpeg development discussions and patches <ffmpeg-
> devel@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 1/4] fftools/textformat: narrow
> variable scopes
>
>
>
> On 12 Jun 2025, at 18:10, softworkz . wrote:
>
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf
> Of
> >> Marvin Scholz
> >> Sent: Donnerstag, 12. Juni 2025 13:25
> >> To: FFmpeg development discussions and patches <ffmpeg-
> >> devel@ffmpeg.org>
> >> Subject: Re: [FFmpeg-devel] [PATCH 1/4] fftools/textformat:
> narrow
> >> variable scopes
> >>
> >>
> >>
> >> On 12 Jun 2025, at 4:26, softworkz . wrote:
> >>
> >>> Hi Marvin,
> >>>
> >>>> -----Original Message-----
> >>>> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf
> >> Of
> >>>> Marvin Scholz
> >>>> Sent: Mittwoch, 11. Juni 2025 22:42
> >>>> To: ffmpeg-devel@ffmpeg.org
> >>>> Subject: [FFmpeg-devel] [PATCH 1/4] fftools/textformat: narrow
> >>>> variable scopes
> >>>>
> >>>> ---
> >>>> fftools/textformat/avtextformat.c | 15 ++++++---------
> >>>> 1 file changed, 6 insertions(+), 9 deletions(-)
> >>>>
> >>>> diff --git a/fftools/textformat/avtextformat.c
> >>>> b/fftools/textformat/avtextformat.c
> >>>> index 14779e6f0c..f1811abb1c 100644
> >>>> --- a/fftools/textformat/avtextformat.c
> >>>> +++ b/fftools/textformat/avtextformat.c
> >>>> @@ -101,7 +101,6 @@ static void bprint_bytes(AVBPrint *bp,
> const
> >>>> uint8_t *ubuf, size_t ubuf_size)
> >>>> int avtext_context_close(AVTextFormatContext **ptctx)
> >>>> {
> >>>> AVTextFormatContext *tctx = *ptctx;
> >>>> - int i;
> >>>> int ret = 0;
> >>>>
> >>>> if (!tctx)
> >>>> @@ -117,7 +116,7 @@ int
> avtext_context_close(AVTextFormatContext
> >>>> **ptctx)
> >>>> if (tctx->formatter->priv_class)
> >>>> av_opt_free(tctx->priv);
> >>>> }
> >>>> - for (i = 0; i < SECTION_MAX_NB_LEVELS; i++)
> >>>> + for (int i = 0; i < SECTION_MAX_NB_LEVELS; i++)
> >>>> av_bprint_finalize(&tctx->section_pbuf[i], NULL);
> >>>> av_freep(&tctx->priv);
> >>>> av_opt_free(tctx);
> >>>> @@ -130,7 +129,7 @@ int
> avtext_context_open(AVTextFormatContext
> >>>> **ptctx, const AVTextFormatter *form
> >>>> const AVTextFormatSection *sections,
> >> int
> >>>> nb_sections, AVTextFormatOptions options, char
> *show_data_hash)
> >>>> {
> >>>> AVTextFormatContext *tctx;
> >>>> - int i, ret = 0;
> >>>> + int ret = 0;
> >>>>
> >>>> av_assert0(ptctx && formatter);
> >>>>
> >>>> @@ -202,7 +201,7 @@ int
> avtext_context_open(AVTextFormatContext
> >>>> **ptctx, const AVTextFormatter *form
> >>>> if (ret == AVERROR(EINVAL)) {
> >>>> const char *n;
> >>>> av_log(NULL, AV_LOG_ERROR, "Unknown hash
> >> algorithm
> >>>> '%s'\nKnown algorithms:", show_data_hash);
> >>>> - for (i = 0; (n = av_hash_names(i)); i++)
> >>>> + for (unsigned i = 0; (n = av_hash_names(i));
> >> i++)
> >>>> av_log(NULL, AV_LOG_ERROR, " %s", n);
> >>>> av_log(NULL, AV_LOG_ERROR, "\n");
> >>>> }
> >>>> @@ -525,13 +524,13 @@ void
> avtext_print_data(AVTextFormatContext
> >>>> *tctx, const char *key,
> >>>> {
> >>>> AVBPrint bp;
> >>>> unsigned offset = 0;
> >>>> - int l, i;
> >>>> + int i;
> >>>>
> >>>> av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED);
> >>>> av_bprintf(&bp, "\n");
> >>>> while (size) {
> >>>> av_bprintf(&bp, "%08x: ", offset);
> >>>> - l = FFMIN(size, 16);
> >>>> + int l = FFMIN(size, 16);
> >>>> for (i = 0; i < l; i++) {
> >>>> av_bprintf(&bp, "%02x", data[i]);
> >>>> if (i & 1)
> >>>> @@ -571,7 +570,6 @@ void
> >> avtext_print_integers(AVTextFormatContext
> >>>> *tctx, const char *key,
> >>>> {
> >>>> AVBPrint bp;
> >>>> unsigned offset = 0;
> >>>> - int l, i;
> >>>>
> >>>> if (!key || !data || !format || columns <= 0 || bytes <=
> 0)
> >>>> return;
> >>>> @@ -580,8 +578,7 @@ void
> >> avtext_print_integers(AVTextFormatContext
> >>>> *tctx, const char *key,
> >>>> av_bprintf(&bp, "\n");
> >>>> while (size) {
> >>>> av_bprintf(&bp, "%08x: ", offset);
> >>>> - l = FFMIN(size, columns);
> >>>> - for (i = 0; i < l; i++) {
> >>>> + for (int i = 0, l = FFMIN(size, columns); i < l; i++)
> {
> >>>
> >>> You are changing behavior here because size is changed inside
> the
> >> loop.
> >>> The pre-evaluation into l is intentional.
> >>>
> >>
> >> I fail to see how I change anything here though? It is still
> just
> >> assigned before
> >> the loop runs, just that l is scoped narrower?
> >
> > This is the original code:
> >
> > l = FFMIN(size, columns);
> > for (i = 0; i < l; i++) {
> > if (bytes == 1) av_bprintf(&bp, format, *data);
> > else if (bytes == 2) av_bprintf(&bp, format,
> AV_RN16(data));
> > else if (bytes == 4) av_bprintf(&bp, format,
> AV_RN32(data));
> > data += bytes;
> > size--;
> > }
> >
> > See the size-- ?
> >
>
> I see that but again I fail to see how this changes anything.
> I am not changing that l is assigned before the loop runs, just
> narrow the scope to the loop.
>
> See: https://godbolt.org/z/c3hGKfne4
Ooops - my fault. I didn't look carefully enough.
LGTM!
Thanks and sorry,
sw
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
prev parent reply other threads:[~2025-06-12 17:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-11 20:42 Marvin Scholz
2025-06-11 20:42 ` [FFmpeg-devel] [PATCH 2/4] fftools/textformat: remove noop free Marvin Scholz
2025-06-12 2:28 ` softworkz .
2025-06-11 20:42 ` [FFmpeg-devel] [PATCH 3/4] fftools/textformat: do not return early Marvin Scholz
2025-06-12 2:31 ` softworkz .
2025-06-11 20:42 ` [FFmpeg-devel] [PATCH 4/4] fftools/textformat: remove useless error check Marvin Scholz
2025-06-11 20:53 ` Andreas Rheinhardt
2025-06-11 21:05 ` Marvin Scholz
2025-06-12 2:26 ` [FFmpeg-devel] [PATCH 1/4] fftools/textformat: narrow variable scopes softworkz .
2025-06-12 11:25 ` Marvin Scholz
2025-06-12 16:10 ` softworkz .
2025-06-12 17:07 ` Marvin Scholz
2025-06-12 17:11 ` softworkz . [this message]
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=DM8P223MB0365F10169C52825AA3D2202BA74A@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \
--to=softworkz-at-hotmail.com@ffmpeg.org \
--cc=ffmpeg-devel@ffmpeg.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
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git