Fallbacks for absent NAME_MAX and PATH_MAX (#455)

* Fallbacks for absent NAME_MAX and PATH_MAX

Certainly NAME_MAX isn't guaranteed to exist and on (some versions of?)
Illumos and SmartOS it doesn't, so provide some reasonably accommodating
fallbacks.

* Smaller limits

* Remove now redundant PATH_MAX definition for Hurd
This commit is contained in:
Sijmen J. Mulder 2020-01-29 14:31:07 +01:00 committed by GitHub
parent c434d8d4bc
commit 46fc9c983c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 3 deletions

View File

@ -74,9 +74,6 @@
#include <fcntl.h>
#include <libgen.h>
#include <limits.h>
#ifdef __gnu_hurd__
#define PATH_MAX 4096
#endif
#ifndef NOLOCALE
#include <locale.h>
#endif
@ -118,6 +115,18 @@
#define S_BLKSIZE 512 /* S_BLKSIZE is missing on Android NDK (Termux) */
#endif
/*
* NAME_MAX and PATH_MAX may not exist, e.g. with dirent.c_name being a
* flexible array on Illumos. Use somewhat accomodating fallback values.
*/
#ifndef NAME_MAX
#define NAME_MAX 255
#endif
#ifndef PATH_MAX
#define PATH_MAX 4096
#endif
#define _ABSSUB(N, M) (((N) <= (M)) ? ((M) - (N)) : ((N) - (M)))
#define DOUBLECLICK_INTERVAL_NS (400000000)
#define XDELAY_INTERVAL_MS (350000) /* 350 ms delay */