On Mon, Jun 02, 2003 at 06:49:15PM +0200, Rasmus Meldgaard wrote:
> I am reading up on libtools, but I can't understand what is the
> differs between: lt_dladdsearchdir(dir) and
> lt_dlinsertsearchdir(lt_dlgetsearchpath(), dir)

lt_dladdsearhdir: newpath=oldpath:dir
lt_dlinsertsearchdir: newpath=partofoldpath:dir:restofoldpath
in this particular case: newpath=dir:oldpath

Attached is a patch that does it the hard and bloated way if
CF_LTDL_ANCIENT is defined.

-- 
Tuomo
--- ../releases/ion-devel-20030602-1/ioncore/readconfig.c       2003-06-02 
13:04:00.000000000 +0300
+++ ioncore/readconfig.c        2003-06-02 20:34:20.000000000 +0300
@@ -72,7 +72,28 @@
 
 bool ioncore_add_moduledir(const char *dir)
 {
+#ifndef CF_LTDL_ANCIENT
        return (lt_dlinsertsearchdir(lt_dlgetsearchpath(), dir)==0);
+#else
+       const char *oldpath;
+       char *newpath;
+       bool ret;
+       
+       oldpath=lt_dlgetsearchpath();
+       if(oldpath==NULL){
+               return (lt_dlsetsearchpath(dir)==0);
+       }else{
+               libtu_asprintf(&newpath, "%s:%s", dir, oldpath);
+               if(newpath==NULL){
+                       warn_err();
+                       return FALSE;
+               }else{
+                       ret=(lt_dlsetsearchpath(newpath)==0);
+                       free(newpath);
+                       return ret;
+               }
+       }
+#endif
 }
 
 

Reply via email to