Yes. #include <limits.h> is required for PATH_MAX

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html

 

 

发件人: bounce+27952+66797+4905953+8761045@groups.io <bounce+27952+66797+4905953+8761045@groups.io> 代表 Andrew Fish via groups.io
发送时间: 20201030 10:28
收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn
主题: Re: [edk2-devel] Why is MAX_LONG_FILE_PATH 500 vs. PATH_MAX?

 

 



On Oct 29, 2020, at 7:25 PM, gaoliming <gaoliming@byosoft.com.cn> wrote:

 

Andrew:

 Windows defines _MAX_PATH macro. But, its value is 260. It is not enough. To fix your issue, MAX_LONG_FILE_PATH can be updated as below. 

 

 

OK I’ll file a BZ. It may also require adding an include?

 

Thanks,

 

Andrew Fish



#ifdef PATH_MAX

#define MAX_LONG_FILE_PATH PATH_MAX

#else

#define MAX_LONG_FILE_PATH 500

#endif

 

Thanks

Liming

发件人: bounce+27952+66793+4905953+8761045@groups.io <bounce+27952+66793+4905953+8761045@groups.io> 代表 Andrew Fish via groups.io
发送时间: 20201030 9:37
收件人: gaoliming <gaoliming@byosoft.com.cn>
抄送: devel@edk2.groups.io
主题: Re: [edk2-devel] Why is MAX_LONG_FILE_PATH 500 vs. PATH_MAX?

 

 




On Oct 29, 2020, at 6:34 PM, gaoliming <gaoliming@byosoft.com.cn> wrote:

 

This macro is added to resolve the limitation on WINDOWS OS for the length of entire file path cant be larger than 255. It use the hard code 500, because 500 is enough for most case. Do you meet with the problem that the file path length exceeds 500?

 

 

Yes locally we have changed it to PATH_MAX to fix a build break we hit. Does Windows support PATH_MAX?

 

Thanks,

 

Andrew Fish




Thanks

Liming

发件人: bounce+27952+66762+4905953+8761045@groups.io <bounce+27952+66762+4905953+8761045@groups.io> 代表 Andrew Fish via groups.io
发送时间: 20201030 1:24
收件人: edk2-devel-groups-io <devel@edk2.groups.io>
主题: [edk2-devel] Why is MAX_LONG_FILE_PATH 500 vs. PATH_MAX?

 

Does anyone know why MAX_LONG_FILE_PATH [1] is hard coded to 500 vs. using the systems PATH_MAX?

 

On Linux I think PATH_MAX is 4KiB and on macOS it is 1KiB.

 

 

 

Thanks,

 

Andrew Fish