ngx_strerror_r() style and size == 0 bug fix
diff --git a/src/os/unix/ngx_errno.c b/src/os/unix/ngx_errno.c
index a3addf0..a250f49 100644
--- a/src/os/unix/ngx_errno.c
+++ b/src/os/unix/ngx_errno.c
@@ -10,10 +10,11 @@
 
 #if (NGX_HAVE_STRERROR_R)
 
-u_char *ngx_strerror_r(int err, u_char *errstr, size_t size)
+u_char *
+ngx_strerror_r(int err, u_char *errstr, size_t size)
 {
     if (size == 0) {
-        return 0;
+        return errstr;
     }
 
     errstr[0] = '\0';
@@ -32,12 +33,13 @@
 
 /* Linux strerror_r() */
 
-u_char *ngx_strerror_r(int err, u_char *errstr, size_t size)
+u_char *
+ngx_strerror_r(int err, u_char *errstr, size_t size)
 {
     char  *str;
 
     if (size == 0) {
-        return 0;
+        return errstr;
     }
 
     errstr[0] = '\0';
diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c
index 268ed52..12af325 100644
--- a/src/os/win32/ngx_errno.c
+++ b/src/os/win32/ngx_errno.c
@@ -91,7 +91,8 @@
 };
 
 
-u_char *ngx_strerror_r(ngx_err_t err, u_char *errstr, size_t size)
+u_char *
+ngx_strerror_r(ngx_err_t err, u_char *errstr, size_t size)
 {
     int        n;
     u_int      len;