Hi, The third part of the patch set supplies a definition of NAME_MAX where one is lacking. This is the case not only on UnixPC, but also on the Solaris platforms. When supplying NAME_MAX, we may err towards values which are too large, because NAME_MAX is used to ensure that a buffer used to hold filenames while globbing is large enough. Hence I use PATH_MAX. After having applied the 3 patches so far, the program should compile on Solaris 11. Regards, Alain diff -X ../exclude.txt -urN dash-0.5.12+02-stat64/src/system.h dash-0.5.12+03-name-max/src/system.h --- dash-0.5.12+02-stat64/src/system.h 2020-06-03 02:23:24.000000000 +0000 +++ dash-0.5.12+03-name-max/src/system.h 2024-11-10 14:52:28.805681954 +0000 @@ -116,3 +116,11 @@ * code */ #define uninitialized_var(x) x = x + +#ifndef NAME_MAX +/* NAME_MAX is only used in expand.c to make sure that we have a + buffer big enough to append the next local file part into during + globbing. So, in case of doubt, we need NAME_MAX to be bigger + rather than smaller, in order to prevent buffer overflow */ +# define NAME_MAX PATH_MAX +#endif