From: Marvin Scholz <epirat07-at-gmail.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 19:07:11 +0200 Message-ID: <3E1D038D-815F-4914-89FA-18C3F99E6073@gmail.com> (raw) In-Reply-To: <DM8P223MB0365BE8F7BA532955F797DF3BA74A@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> 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 > > Thanks > 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". _______________________________________________ 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".
next prev parent reply other threads:[~2025-06-12 17:07 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 [this message] 2025-06-12 17:11 ` softworkz .
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=3E1D038D-815F-4914-89FA-18C3F99E6073@gmail.com \ --to=epirat07-at-gmail.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