> Even though so many applications depend on MAXPATHLEN, why doesn't > Hurd define it as an arbitrary number (e.g. INT_MAX)?
The way that most programs use MAXPATHLEN is as the size statically-sized arrays, so an unreasonably large value will either just not work or will eat unreasonable amounts of memory (or at least address space). If you think of values that are small enough to be used as a size for stack-allocated arrays, then you get to 4k or the like that other systems use--and that is exactly the kind of arbitrary limit the GNU system avoids. Any program that uses MAXPATHLEN or PATH_MAX in a way for which a value like INT_MAX would work, i.e. explicit checks against a maximum length, can be trivially changed to work with an unlimited value (by just eliding its check). (Conformant POSIX.1 programs need to deal with this anyway, since sysconf(_SC_PATH_MAX) is allowed to return -1 as it does on the Hurd.)

