aboutsummaryrefslogtreecommitdiff
path: root/auto/unix
diff options
context:
space:
mode:
Diffstat (limited to 'auto/unix')
-rw-r--r--auto/unix40
1 files changed, 14 insertions, 26 deletions
diff --git a/auto/unix b/auto/unix
index ff9697a4e..9c402e787 100644
--- a/auto/unix
+++ b/auto/unix
@@ -727,56 +727,44 @@ ngx_feature_test="char buf[1]; struct iovec vec[1]; ssize_t n;
. auto/feature
-ngx_feature="sys_nerr"
-ngx_feature_name="NGX_SYS_NERR"
-ngx_feature_run=value
-ngx_feature_incs='#include <errno.h>
- #include <stdio.h>'
+# strerrordesc_np(), introduced in glibc 2.32
+
+ngx_feature="strerrordesc_np()"
+ngx_feature_name="NGX_HAVE_STRERRORDESC_NP"
+ngx_feature_run=no
+ngx_feature_incs='#include <string.h>'
ngx_feature_path=
ngx_feature_libs=
-ngx_feature_test='printf("%d", sys_nerr);'
+ngx_feature_test="char *p; p = strerrordesc_np(0);
+ if (p == NULL) return 1"
. auto/feature
if [ $ngx_found = no ]; then
- # Cygiwn defines _sys_nerr
- ngx_feature="_sys_nerr"
+ ngx_feature="sys_nerr"
ngx_feature_name="NGX_SYS_NERR"
ngx_feature_run=value
ngx_feature_incs='#include <errno.h>
#include <stdio.h>'
ngx_feature_path=
ngx_feature_libs=
- ngx_feature_test='printf("%d", _sys_nerr);'
+ ngx_feature_test='printf("%d", sys_nerr);'
. auto/feature
fi
if [ $ngx_found = no ]; then
- # Solaris has no sys_nerr
- ngx_feature='maximum errno'
- ngx_feature_name=NGX_SYS_NERR
+ # Cygiwn defines _sys_nerr
+ ngx_feature="_sys_nerr"
+ ngx_feature_name="NGX_SYS_NERR"
ngx_feature_run=value
ngx_feature_incs='#include <errno.h>
- #include <string.h>
#include <stdio.h>'
ngx_feature_path=
ngx_feature_libs=
- ngx_feature_test='int n;
- char *p;
- for (n = 1; n < 1000; n++) {
- errno = 0;
- p = strerror(n);
- if (errno == EINVAL
- || p == NULL
- || strncmp(p, "Unknown error", 13) == 0)
- {
- break;
- }
- }
- printf("%d", n);'
+ ngx_feature_test='printf("%d", _sys_nerr);'
. auto/feature
fi