You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bo...@apache.org on 2008/07/11 02:24:57 UTC

svn commit: r675816 - in /apr/apr-util/trunk: CHANGES misc/apu_dso.c

Author: bojan
Date: Thu Jul 10 17:24:57 2008
New Revision: 675816

URL: http://svn.apache.org/viewvc?rev=675816&view=rev
Log:
When searching for DSOs, look in apr-util-APU_MAJOR_VERSION subdirectory
of each component of APR_DSOPATH.
PR 45327

Modified:
    apr/apr-util/trunk/CHANGES
    apr/apr-util/trunk/misc/apu_dso.c

Modified: apr/apr-util/trunk/CHANGES
URL: http://svn.apache.org/viewvc/apr/apr-util/trunk/CHANGES?rev=675816&r1=675815&r2=675816&view=diff
==============================================================================
--- apr/apr-util/trunk/CHANGES [utf-8] (original)
+++ apr/apr-util/trunk/CHANGES [utf-8] Thu Jul 10 17:24:57 2008
@@ -19,6 +19,10 @@
   *) Detection of PostgreSQL may fail if LIBS contains all libs returned by
      pg_config. Use it only as the last resort. [Bojan Smojver]
 
+  *) When searching for DSOs, look in apr-util-APU_MAJOR_VERSION subdirectory
+     of each component of APR_DSOPATH. PR 45327
+     [Joe Orton, William Rowe, Bojan Smojver]
+
 Changes with APR-util 1.3.0
 
   *) apr_reslist: destroy all resources in apr_cleanup.

Modified: apr/apr-util/trunk/misc/apu_dso.c
URL: http://svn.apache.org/viewvc/apr/apr-util/trunk/misc/apu_dso.c?rev=675816&r1=675815&r2=675816&view=diff
==============================================================================
--- apr/apr-util/trunk/misc/apu_dso.c (original)
+++ apr/apr-util/trunk/misc/apu_dso.c Thu Jul 10 17:24:57 2008
@@ -162,6 +162,19 @@
         if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */
             break;
         }
+        else if (i < paths->nelts - 1) {
+             /* try with apr-util-APU_MAJOR_VERSION appended */
+            eos = apr_cpystrn(eos,
+                              "apr-util-" APU_STRINGIFY(APU_MAJOR_VERSION) "/",
+                              sizeof(path) - (eos - path));
+
+            apr_cpystrn(eos, module, sizeof(path) - (eos - path));
+
+            rv = apr_dso_load(&dlhandle, path, global);
+            if (rv == APR_SUCCESS) { /* APR_EDSOOPEN */
+                break;
+            }
+        }
     }
 
     if (rv != APR_SUCCESS) /* APR_ESYMNOTFOUND */