changeset 274:4610d25d4abb

2003-9-21 Brian Masney <masneyb@gftp.org> * lib/local.c src/gtk/transfer.c src/text/gftp-text.c - if there is a dangling symlink in the current directory, don't bail out. This was causing directory listings to appear truncated. * configure.in - increment version to 2.0.16pre0
author masneyb
date Sun, 21 Sep 2003 16:50:49 +0000
parents cb7c1903bff3
children 5810b0f97eee
files ChangeLog configure.in lib/local.c src/gtk/transfer.c src/text/gftp-text.c
diffstat 5 files changed, 26 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Sep 21 16:21:37 2003 +0000
+++ b/ChangeLog	Sun Sep 21 16:50:49 2003 +0000
@@ -1,4 +1,10 @@
 2003-9-21 Brian Masney <masneyb@gftp.org>
+	* lib/local.c src/gtk/transfer.c src/text/gftp-text.c - if there is a
+	dangling symlink in the current directory, don't bail out. This was 
+	causing directory listings to appear truncated.
+
+	* configure.in - increment version to 2.0.16pre0
+
 	* lib/rfc959.c - if there is a login failure, return GFTP_ERETRYABLE
 	(from winkey <rush@winkey.oompah.org>)
 
@@ -6,6 +12,9 @@
 
 	configure.in: Added "az" in ALL_LINGUAS.
 
+2003-8-21 Brian Masney <masneyb@gftp.org>
+	* Officially released 2.0.15
+
 2003-8-20 Brian Masney <masneyb@gftp.org>
 	* lib/gftp.h lib/protocols.c - largefile fixes
 
@@ -1498,7 +1507,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.138 2003/09/21 16:21:35 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.139 2003/09/21 16:50:47 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/configure.in	Sun Sep 21 16:21:37 2003 +0000
+++ b/configure.in	Sun Sep 21 16:50:49 2003 +0000
@@ -3,7 +3,7 @@
 AC_INIT(lib/gftp.h)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(gftp,2.0.15)
+AM_INIT_AUTOMAKE(gftp,2.0.16pre0)
 
 AC_ARG_ENABLE(gtk20, 
               [  --disable-gtk20	  Don't look for GTK+ 2.0 libraries], 
--- a/lib/local.c	Sun Sep 21 16:21:37 2003 +0000
+++ b/lib/local.c	Sun Sep 21 16:50:49 2003 +0000
@@ -315,23 +315,15 @@
     {
       closedir (lpd->dir);
       lpd->dir = NULL;
-      return (GFTP_ERETRYABLE);
+      return (GFTP_EFATAL);
     }
 
   fle->file = g_strdup (dirp->d_name);
   if (lstat (fle->file, &st) != 0)
-    {
-      closedir (lpd->dir);
-      lpd->dir = NULL;
-      return (GFTP_ERETRYABLE);
-    }
+    return (GFTP_ERETRYABLE);
 
   if (stat (fle->file, &fst) != 0)
-    {
-      closedir (lpd->dir);
-      lpd->dir = NULL;
-      return (GFTP_ERETRYABLE);
-    }
+    return (GFTP_ERETRYABLE);
 
   if ((user = g_hash_table_lookup (lpd->userhash, 
                                    GUINT_TO_POINTER(st.st_uid))) != NULL)
--- a/src/gtk/transfer.c	Sun Sep 21 16:21:37 2003 +0000
+++ b/src/gtk/transfer.c	Sun Sep 21 16:50:49 2003 +0000
@@ -104,8 +104,15 @@
       request->gotbytes = 0; 
       havedotdot = 0; 
       fle = g_malloc0 (sizeof (*fle));
-      while ((got = gftp_get_next_file (request, NULL, fle)) > 0)
+      while ((got = gftp_get_next_file (request, NULL, fle)) > 0 ||
+             got == GFTP_ERETRYABLE)
         { 
+          if (got < 0)
+            {
+              gftp_file_destroy (fle);
+              continue;
+            }
+
           request->gotbytes += got;
           if (strcmp (fle->file, ".") == 0)
             {
--- a/src/text/gftp-text.c	Sun Sep 21 16:21:37 2003 +0000
+++ b/src/text/gftp-text.c	Sun Sep 21 16:50:49 2003 +0000
@@ -595,7 +595,7 @@
 {
   GList * files, * templist, * delitem;
   char *color, *filespec, *tempstr;
-  int sortcol, sortasds;
+  int sortcol, sortasds, got;
   gftp_file * fle;
   time_t curtime;
 
@@ -613,9 +613,10 @@
 
   files = NULL;
   fle = g_malloc0 (sizeof (*fle));
-  while (gftp_get_next_file (request, NULL, fle) > 0)
+  while ((got = gftp_get_next_file (request, NULL, fle)) > 0 ||
+         got == GFTP_ERETRYABLE)
     {
-      if (strcmp (fle->file, ".") == 0)
+      if (got < 0 || strcmp (fle->file, ".") == 0)
         {
           gftp_file_destroy (fle);
           continue;