https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b1bf7e1ee5144871cc3bbc03204f5f93612ab0a7

commit b1bf7e1ee5144871cc3bbc03204f5f93612ab0a7
Author:     Sebastian Feld <[email protected]>
AuthorDate: Fri Jun 20 13:19:23 2025 +0200
Commit:     Corinna Vinschen <[email protected]>
CommitDate: Mon Jun 23 09:33:54 2025 +0200

    Increase SYMLOOP_MAX limit to 63 per Win32 spec
    
    Increase SYMLOOP_MAX limit to 63 per Win32 spec.
    
    The spec at 
https://learn.microsoft.com/en-us/windows/win32/fileio/reparse-points
    says:
    ... There is a limit of 63 reparse points on any given path.
    NOTE: The limit can be reduced depending on the length of the
    reparse point. For example, if your reparse point targets a fully
    qualified path, the limit becomes 31. */
    
    Signed-off-by: Sebastian Feld <[email protected]>

Diff:
---
 winsup/cygwin/include/cygwin/limits.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/include/cygwin/limits.h 
b/winsup/cygwin/include/cygwin/limits.h
index 204154da9072..728dfd47b5fc 100644
--- a/winsup/cygwin/include/cygwin/limits.h
+++ b/winsup/cygwin/include/cygwin/limits.h
@@ -43,7 +43,13 @@ details. */
 #define __SEM_VALUE_MAX 1147483648
 #define __SIGQUEUE_MAX 1024
 #define __STREAM_MAX 20
-#define __SYMLOOP_MAX 10
+/* __SYMLOOP_MAX
+   https://learn.microsoft.com/en-us/windows/win32/fileio/reparse-points
+   ... There is a limit of 63 reparse points on any given path.
+   NOTE: The limit can be reduced depending on the length of the
+   reparse point. For example, if your reparse point targets a fully
+   qualified path, the limit becomes 31. */
+#define __SYMLOOP_MAX 63
 #define __TIMER_MAX 32
 #define __TTY_NAME_MAX 32
 #define __FILESIZEBITS 64

Reply via email to