[Vm-dev] Failing win64x64 builds - undeclared identifier 'PATH_MAX'
Eliot Miranda
eliot.miranda at gmail.com
Mon May 15 14:31:50 UTC 2017
Hi Alistair,
> On May 15, 2017, at 7:28 AM, Alistair Grant <akgrant0710 at gmail.com> wrote:
>
>
> Hi Ben & Eliot,
>
>> On Sun, May 14, 2017 at 01:30:36AM +0800, Ben Coman wrote:
>>
>> On Sat, May 13, 2017 at 11:28 AM, Eliot Miranda
>> <eliot.miranda at gmail.com> wrote:
>>>
>>> Hi Ben,
>>>
>>> can you tell me what path-related limits limits.h does define on
>>> win64? e.g. there should be something like POSIX_PATH_MAS or
>>> XOPEN_PATH_MAX, and if neither of these is available, and
>>> nothing else looks relevant we can define a default. I already
>>> put in a default; see
>>> platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
>>
>> I see that here https://git.io/v9QbB and the error disappears in
>> https://ci.appveyor.com/project/OpenSmalltalk/vm/build/1.0.665
>>
>>> But can we do better on win64/win32?
>>
>> I found _MAX_PATH in <stdlib.h> at "Path Field Limits" for MSVC
>> here... https://msdn.microsoft.com/en-us/library/930f87yf.aspx
>>
>> but I'm not sure how that relates to Cygwin. I see PATH_MAX defined
>> in "limits.h" here...
>> https://cygwin.com/ml/cygwin-patches/2005-q1/msg00084.html
>>
>> cheers -ben
>
> Did you agree on a solution for this?
>
> I'm getting close to finishing the FileAttributes plugin discussed in
> the "Extending primitiveDirectoryEntry" thread and have also realised
> that PATH_MAX = 260 on win32. The plugin also uses the unicode versions
> of the windows function, so should work with paths up to 32k characters.
Is there a manifest constant (#define) in Cygwin for the 32k limit? Which APIs have a 32k limit and which have a 260 limit?
[why are C APIs such a mess?]
>
> Thanks,
> Alistair
>
More information about the Vm-dev
mailing list