[FFmpeg-devel] [PATCH 2.b/3] libavformat/protocols.c: avio_enum_protocols(): Convert the 'goto' loop to a 'for(; ; )' block

Michael Witten mfwitten at gmail.com
Wed Aug 11 23:45:00 EEST 2021


| Michael Witten:
| 
|   > -iterate:
|   > +    for(;;) {
|   >      if (*p) {
|   >          if ((output && (*p)->url_write) || (!output && (*p)->url_read)) {
|   >              *opaque = (void *)p;
|   > @@ -105,7 +105,7 @@ iterate:
|   >          goto done;
|   >      }
|   >      ++p;
|   > -    goto iterate;
|   > +    }
| 
| Lynn:
| 
|   > while (1) please. Let's not add more for (;;) loops.

This is just an intermediate patch.

Future patches populate the slots or clauses of the 'for' statement,
and if these small patches are squashed together (or relegated by
a proper merge commit), then the 'for(;;)' will no longer be part
of the master history.

Sincerely,
Michael Witten


PS
Long ago, I read someone's view on the debate between the options:

  * while (1)
  * for (;;)

That person remarked that he reads "(;;)" as "ever", so that the
whole statement "for (;;)" reads as "forever"; in addition, it is
1 character shorter than "while (1)".


More information about the ffmpeg-devel mailing list