>The FILENAME_MAX macro, as used in the local_storage union in localtime.c, has on Solaris the very low/defensive value of 14 (from stdio.h).

>Please consider using PATH_MAX, from limits.h instead, as that value is (usually) 250 or beyond. Or anything else, that can hold reasonable lengths of file names.

>Loading zonefiles now fails on Solaris if a filename exceeds the used macro.

 

Addition:

The PATH_MAX macro does not exist on Windows, MAX_PATH does (but requires to include several Windows header files) and FILENAME_MAX is suitable.

So, FILENAME_MAX is probably the better choice, but may be, a

#if FILENAME_MAX < 260

#undef FILENAME_MAX

#define FILENAME_MAX 260

#endif

 

code part is needed? Then FILENAME_MAX is at a defined minimum value (of course, the limit of 260 is also quite an arbitrary choice).

 

Kees