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

Martin Storsjö martin at martin.st
Thu Apr 14 11:25:04 EEST 2022


On Wed, 13 Apr 2022, Mark Gaiser wrote:

> On Wed, Apr 13, 2022 at 5:21 PM Mark Gaiser <markg85 at 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 at 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



More information about the ffmpeg-devel mailing list