Commit 11b0dbc
committed
Foundation: support file system representation for long paths
This adjusts the file system representation accessor for a URL to
support paths beyond `MAX_PATH`. We do not know what the use of the
file system representation is, so we cannot provide the NT style path
(`\\?\`-prefixed). Rather than using the filled in buffer, resolve the
URL and then build the complete path copying that into a newly allocated
buffer. This ensures that we always have sufficient space for the path
without having to grow the buffer.
Linux gets away with the current implementation by setting the
`PATH_MAX` to page size (4096). There may be some value in using the
single implementation across the different platforms, but this will
allow the Windows path to make progress even if it diverges from the
reference implementation.
The issue was identified by the DocC test suite which quickly exceeds
the length.1 parent 1e50a03 commit 11b0dbc
1 file changed
+8
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
484 | | - | |
485 | 484 | | |
486 | | - | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
487 | 492 | | |
488 | 493 | | |
489 | | - | |
490 | 494 | | |
491 | 495 | | |
492 | 496 | | |
493 | 497 | | |
494 | 498 | | |
495 | 499 | | |
496 | 500 | | |
| 501 | + | |
497 | 502 | | |
498 | 503 | | |
499 | 504 | | |
| |||
0 commit comments