[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: gaf.git: branch: master updated (1.5.0-20080706-96-g7fcd7db)



The branch, master has been updated
       via  7fcd7db7e5b191a0d5024b129ee2c1cda64a82d7 (commit)
      from  cfefe89a2b974b9aaa7ff13cb054565c11045b34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 libgeda/src/f_basic.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)


=================
 Commit Messages
=================

commit 7fcd7db7e5b191a0d5024b129ee2c1cda64a82d7
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date:   Thu Aug 14 07:16:54 2008 +0100

    libgeda: More follow_symlinks() fixes.
    
    Make sure that follow_symlinks() plays nicely with files in the root
    directory, and also with relative paths to symlinks.

:100644 100644 6143ada... 0563f8c... M	libgeda/src/f_basic.c

=========
 Changes
=========

commit 7fcd7db7e5b191a0d5024b129ee2c1cda64a82d7
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date:   Thu Aug 14 07:16:54 2008 +0100

    libgeda: More follow_symlinks() fixes.
    
    Make sure that follow_symlinks() plays nicely with files in the root
    directory, and also with relative paths to symlinks.

diff --git a/libgeda/src/f_basic.c b/libgeda/src/f_basic.c
index 6143ada..0563f8c 100644
--- a/libgeda/src/f_basic.c
+++ b/libgeda/src/f_basic.c
@@ -648,18 +648,14 @@ char *follow_symlinks (const gchar *filename, GError **err)
 
     if (!g_path_is_absolute(linkname)) {
       gchar *slashpos = strrchr (followed_filename, G_DIR_SEPARATOR);
+      gchar *dirname = NULL;
       gchar *tmp = NULL;
 
-      /*! \bug The old version of this code *appeared* to turn
-       * absolute paths into relative ones for no good reason, so I
-       * changed it and tested it. If it is now broken, it's my
-       * fault. -- PTBB */
-      if (slashpos) {
-        *slashpos = '\0';
-      }
+      dirname = g_path_get_dirname(followed_filename);
 
-      tmp = g_build_filename (followed_filename, linkname, NULL);
+      tmp = g_build_filename (dirname, linkname, NULL);
       g_free (followed_filename);
+      g_free (dirname);
       g_free (linkname);
       followed_filename = tmp;
     } else {




_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs