Package: gftp
Version: 2.0.18-11
Severity: normal
Tags: patch

Some settings(append_transfers, view_program and network_timeout for
example) is not stored when gftp started on ja_JP locale.
Thus, those settings are reverted to the default value when start up the
gftp next time.

gftp writes a comment on each setting line in the config file.
However, if comment string is
1) includes no space(' '), and
2) length(bytes) of comment string is greater than 76
then needless '#' character will be appended after a comment line.
(In other words, needless '#' character will be placed on head of the
setting line.)

I have read the gftp's sources code, and I see this problem is
due to "write_comment" function in gftp-2.0.18/lib/config_file.c.
The code of text wrapping has small bug.
I have attached a patch to fix this problem.

regards,

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-2-k7
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)

Versions of packages gftp depends on:
ii  gftp-gtk                      2.0.18-11  X/GTK+ FTP client
ii  gftp-text                     2.0.18-11  colored FTP client using GLib

gftp recommends no packages.

-- no debconf information

diff -ru gftp-2.0.18.orig/lib/config_file.c gftp-2.0.18/lib/config_file.c
--- gftp-2.0.18.orig/lib/config_file.c	2005-12-25 04:30:16.000000000 +0900
+++ gftp-2.0.18/lib/config_file.c	2005-12-25 04:30:25.000000000 +0900
@@ -704,14 +704,14 @@
 	       endpos++);
 	}
       fwrite (pos, 1, endpos - pos, fd);
-      fwrite ("\n# ", 1, 3, fd);
+      fwrite ("\n", 1, 1, fd);
       if (*endpos == '\0')
 	{
 	  pos = endpos;
 	  break;
 	}
-      else
-	pos = endpos + 1;
+      pos = endpos + 1;
+      fwrite ("# ", 1, 2, fd);
     }
   if (strlen (pos) > 1)
     {

Reply via email to