diff mbox series

[FFmpeg-devel,v1] avformat/ipfsgateway: define PATH_MAX

Message ID 20220413152142.31981-1-markg85@gmail.com
State Accepted
Commit ea84eb2db13f9a2df78de431b993780f9562f642
Headers show
Series [FFmpeg-devel,v1] avformat/ipfsgateway: define PATH_MAX | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Mark Gaiser April 13, 2022, 3:21 p.m. UTC
PATH_MAX is posix. Some compilers (MSVC) don't define this
thus failing to compile the ipfsgateway file.
Defining it fixes the compile.

Signed-off-by: Mark Gaiser <markg85@gmail.com>
---
 libavformat/ipfsgateway.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Mark Gaiser April 13, 2022, 3:27 p.m. UTC | #1
On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85@gmail.com> wrote:

> PATH_MAX is posix. Some compilers (MSVC) don't define this
> thus failing to compile the ipfsgateway file.
> Defining it fixes the compile.
>
> Signed-off-by: Mark Gaiser <markg85@gmail.com>
> ---
>  libavformat/ipfsgateway.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
> index ed37e552dd..9b0d3dea59 100644
> --- a/libavformat/ipfsgateway.c
> +++ b/libavformat/ipfsgateway.c
> @@ -25,6 +25,12 @@
>  #include "os_support.h"
>  #include "url.h"
>
> +// Define the posix PATH_MAX if not there already.
> +// This fixes a compile issue for MSVC.
> +#ifndef PATH_MAX
> +#define PATH_MAX 4096
> +#endif
> +
>  typedef struct IPFSGatewayContext {
>      AVClass *class;
>      URLContext *inner;
> --
> 2.35.1
>
> I did verify the size of PATH_MAX. On my pc (arch with GCC compiler) this
value is defined as 4096. That seems enough to me.
Another way to fix this is to add it in os_support.h. I didn't add it there
because ipfsgateway.c is currently the only cross-platform code that makes
use of this.

Lastly, I don't have an MSVC compiler and windows to test this on.
I hope someone else in that setup can verify that this does indeed fix the
ffmpeg master build?
Martin Storsjö April 14, 2022, 8:25 a.m. UTC | #2
On Wed, 13 Apr 2022, Mark Gaiser wrote:

> On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85@gmail.com> wrote:
>
>> PATH_MAX is posix. Some compilers (MSVC) don't define this
>> thus failing to compile the ipfsgateway file.
>> Defining it fixes the compile.
>>
>> Signed-off-by: Mark Gaiser <markg85@gmail.com>
>> ---
>>  libavformat/ipfsgateway.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
>> index ed37e552dd..9b0d3dea59 100644
>> --- a/libavformat/ipfsgateway.c
>> +++ b/libavformat/ipfsgateway.c
>> @@ -25,6 +25,12 @@
>>  #include "os_support.h"
>>  #include "url.h"
>>
>> +// Define the posix PATH_MAX if not there already.
>> +// This fixes a compile issue for MSVC.
>> +#ifndef PATH_MAX
>> +#define PATH_MAX 4096
>> +#endif
>> +
>>  typedef struct IPFSGatewayContext {
>>      AVClass *class;
>>      URLContext *inner;
>> --
>> 2.35.1
>
> I did verify the size of PATH_MAX. On my pc (arch with GCC compiler) 
> this value is defined as 4096. That seems enough to me. Another way to 
> fix this is to add it in os_support.h. I didn't add it there because 
> ipfsgateway.c is currently the only cross-platform code that makes use 
> of this.
>
> Lastly, I don't have an MSVC compiler and windows to test this on.
> I hope someone else in that setup can verify that this does indeed fix the
> ffmpeg master build?

This looks like a reasonable fix to at least make things build correctly 
again (and it does fix the issue).

FWIW, the corresponding Windows define is MAX_PATH, which usually is 260, 
so setting it to 4096 here is probably more than enough if a hardcoded 
value is needed.

// Martin
Mark Gaiser April 14, 2022, 12:46 p.m. UTC | #3
On Thu, Apr 14, 2022 at 10:25 AM Martin Storsjö <martin@martin.st> wrote:

> On Wed, 13 Apr 2022, Mark Gaiser wrote:
>
> > On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85@gmail.com> wrote:
> >
> >> PATH_MAX is posix. Some compilers (MSVC) don't define this
> >> thus failing to compile the ipfsgateway file.
> >> Defining it fixes the compile.
> >>
> >> Signed-off-by: Mark Gaiser <markg85@gmail.com>
> >> ---
> >>  libavformat/ipfsgateway.c | 6 ++++++
> >>  1 file changed, 6 insertions(+)
> >>
> >> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
> >> index ed37e552dd..9b0d3dea59 100644
> >> --- a/libavformat/ipfsgateway.c
> >> +++ b/libavformat/ipfsgateway.c
> >> @@ -25,6 +25,12 @@
> >>  #include "os_support.h"
> >>  #include "url.h"
> >>
> >> +// Define the posix PATH_MAX if not there already.
> >> +// This fixes a compile issue for MSVC.
> >> +#ifndef PATH_MAX
> >> +#define PATH_MAX 4096
> >> +#endif
> >> +
> >>  typedef struct IPFSGatewayContext {
> >>      AVClass *class;
> >>      URLContext *inner;
> >> --
> >> 2.35.1
> >
> > I did verify the size of PATH_MAX. On my pc (arch with GCC compiler)
> > this value is defined as 4096. That seems enough to me. Another way to
> > fix this is to add it in os_support.h. I didn't add it there because
> > ipfsgateway.c is currently the only cross-platform code that makes use
> > of this.
> >
> > Lastly, I don't have an MSVC compiler and windows to test this on.
> > I hope someone else in that setup can verify that this does indeed fix
> the
> > ffmpeg master build?
>
> This looks like a reasonable fix to at least make things build correctly
> again (and it does fix the issue).
>
> FWIW, the corresponding Windows define is MAX_PATH, which usually is 260,
> so setting it to 4096 here is probably more than enough if a hardcoded
> value is needed.
>
> // Martin
>

Glad it works! Thank you for testing.

I don't have commit/merge powers so I leave that in the capable hands of
those that can.

>
> _______________________________________________
> 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".
>
Martin Storsjö April 14, 2022, 1:41 p.m. UTC | #4
On Thu, 14 Apr 2022, Mark Gaiser wrote:

> On Thu, Apr 14, 2022 at 10:25 AM Martin Storsjö <martin@martin.st> wrote:
>
>> On Wed, 13 Apr 2022, Mark Gaiser wrote:
>>
>> > On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85@gmail.com> wrote:
>> >
>> >> PATH_MAX is posix. Some compilers (MSVC) don't define this
>> >> thus failing to compile the ipfsgateway file.
>> >> Defining it fixes the compile.
>> >>
>> >> Signed-off-by: Mark Gaiser <markg85@gmail.com>
>> >> ---
>> >>  libavformat/ipfsgateway.c | 6 ++++++
>> >>  1 file changed, 6 insertions(+)
>> >>
>> >> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
>> >> index ed37e552dd..9b0d3dea59 100644
>> >> --- a/libavformat/ipfsgateway.c
>> >> +++ b/libavformat/ipfsgateway.c
>> >> @@ -25,6 +25,12 @@
>> >>  #include "os_support.h"
>> >>  #include "url.h"
>> >>
>> >> +// Define the posix PATH_MAX if not there already.
>> >> +// This fixes a compile issue for MSVC.
>> >> +#ifndef PATH_MAX
>> >> +#define PATH_MAX 4096
>> >> +#endif
>> >> +
>> >>  typedef struct IPFSGatewayContext {
>> >>      AVClass *class;
>> >>      URLContext *inner;
>> >> --
>> >> 2.35.1
>> >
>> > I did verify the size of PATH_MAX. On my pc (arch with GCC compiler)
>> > this value is defined as 4096. That seems enough to me. Another way to
>> > fix this is to add it in os_support.h. I didn't add it there because
>> > ipfsgateway.c is currently the only cross-platform code that makes use
>> > of this.
>> >
>> > Lastly, I don't have an MSVC compiler and windows to test this on.
>> > I hope someone else in that setup can verify that this does indeed fix
>> the
>> > ffmpeg master build?
>>
>> This looks like a reasonable fix to at least make things build correctly
>> again (and it does fix the issue).
>>
>> FWIW, the corresponding Windows define is MAX_PATH, which usually is 260,
>> so setting it to 4096 here is probably more than enough if a hardcoded
>> value is needed.
>>
>> // Martin
>>
>
> Glad it works! Thank you for testing.
>
> I don't have commit/merge powers so I leave that in the capable hands of
> those that can.

I already pushed this one - I forgot to explicitly spell that out in the 
previous message.

// Martin
Mark Gaiser April 14, 2022, 1:48 p.m. UTC | #5
On Thu, Apr 14, 2022 at 3:41 PM Martin Storsjö <martin@martin.st> wrote:

> On Thu, 14 Apr 2022, Mark Gaiser wrote:
>
> > On Thu, Apr 14, 2022 at 10:25 AM Martin Storsjö <martin@martin.st>
> wrote:
> >
> >> On Wed, 13 Apr 2022, Mark Gaiser wrote:
> >>
> >> > On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85@gmail.com>
> wrote:
> >> >
> >> >> PATH_MAX is posix. Some compilers (MSVC) don't define this
> >> >> thus failing to compile the ipfsgateway file.
> >> >> Defining it fixes the compile.
> >> >>
> >> >> Signed-off-by: Mark Gaiser <markg85@gmail.com>
> >> >> ---
> >> >>  libavformat/ipfsgateway.c | 6 ++++++
> >> >>  1 file changed, 6 insertions(+)
> >> >>
> >> >> diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
> >> >> index ed37e552dd..9b0d3dea59 100644
> >> >> --- a/libavformat/ipfsgateway.c
> >> >> +++ b/libavformat/ipfsgateway.c
> >> >> @@ -25,6 +25,12 @@
> >> >>  #include "os_support.h"
> >> >>  #include "url.h"
> >> >>
> >> >> +// Define the posix PATH_MAX if not there already.
> >> >> +// This fixes a compile issue for MSVC.
> >> >> +#ifndef PATH_MAX
> >> >> +#define PATH_MAX 4096
> >> >> +#endif
> >> >> +
> >> >>  typedef struct IPFSGatewayContext {
> >> >>      AVClass *class;
> >> >>      URLContext *inner;
> >> >> --
> >> >> 2.35.1
> >> >
> >> > I did verify the size of PATH_MAX. On my pc (arch with GCC compiler)
> >> > this value is defined as 4096. That seems enough to me. Another way to
> >> > fix this is to add it in os_support.h. I didn't add it there because
> >> > ipfsgateway.c is currently the only cross-platform code that makes use
> >> > of this.
> >> >
> >> > Lastly, I don't have an MSVC compiler and windows to test this on.
> >> > I hope someone else in that setup can verify that this does indeed fix
> >> the
> >> > ffmpeg master build?
> >>
> >> This looks like a reasonable fix to at least make things build correctly
> >> again (and it does fix the issue).
> >>
> >> FWIW, the corresponding Windows define is MAX_PATH, which usually is
> 260,
> >> so setting it to 4096 here is probably more than enough if a hardcoded
> >> value is needed.
> >>
> >> // Martin
> >>
> >
> > Glad it works! Thank you for testing.
> >
> > I don't have commit/merge powers so I leave that in the capable hands of
> > those that can.
>
> I already pushed this one - I forgot to explicitly spell that out in the
> previous message.
>

Awesome :) Thank you!

>
> // Martin
> _______________________________________________
> 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".
>
diff mbox series

Patch

diff --git a/libavformat/ipfsgateway.c b/libavformat/ipfsgateway.c
index ed37e552dd..9b0d3dea59 100644
--- a/libavformat/ipfsgateway.c
+++ b/libavformat/ipfsgateway.c
@@ -25,6 +25,12 @@ 
 #include "os_support.h"
 #include "url.h"
 
+// Define the posix PATH_MAX if not there already.
+// This fixes a compile issue for MSVC.
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
 typedef struct IPFSGatewayContext {
     AVClass *class;
     URLContext *inner;