dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnet ChangeLog image/link.c


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog image/link.c
Date: Sun, 03 Aug 2008 11:31:42 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      08/08/03 11:31:42

Modified files:
        .              : ChangeLog 
        image          : link.c 

Log message:
        Fix a compiler warning and look for libraries with a cyg prefix on 
cygwin too.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3550&r2=1.3551
http://cvs.savannah.gnu.org/viewcvs/pnet/image/link.c?cvsroot=dotgnu-pnet&r1=1.38&r2=1.39

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3550
retrieving revision 1.3551
diff -u -b -r1.3550 -r1.3551
--- ChangeLog   31 Jul 2008 20:24:31 -0000      1.3550
+++ ChangeLog   3 Aug 2008 11:31:41 -0000       1.3551
@@ -1,3 +1,11 @@
+2008-08-03  Klaus Treichel  <address@hidden>
+
+       * image/link.c (TestPathForFile): Avoid adding an additional path 
separator
+       if the last character in the path is allready one.
+       (ILPinvokeResolveModule): Fix a compiler warning (posn is used only on 
non
+       windows platforms). Look for the libraries starting with cyg instead of 
lib
+       on cygwin systems too. 
+
 2008-07-31  Klaus Treichel  <address@hidden>
 
        * support/hb_gc.c (ILGCRunFunc): Use the new functions for registering

Index: image/link.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/link.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- image/link.c        23 Dec 2005 07:04:59 -0000      1.38
+++ image/link.c        3 Aug 2008 11:31:42 -0000       1.39
@@ -271,11 +271,18 @@
        if(pathlen)
        {
                ILMemCpy(path, pathname, pathlen);
+               if(path[pathlen - 1] != '/' && path[pathlen - 1] != '\\')
+               {
                path[pathlen] = '/';
                posn = pathlen + 1;
        }
        else
        {
+                       posn = pathlen;
+               }
+       }
+       else
+       {
                posn = 0;
        }
        if(prefix)
@@ -1362,7 +1369,9 @@
        const char *name;
        const char *remapName;
        int namelen;
+#ifndef IL_WIN32_PLATFORM
        int posn;
+#endif
        char *baseName;
        char *fullName;
        const char *optPrefix = 0;
@@ -1482,6 +1491,33 @@
                return fullName;
        }
 
+#ifdef IL_WIN32_CYGWIN
+       /* retry with the cygwin library prefix cyg */
+       if(namelen >= 3 && strncmp(name, "lib", 3) != 0)
+       {
+               ILFree(baseName);
+               optPrefix = "cyg";
+               baseName = ILDupNString(name + 3, namelen - 3);
+
+               /* Search the path for the name, without remappings */
+               fullName = PInvokeSearchPath(pinvoke, baseName, optPrefix, 
suffix);
+               if(fullName)
+               {
+                       return fullName;
+               }
+       }
+       ILFree(baseName);
+       optPrefix = "cyg";
+       baseName = ILDupNString(name, namelen);
+
+       /* Search the path for the name, without remappings */
+       fullName = PInvokeSearchPath(pinvoke, baseName, optPrefix, suffix);
+       if(fullName)
+       {
+               return fullName;
+       }
+#endif
+
        /* Try the "pinvoke.map" files to see if we have a remapping */
        dir = mapDirs;
        while(dir != 0)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]