diff lib/config_file.c @ 605:b60dad25b641

2004-11-1 Brian Masney <masneyb@gftp.org> * lib/config_file.c (gftp_add_bookmark) - if the bookmark path ends in /, then force the entry to be a folder
author masneyb
date Tue, 02 Nov 2004 01:45:20 +0000
parents 0a1d03fa2261
children f946521bb2f2
line wrap: on
line diff
--- a/lib/config_file.c	Tue Nov 02 01:33:26 2004 +0000
+++ b/lib/config_file.c	Tue Nov 02 01:45:20 2004 +0000
@@ -79,29 +79,38 @@
       curpos++;
     }
 
-  /* Get the parent node */
-  if ((curpos = strrchr (newentry->path, '/')) == NULL)
-    preventry = gftp_bookmarks;
+  if (newentry->path[strlen (newentry->path) - 1] == '/')
+    {
+      newentry->path[strlen (newentry->path) - 1] = '\0';
+      newentry->isfolder = 1;
+    }
   else
     {
-      *curpos = '\0';
-      preventry = (gftp_bookmarks_var *)
-	g_hash_table_lookup (gftp_bookmarks_htable, newentry->path);
-      *curpos = '/';
-    }
+      /* Get the parent node */
+      if ((curpos = strrchr (newentry->path, '/')) == NULL)
+        preventry = gftp_bookmarks;
+      else
+        {
+          *curpos = '\0';
+          preventry = (gftp_bookmarks_var *)
+    	g_hash_table_lookup (gftp_bookmarks_htable, newentry->path);
+          *curpos = '/';
+        }
+    
+      if (preventry->children != NULL)
+        {
+          endentry = preventry->children;
+          while (endentry->next != NULL)
+    	endentry = endentry->next;
+          endentry->next = newentry;
+        }
+      else
+        preventry->children = newentry;
 
-  if (preventry->children != NULL)
-    {
-      endentry = preventry->children;
-      while (endentry->next != NULL)
-	endentry = endentry->next;
-      endentry->next = newentry;
+      newentry->prev = preventry;
+      newentry->next = NULL;
+      g_hash_table_insert (gftp_bookmarks_htable, newentry->path, newentry);
     }
-  else
-    preventry->children = newentry;
-  newentry->prev = preventry;
-  newentry->next = NULL;
-  g_hash_table_insert (gftp_bookmarks_htable, newentry->path, newentry);
 }