currently in the z/OS specific implementation of dso.c it is returning errno
directly asis on several functions.
 It should be setting the returned status to expected values consistent with
the unix and other implementations.
This will also get testdso to pass on z/OS too.


Index: dso.c
===================================================================
--- dso.c       (revision 601360)
+++ dso.c       (working copy)
@@ -54,7 +54,7 @@
         return APR_SUCCESS;
     }
     dso->failing_errno = errno;
-    return errno;
+    return APR_EINIT;
 }

 APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle,
@@ -72,7 +72,7 @@
     }

     (*res_handle)->failing_errno = errno;
-    return errno;
+    return APR_EDSOOPEN;
 }

 APR_DECLARE(apr_status_t) apr_dso_unload(apr_dso_handle_t *handle)
@@ -96,7 +96,7 @@
         return APR_SUCCESS;
     }
     handle->failing_errno = errno;
-    return errno;
+    return APR_ESYMNOTFOUND;
 }

 APR_DECLARE(const char *) apr_dso_error(apr_dso_handle_t *handle, char
*buffer,

Attachment: dso.apache.patch
Description: Binary data

Reply via email to