changeset 444:d469882002d9

2004-3-21 Brian Masney <masneyb@gftp.org> * src/gtk/view_dialog.c src/gtk/menu-items.c - cleanups to the view log code
author masneyb
date Sun, 21 Mar 2004 13:22:41 +0000
parents 6b1e4bd20ae4
children 954ab701fb55
files ChangeLog src/gtk/menu-items.c src/gtk/view_dialog.c
diffstat 3 files changed, 19 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Mar 21 12:26:18 2004 +0000
+++ b/ChangeLog	Sun Mar 21 13:22:41 2004 +0000
@@ -1,4 +1,7 @@
 2004-3-21 Brian Masney <masneyb@gftp.org>
+	* src/gtk/view_dialog.c src/gtk/menu-items.c - cleanups to the view
+	log code
+
 	* src/uicommon/gftpuicallbacks.c (gftpui_common_run_ls) - if there
 	is an error, make sure that the exact error code is returned
 
@@ -2361,7 +2364,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.248 2004/03/21 12:26:15 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.249 2004/03/21 13:22:40 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/src/gtk/menu-items.c	Sun Mar 21 12:26:18 2004 +0000
+++ b/src/gtk/menu-items.c	Sun Mar 21 13:22:41 2004 +0000
@@ -288,7 +288,7 @@
   textbuf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logwdw));
   len = gtk_text_buffer_get_char_count (textbuf);
   gtk_text_buffer_get_iter_at_offset (textbuf, &iter, 0);
-  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, len - 1);
+  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, len);
   gtk_text_buffer_delete (textbuf, &iter, &iter2);
 #endif
 }
@@ -316,7 +316,6 @@
       return;
     }
   chmod (tempstr, S_IRUSR | S_IWUSR);
-  unlink (tempstr);
   
 #if GTK_MAJOR_VERSION == 1
   textlen = gtk_text_get_length (GTK_TEXT (logwdw));
@@ -325,11 +324,12 @@
   textbuf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logwdw));
   textlen = gtk_text_buffer_get_char_count (textbuf);
   gtk_text_buffer_get_iter_at_offset (textbuf, &iter, 0);
-  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, textlen - 1);
+  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, textlen);
   txt = gtk_text_buffer_get_text (textbuf, &iter, &iter2, 0);
 #endif
   pos = txt;
-  do 
+
+  while (textlen > 0)
     {
       if ((len = write (fd, pos, textlen)) == -1)
         { 
@@ -340,11 +340,13 @@
         }
       textlen -= len;
       pos += len;
-    } while (textlen > 0);
+    }
 
+  fsync (fd);
   lseek (fd, 0, SEEK_SET);
-  view_file (tempstr, fd, 1, 0, 0, 1, NULL, NULL);
+  view_file (tempstr, fd, 1, 1, 0, 1, NULL, NULL);
   close (fd);
+
   g_free (tempstr);
   g_free (txt);
 }
@@ -380,7 +382,7 @@
   textbuf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logwdw));
   textlen = gtk_text_buffer_get_char_count (textbuf);
   gtk_text_buffer_get_iter_at_offset (textbuf, &iter, 0);
-  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, textlen - 1);
+  gtk_text_buffer_get_iter_at_offset (textbuf, &iter2, textlen);
   txt = gtk_text_buffer_get_text (textbuf, &iter, &iter2, 0);
 #endif
 
@@ -589,7 +591,7 @@
 			       no_license_agreement, -1);
 #else
               textlen = gtk_text_buffer_get_char_count (textbuf);
-              gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen - 1);
+              gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen);
               gtk_text_buffer_insert (textbuf, &iter, no_license_agreement, -1);
 #endif
 	      gtk_widget_show (dialog);
@@ -605,7 +607,7 @@
 		       no_license_agreement, -1);
 #else
       textlen = gtk_text_buffer_get_char_count (textbuf);
-      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen - 1);
+      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen);
       gtk_text_buffer_insert (textbuf, &iter, no_license_agreement, -1);
 #endif
       gtk_widget_show (dialog);
@@ -622,7 +624,7 @@
       gtk_text_insert (GTK_TEXT (view), NULL, NULL, NULL, buf, -1);
 #else
       textlen = gtk_text_buffer_get_char_count (textbuf);
-      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen - 1);
+      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, textlen);
       gtk_text_buffer_insert (textbuf, &iter, buf, -1);
 #endif
     }
--- a/src/gtk/view_dialog.c	Sun Mar 21 12:26:18 2004 +0000
+++ b/src/gtk/view_dialog.c	Sun Mar 21 13:22:41 2004 +0000
@@ -415,7 +415,7 @@
 #endif
 
   buf[sizeof (buf) - 1] = '\0';
-  while ((n = read (fd, buf, sizeof (buf) - 1)))
+  while ((n = read (fd, buf, sizeof (buf) - 1)) > 0)
     {
       buf[n] = '\0';
 #if GTK_MAJOR_VERSION == 1
@@ -423,8 +423,8 @@
 #else
       textbuf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
       len = gtk_text_buffer_get_char_count (textbuf);
-      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, len - 1);
-      gtk_text_buffer_insert (textbuf, &iter, buf, -1);
+      gtk_text_buffer_get_iter_at_offset (textbuf, &iter, len);
+      gtk_text_buffer_insert (textbuf, &iter, buf, n);
 #endif
     }