fix r3822
Solaris strerror() invalid error code behaviour depends on version:
    Solaris 10 returns "Unknown error" and sets errno to EINVAL,
    Solaris 9 returns "Unknown error" and leaves errno intact,
    Solaris 2 returns NULL.
diff --git a/auto/unix b/auto/unix
index ee284e1..fadf7dd 100755
--- a/auto/unix
+++ b/auto/unix
@@ -141,14 +141,19 @@
     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;
-                          strerror(n);
-                          if (errno == EINVAL) {
+                          p = strerror(n);
+                          if (errno == EINVAL
+                              || p == NULL
+                              || strncmp(p, "Unknown error", 13) == 0)
+                          {
                               printf("%d", n);
                               return 0;
                           }