changeset 518:c6a6e908dbaf

2004-7-27 Brian Masney <masneyb@gftp.org> * lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c src/gtk/bookmarks.c src/gtk/dnd.c src/gtk/gftp-gtk.c src/gtk/gtui.c src/gtk/menu-items.c src/misc-gtk.c src/gtk/options_dialog.c src/gtk/transfer.c src/text/gftp-text.c src/uicommon/gftpui.c - various fixes found through a static code analysis. (some signed/unsigned fixes, removed unneeded casts, indentation fixes, added static declaration to some functions)
author masneyb
date Wed, 28 Jul 2004 01:37:15 +0000
parents 648bf2825ea9
children c3edcd3e9db9
files ChangeLog lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c src/gtk/bookmarks.c src/gtk/dnd.c src/gtk/gftp-gtk.c src/gtk/gtkui.c src/gtk/menu-items.c src/gtk/misc-gtk.c src/gtk/options_dialog.c src/gtk/transfer.c src/text/gftp-text.c src/uicommon/gftpui.c
diffstat 15 files changed, 177 insertions(+), 159 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Jul 27 20:43:39 2004 +0000
+++ b/ChangeLog	Wed Jul 28 01:37:15 2004 +0000
@@ -1,4 +1,12 @@
 2004-7-27 Brian Masney <masneyb@gftp.org>
+	* lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c
+	src/gtk/bookmarks.c src/gtk/dnd.c src/gtk/gftp-gtk.c src/gtk/gtui.c
+	src/gtk/menu-items.c src/misc-gtk.c src/gtk/options_dialog.c 
+	src/gtk/transfer.c src/text/gftp-text.c src/uicommon/gftpui.c - 
+	various fixes found through a static code analysis. (some
+	signed/unsigned fixes, removed unneeded casts, indentation fixes, 
+	added static declaration to some functions)
+
 	* lib/rfc2068.c lib/sshv2.c src/gtk/bookmarks.c src/gtk/chmod_dialog.c
 	src/gtk/gtkui.c src/gtk/transfer.c src/uicommon/gftpui.c - removed
 	unused variables
@@ -2659,7 +2667,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.295 2004/07/27 20:43:39 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.296 2004/07/28 01:37:15 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/lib/protocols.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/lib/protocols.c	Wed Jul 28 01:37:15 2004 +0000
@@ -339,7 +339,7 @@
 }
 
 
-mode_t
+mode_t /* FIXME - this is unsigned, can return negative */
 gftp_stat_filename (gftp_request * request, const char *filename)
 {
   mode_t ret;
@@ -705,8 +705,9 @@
 {
   char *pos, *endpos, *endhostpos, tempchar, *default_protocol, *stpos;
   gftp_logging_func logging_function;
-  int len, i, init_ret;
   const char *cpos;
+  int i, init_ret;
+  size_t len;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (url != NULL, GFTP_EFATAL);
@@ -1041,7 +1042,7 @@
 
 static int
 gftp_need_proxy (gftp_request * request, char *service, char *proxy_hostname, 
-                 int proxy_port)
+                 unsigned int proxy_port)
 {
   gftp_config_list_vars * proxy_hosts;
   gftp_proxy_hosts * hostname;
@@ -2501,7 +2502,8 @@
 
   errno = 0;
   ret = 0;
-  do
+
+  while (1)
     {
       FD_ZERO (&fset);
       FD_SET (fd, &fset);
@@ -2535,7 +2537,7 @@
                 break;
               else
                 continue;
-             }
+            }
  
           if (request != NULL)
             {
@@ -2546,8 +2548,8 @@
             }
           return (GFTP_ERETRYABLE);
         }
+      break;
     }
-  while (errno == EINTR && !(request != NULL && request->cancel));
 
   if (errno == EINTR && request != NULL && request->cancel)
     {
--- a/lib/rfc2068.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/lib/rfc2068.c	Wed Jul 28 01:37:15 2004 +0000
@@ -308,7 +308,7 @@
 #if defined (_LARGEFILE_SOURCE)
       request->logging_function (gftp_logging_misc, request,
                               _("Starting the file transfer at offset %lld\n"),
-                              (long long) startsize);
+                              startsize);
 
       oldstr = tempstr;
       tempstr = g_strdup_printf ("%sRange: bytes=%lld-\n", tempstr, startsize);
@@ -607,7 +607,7 @@
 {
   rfc2068_params * params;
   char tempstr[8192];
-  ssize_t len;
+  size_t len;
   int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
--- a/lib/rfc959.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/lib/rfc959.c	Wed Jul 28 01:37:15 2004 +0000
@@ -353,8 +353,8 @@
 static int
 rfc959_chdir (gftp_request * request, const char *directory)
 {
-  char ret, *tempstr;
-  int r;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (directory != NULL, GFTP_EFATAL);
@@ -375,8 +375,8 @@
 
   if (directory != request->directory)
     {
-      if ((r = rfc959_getcwd (request)) < 0)
-        return (r);
+      if ((ret = rfc959_getcwd (request)) < 0)
+        return (ret);
     }
 
   return (0);
@@ -430,9 +430,9 @@
 rfc959_connect (gftp_request * request)
 {
   char tempchar, *startpos, *endpos, *tempstr, *email, *proxy_hostname, *utf8;
-  int ret, resp;
   intptr_t ascii_transfers, proxy_port;
   rfc959_parms * parms;
+  int ret, resp;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (request->hostname != NULL, GFTP_EFATAL);
@@ -611,14 +611,14 @@
 static int
 rfc959_ipv4_data_connection_new (gftp_request * request)
 {
-  char *pos, *pos1, resp, *command;
   struct sockaddr_in data_addr;
-  int i;
+  char *pos, *pos1, *command;
   intptr_t passive_transfer;
   rfc959_parms * parms;
   socklen_t data_addr_len;
   unsigned int temp[6];
   unsigned char ad[6];
+  int i, resp;
 
   parms = request->protocol_data;
 
@@ -768,12 +768,13 @@
 static int
 rfc959_ipv6_data_connection_new (gftp_request * request)
 {
-  char *pos, resp, buf[64], *command;
   struct sockaddr_in6 data_addr;
+  char *pos, buf[64], *command;
   intptr_t passive_transfer;
   socklen_t data_addr_len;
   rfc959_parms * parms;
   unsigned int port;
+  int resp;
 
   parms = request->protocol_data;
   if ((parms->data_connection = socket (AF_INET6, SOCK_STREAM, IPPROTO_TCP)) < 0)
@@ -989,9 +990,9 @@
 {
   gftp_config_list_vars * tmplistvar;
   gftp_file_extensions * tempext;
-  int stlen;
   intptr_t ascii_transfers;
   GList * templist;
+  size_t stlen;
   
   gftp_lookup_global_option ("ext", &tmplistvar);
   gftp_lookup_request_option (request, "ascii_transfers", &ascii_transfers);
@@ -1053,10 +1054,10 @@
 rfc959_get_file (gftp_request * request, const char *filename, int fd,
                  off_t startsize)
 {
-  char *command, *tempstr, resp;
-  int ret;
+  char *command, *tempstr;
   intptr_t passive_transfer;
   rfc959_parms * parms;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (filename != NULL, GFTP_EFATAL);
@@ -1083,12 +1084,12 @@
 #else
       command = g_strdup_printf ("REST %ld\r\n", startsize); 
 #endif
-      resp = rfc959_send_command (request, command, 1);
+      ret = rfc959_send_command (request, command, 1);
       g_free (command);
 
-      if (resp < 0)
-        return (resp);
-      else if (resp != '3')
+      if (ret < 0)
+        return (ret);
+      else if (ret != '3')
         {
           close (parms->data_connection);
           parms->data_connection = -1;
@@ -1131,8 +1132,8 @@
 rfc959_put_file (gftp_request * request, const char *filename, int fd,
                  off_t startsize, off_t totalsize)
 {
-  char *command, *tempstr, resp;
   intptr_t passive_transfer;
+  char *command, *tempstr;
   rfc959_parms * parms;
   int ret;
 
@@ -1161,11 +1162,11 @@
 #else
       command = g_strdup_printf ("REST %ld\r\n", startsize); 
 #endif
-      resp = rfc959_send_command (request, command, 1);
+      ret = rfc959_send_command (request, command, 1);
       g_free (command);
-      if (resp < 0)
-        return (resp);
-      else if (resp != '3')
+      if (ret < 0)
+        return (ret);
+      else if (ret != '3')
         {
           close (parms->data_connection);
           parms->data_connection = -1;
@@ -1328,9 +1329,9 @@
 static int
 rfc959_list_files (gftp_request * request)
 {
-  int ret;
   intptr_t show_hidden_files, resolve_symlinks, passive_transfer;
   char *tempstr, parms[3];
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL);
@@ -1506,7 +1507,7 @@
       if (len <= 0)
 	{
           gftp_file_destroy (fle);
-	  return ((int) len);
+	  return (len);
 	} 
 
       if (gftp_parse_ls (request, tempstr, fle, fd) != 0)
@@ -1559,7 +1560,8 @@
 static int
 rfc959_rmdir (gftp_request * request, const char *directory)
 {
-  char *tempstr, ret;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (directory != NULL, GFTP_EFATAL);
@@ -1581,7 +1583,8 @@
 static int
 rfc959_rmfile (gftp_request * request, const char *file)
 {
-  char *tempstr, ret;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (file != NULL, GFTP_EFATAL);
@@ -1603,7 +1606,8 @@
 static int
 rfc959_mkdir (gftp_request * request, const char *directory)
 {
-  char *tempstr, ret;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (directory != NULL, GFTP_EFATAL);
@@ -1626,7 +1630,8 @@
 rfc959_rename (gftp_request * request, const char *oldname,
 	       const char *newname)
 {
-  char *tempstr, ret;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (oldname != NULL, GFTP_EFATAL);
@@ -1658,8 +1663,9 @@
 static int
 rfc959_chmod (gftp_request * request, const char *file, mode_t mode)
 {
-  char *tempstr, ret;
+  char *tempstr;
   size_t len;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (file != NULL, GFTP_EFATAL);
@@ -1683,7 +1689,8 @@
 static int
 rfc959_site (gftp_request * request, int specify_site, const char *command)
 {
-  char *tempstr, ret;
+  char *tempstr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (command != NULL, GFTP_EFATAL);
@@ -1732,7 +1739,8 @@
 static int
 rfc959_set_file_time (gftp_request * request, const char *file, time_t datetime)
 {
-  char *tempstr, *datestr, ret;
+  char *tempstr, *datestr;
+  int ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (file != NULL, GFTP_EFATAL);
--- a/lib/sshv2.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/lib/sshv2.c	Wed Jul 28 01:37:15 2004 +0000
@@ -69,9 +69,9 @@
   char handle[SSH_MAX_HANDLE_SIZE + 4], /* We'll encode the ID in here too */
        *read_buffer;
 
-  gint32 handle_len,
-         id,
+  gint32 id,
          count;
+  size_t handle_len;
   sshv2_message message;
 
   unsigned int initialized : 1,
@@ -493,20 +493,6 @@
 }
 
 
-#ifdef G_HAVE_GINT64
-
-static gint64
-hton64 (gint64 val)
-{
-  if (G_BYTE_ORDER != G_BIG_ENDIAN)
-    return (GINT64_TO_BE (val));
-  else
-    return (val);
-}
-
-#endif
-
-
 static void
 sshv2_log_command (gftp_request * request, gftp_logging_level level,
                    char type, char *message, size_t length)
@@ -710,7 +696,8 @@
 {
   char buf[6], error_buffer[255], *pos;
   sshv2_params * params;
-  ssize_t numread, rem;
+  ssize_t numread;
+  size_t rem;
 
   params = request->protocol_data;
 
@@ -1853,6 +1840,40 @@
 }
 
 
+#ifdef G_HAVE_GINT64
+
+static gint64
+hton64 (gint64 val)
+{
+  if (G_BYTE_ORDER != G_BIG_ENDIAN)
+    return (GINT64_TO_BE (val));
+  else
+    return (val);
+}
+
+#endif
+
+
+static void
+sshv2_setup_file_offset (sshv2_params * params)
+{
+  guint32 hinum, lownum;
+#ifdef G_HAVE_GINT64
+  gint64 offset;
+
+  offset = hton64 (params->offset);
+  lownum = offset & 0xffffffff;
+  hinum = offset >> 32;
+#else
+  hinum = 0;
+  lownum = htonl (params->offset);
+#endif
+
+  memcpy (params->read_buffer + params->handle_len, &hinum, 4);
+  memcpy (params->read_buffer + params->handle_len + 4, &lownum, 4);
+}
+
+
 static ssize_t 
 sshv2_get_next_file_chunk (gftp_request * request, char *buf, size_t size)
 {
@@ -1861,12 +1882,6 @@
   guint32 num;
   int ret;
 
-#ifdef G_HAVE_GINT64
-  gint64 offset;
-#else
-  gint32 offset;
-#endif
-
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, GFTP_EFATAL);
   g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL);
@@ -1884,15 +1899,8 @@
   num = htonl (params->id++);
   memcpy (params->read_buffer, &num, 4);
 
-#ifdef G_HAVE_GINT64
-  offset = hton64 (params->offset);
-  memcpy (params->read_buffer + params->handle_len, &offset, 8);
-#else
-  memset (params->read_buffer + params->handle_len, 0, 4);
-  offset = htonl (params->offset);
-  memcpy (params->read_buffer + params->handle_len + 4, &offset, 4);
-#endif
-  
+  sshv2_setup_file_offset (params);
+
   num = htonl (size);
   memcpy (params->read_buffer + params->handle_len + 8, &num, 4);
   
@@ -1949,12 +1957,6 @@
   size_t len;
   int ret;
 
-#ifdef G_HAVE_GINT64
-  gint64 offset;
-#else
-  gint32 offset;
-#endif
-
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, GFTP_EFATAL);
   g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL);
@@ -1968,14 +1970,7 @@
   num = htonl (params->id++);
   memcpy (tempstr, &num, 4);
 
-#ifdef G_HAVE_GINT64
-  offset = hton64 (params->offset);
-  memcpy (tempstr + params->handle_len, &offset, 8);
-#else
-  memset (tempstr + params->handle_len, 0, 4);
-  offset = htonl (params->offset);
-  memcpy (tempstr + params->handle_len + 4, &offset, 4);
-#endif
+  sshv2_setup_file_offset (params);
  
   num = htonl (size);
   memcpy (tempstr + params->handle_len + 8, &num, 4);
--- a/src/gtk/bookmarks.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/bookmarks.c	Wed Jul 28 01:37:15 2004 +0000
@@ -326,8 +326,8 @@
 		{
 		  tempstr = g_strdup_printf ("/Bookmarks/%s", 
                                              delentry->path);
-                    gtk_widget_destroy (gtk_item_factory_get_item (factory, 
-                                                                   tempstr));
+                  gtk_widget_destroy (gtk_item_factory_get_item (factory, 
+                                                                 tempstr));
 		  g_free (delentry->path);
 		  g_free (tempstr);
 		  g_free (delentry);
@@ -675,8 +675,8 @@
   char *pos, *newpath, tempchar, *tempstr, *origpath;
   gftp_bookmarks_var * tempentry, * nextentry;
   GtkWidget * tempwid;
+  size_t oldpathlen;
   const char *str;
-  int oldpathlen;
 
   oldpathlen = strlen (entry->path);
   if ((pos = strrchr (entry->path, '/')) == NULL)
@@ -754,7 +754,7 @@
 	{
 	  g_hash_table_remove (new_bookmarks_htable, tempentry->path);
 
-          if (tempentry->path + oldpathlen == '\0')
+          if (*(tempentry->path + oldpathlen) == '\0')
 	    tempstr = g_strdup (newpath);
           else
 	    tempstr = gftp_build_path (newpath, tempentry->path + oldpathlen, NULL);
--- a/src/gtk/dnd.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/dnd.c	Wed Jul 28 01:37:15 2004 +0000
@@ -24,19 +24,19 @@
 static int
 dnd_remote_file (gftp_window_data * wdata, GList ** trans_list, char *url)
 {
-  gftp_window_data * other_wdata, * fromwdata;
   gftp_request * current_ftpdata;
+  gftp_window_data * fromwdata;
   gftp_transfer * tdata;
   gftp_file * newfle;
   GList * templist;
   char *pos;
 
   if (wdata == &window1)
-    other_wdata = &window2;
+    fromwdata = &window2;
   else if (wdata == &window2)
-    other_wdata = &window1;
+    fromwdata = &window1;
   else 
-    other_wdata = NULL;
+    fromwdata = NULL;
     
   newfle = g_malloc0 (sizeof (*newfle));
   newfle->shown = 1;
@@ -66,13 +66,11 @@
       return (0);
     }
 
-  if (other_wdata != NULL && 
-      compare_request (current_ftpdata, other_wdata->request, 0))
+  if (fromwdata != NULL && 
+      compare_request (current_ftpdata, fromwdata->request, 0))
     {
-      if (other_wdata->request->password != NULL)
-        gftp_set_password (current_ftpdata, other_wdata->request->password);
-
-      fromwdata = other_wdata;
+      if (fromwdata->request->password != NULL)
+        gftp_set_password (current_ftpdata, fromwdata->request->password);
     }
   else
     fromwdata = NULL;
@@ -83,6 +81,7 @@
   
   newfle->destfile = gftp_build_path (wdata->request->directory, pos, NULL);
 
+  tdata = NULL;
   for (templist = *trans_list; templist != NULL; templist = templist->next)
     {
       tdata = templist->data;
@@ -90,7 +89,7 @@
         break;
     }
 
-  if (templist == NULL)
+  if (templist == NULL || tdata == NULL)
     {
       tdata = gftp_tdata_new ();
 
--- a/src/gtk/gftp-gtk.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/gftp-gtk.c	Wed Jul 28 01:37:15 2004 +0000
@@ -677,7 +677,7 @@
 }
 
 
-void 
+static void 
 select_row_callback (GtkWidget *widget, gint row, gint column,
                      GdkEventButton *event, gpointer data)
 {
@@ -810,11 +810,11 @@
 static gint
 menu_mouse_click (GtkWidget * widget, GdkEventButton * event, gpointer data)
 {
-  GtkItemFactory *factory;
+  GtkItemFactory *mfactory;
 
-  factory = (GtkItemFactory *) data;
+  mfactory = (GtkItemFactory *) data;
   if (event->button == 3)
-    gtk_item_factory_popup (factory, (guint) event->x_root,
+    gtk_item_factory_popup (mfactory, (guint) event->x_root,
 			    (guint) event->y_root, 3, event->time);
   return (FALSE);
 }
@@ -997,7 +997,7 @@
 }
 
 
-void
+static void
 init_gftp (int argc, char *argv[], GtkWidget * parent)
 {
   if (argc == 2 && strncmp (argv[1], "--", 2) != 0)
--- a/src/gtk/gtkui.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/gtkui.c	Wed Jul 28 01:37:15 2004 +0000
@@ -206,7 +206,7 @@
   gftpui_gtk_thread_data * thread_data;
   gftpui_callback_data * cdata;
   gftp_window_data * wdata;
-  guint handler;
+  gint handler;
   void * ret;
 
   cdata = data;
--- a/src/gtk/menu-items.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/menu-items.c	Wed Jul 28 01:37:15 2004 +0000
@@ -17,7 +17,7 @@
 /*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
 /*****************************************************************************/
 
-#include <gftp-gtk.h>
+#include "gftp-gtk.h"
 static const char cvsid[] = "$Id$";
 
 static void
--- a/src/gtk/misc-gtk.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/misc-gtk.c	Wed Jul 28 01:37:15 2004 +0000
@@ -17,7 +17,7 @@
 /*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
 /*****************************************************************************/
 
-#include <gftp-gtk.h>
+#include "gftp-gtk.h"
 static const char cvsid[] = "$Id$";
 
 static GtkWidget * statuswid;
@@ -41,11 +41,10 @@
 {
   uintptr_t max_log_window_size;
   int upd, free_logstr;
+  size_t len, delsize;
   gftp_log * newlog;
   char *logstr;
-  gint delsize;
   va_list argp;
-  guint len;
 #if GTK_MAJOR_VERSION == 1
   gftp_color * color;
   GdkColor fore;
@@ -233,14 +232,14 @@
           g_free (tempstr);
         }
 
-     for (i=0; gftp_protocols[i].init != NULL; i++)
-       {
-         if (current_wdata->request->init == gftp_protocols[i].init)
-           {
-             gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), i);
-             break;
-           }
-       }
+      for (i=0; gftp_protocols[i].init != NULL; i++)
+        {
+          if (current_wdata->request->init == gftp_protocols[i].init)
+            {
+              gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), i);
+              break;
+            }
+        }
     }
 
   update_window (&window1);
@@ -563,12 +562,15 @@
 create_item_factory (GtkItemFactory * ifactory, guint n_entries,
 		     GtkItemFactoryEntry * entries, gpointer callback_data)
 {
+  const char *strip_prefix;
+  size_t strip_prefix_len;
   int i;
-  const char *strip_prefix = gtk_object_get_data (GTK_OBJECT (ifactory), "gftp-strip-prefix");
-  int strip_prefix_len = 0;
 
+  strip_prefix = gtk_object_get_data (GTK_OBJECT (ifactory), "gftp-strip-prefix");
   if (strip_prefix)
     strip_prefix_len = strlen (strip_prefix);
+  else
+    strip_prefix_len = 0;
 
   for (i = 0; i < n_entries; i++)
     {
--- a/src/gtk/options_dialog.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/options_dialog.c	Wed Jul 28 01:37:15 2004 +0000
@@ -17,13 +17,13 @@
 /*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
 /*****************************************************************************/
 
-#include <gftp-gtk.h>
+#include "gftp-gtk.h"
 static const char cvsid[] = "$Id$";
 
 static GtkWidget * proxy_list, * new_proxy_domain, * network1,
                  * network2, * network3, * network4, * netmask1, * netmask2, 
                  * netmask3, * netmask4, * domain_active;
-static gftp_options_dialog_data * option_data = NULL;
+static gftp_options_dialog_data * gftp_option_data;
 static GList * new_proxy_hosts = NULL;
 
 static void
@@ -431,6 +431,7 @@
 _save_option_type_textcomboedt (gftp_config_vars * cv, void *user_data)
 {
   gftp_textcomboedt_widget_data * widdata;
+  gftp_options_dialog_data * option_data;
   char *newstr, *proxy_config;
   int freeit;
 #if GTK_MAJOR_VERSION == 1
@@ -441,6 +442,7 @@
   size_t len;
 #endif
 
+  option_data = user_data;
   widdata = cv->user_data;
 
 #if GTK_MAJOR_VERSION == 1
@@ -1240,7 +1242,7 @@
   GtkWidget * tempwid;
 #endif
 
-  option_data = _init_option_data ();
+  gftp_option_data = _init_option_data ();
 
 #if GTK_MAJOR_VERSION == 1
   option_data->dialog = gtk_dialog_new ();
@@ -1249,7 +1251,7 @@
   gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (option_data->dialog)->action_area), 15);
   gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (option_data->dialog)->action_area), TRUE);
 #else
-  option_data->dialog = gtk_dialog_new_with_buttons (_("Options"), NULL, 0,
+  gftp_option_data->dialog = gtk_dialog_new_with_buttons (_("Options"), NULL, 0,
                                         GTK_STOCK_OK,
                                         GTK_RESPONSE_OK,
                                         GTK_STOCK_CANCEL,
@@ -1258,26 +1260,28 @@
                                         GTK_RESPONSE_APPLY,
                                         NULL);
 #endif
-  gtk_window_set_wmclass (GTK_WINDOW(option_data->dialog), "options", "gFTP");
-  gtk_window_set_position (GTK_WINDOW (option_data->dialog), GTK_WIN_POS_MOUSE);
-  gtk_container_border_width (GTK_CONTAINER (GTK_DIALOG (option_data->dialog)->vbox), 10);
-  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (option_data->dialog)->vbox), 2);
-  gtk_widget_realize (option_data->dialog);
+  gtk_window_set_wmclass (GTK_WINDOW(gftp_option_data->dialog),
+                          "options", "gFTP");
+  gtk_window_set_position (GTK_WINDOW (gftp_option_data->dialog),
+                           GTK_WIN_POS_MOUSE);
+  gtk_container_border_width (GTK_CONTAINER (GTK_DIALOG (gftp_option_data->dialog)->vbox), 10);
+  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (gftp_option_data->dialog)->vbox), 2);
+  gtk_widget_realize (gftp_option_data->dialog);
 
   if (gftp_icon != NULL)
     {
-      gdk_window_set_icon (option_data->dialog->window, NULL, gftp_icon->pixmap,
-                           gftp_icon->bitmap);
-      gdk_window_set_icon_name (option_data->dialog->window, gftp_version);
+      gdk_window_set_icon (gftp_option_data->dialog->window, NULL,
+                           gftp_icon->pixmap, gftp_icon->bitmap);
+      gdk_window_set_icon_name (gftp_option_data->dialog->window, gftp_version);
     }
 
-  option_data->notebook = gtk_notebook_new ();
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (option_data->dialog)->vbox), 
-                      option_data->notebook, TRUE, TRUE, 0);
-  gtk_widget_show (option_data->notebook);
+  gftp_option_data->notebook = gtk_notebook_new ();
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gftp_option_data->dialog)->vbox), 
+                      gftp_option_data->notebook, TRUE, TRUE, 0);
+  gtk_widget_show (gftp_option_data->notebook);
 
   cv = gftp_options_list->data;
-  option_data->last_option = cv[0].otype;
+  gftp_option_data->last_option = cv[0].otype;
   for (templist = gftp_options_list; 
        templist != NULL; 
        templist = templist->next)
@@ -1299,49 +1303,49 @@
 
           cv[i].user_data = gftp_option_types[cv[i].otype].ui_print_function (&cv[i], gftp_option_types[cv[i].otype].user_data, value);
 
-          option_data->last_option = cv[i].otype;
+          gftp_option_data->last_option = cv[i].otype;
         }
     }
 
-  make_proxy_hosts_tab (option_data->notebook);
+  make_proxy_hosts_tab (gftp_option_data->notebook);
 
 #if GTK_MAJOR_VERSION == 1
   tempwid = gtk_button_new_with_label (_("OK"));
   GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (option_data->dialog)->action_area), 
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gftp_option_data->dialog)->action_area), 
                       tempwid, TRUE, TRUE, 0);
   gtk_signal_connect (GTK_OBJECT (tempwid), "clicked",
                       GTK_SIGNAL_FUNC (apply_changes), NULL);
   gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked",
                              GTK_SIGNAL_FUNC (gtk_widget_destroy),
-                             GTK_OBJECT (option_data->dialog));
+                             GTK_OBJECT (gftp_option_data->dialog));
   gtk_widget_show (tempwid);
 
   tempwid = gtk_button_new_with_label (_("  Cancel  "));
   GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (option_data->dialog)->action_area), 
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gftp_option_data->dialog)->action_area), 
                       tempwid, TRUE, TRUE, 0);
   gtk_signal_connect (GTK_OBJECT (tempwid), "clicked",
                       GTK_SIGNAL_FUNC (clean_old_changes), NULL);
   gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked",
                              GTK_SIGNAL_FUNC (gtk_widget_destroy),
-                             GTK_OBJECT (option_data->dialog));
+                             GTK_OBJECT (gftp_option_data->dialog));
   gtk_widget_show (tempwid);
 
   tempwid = gtk_button_new_with_label (_("Apply"));
   GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (option_data->dialog)->action_area), 
+  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gftp_option_data->dialog)->action_area), 
                       tempwid, TRUE, TRUE, 0);
   gtk_signal_connect (GTK_OBJECT (tempwid), "clicked",
                       GTK_SIGNAL_FUNC (apply_changes), NULL);
   gtk_widget_grab_default (tempwid);
   gtk_widget_show (tempwid);
 #else
-  g_signal_connect (GTK_OBJECT (option_data->dialog), "response",
+  g_signal_connect (GTK_OBJECT (gftp_option_data->dialog), "response",
                     G_CALLBACK (options_action), NULL);
 #endif
 
-  gtk_widget_show (option_data->dialog);
+  gtk_widget_show (gftp_option_data->dialog);
 }
 
 
@@ -1353,12 +1357,12 @@
   void *value;
   int i;
 
-  option_data = _init_option_data ();
-  option_data->bm = bm;
-  option_data->notebook = notebook;
+  gftp_option_data = _init_option_data ();
+  gftp_option_data->bm = bm;
+  gftp_option_data->notebook = notebook;
 
   cv = gftp_options_list->data;
-  option_data->last_option = cv[0].otype;
+  gftp_option_data->last_option = cv[0].otype;
   for (templist = gftp_options_list; 
        templist != NULL; 
        templist = templist->next)
@@ -1378,9 +1382,9 @@
           else
             value = NULL;
 
-          cv[i].user_data = gftp_option_types[cv[i].otype].ui_print_function (&cv[i], option_data, value);
+          cv[i].user_data = gftp_option_types[cv[i].otype].ui_print_function (&cv[i], gftp_option_data, value);
 
-          option_data->last_option = cv[i].otype;
+          gftp_option_data->last_option = cv[i].otype;
         }
     }
 }
@@ -1407,7 +1411,8 @@
           if (gftp_option_types[cv[i].otype].ui_save_function == NULL)
             continue;
 
-          gftp_option_types[cv[i].otype].ui_save_function (&cv[i], option_data);
+          gftp_option_types[cv[i].otype].ui_save_function (&cv[i],
+                                                           gftp_option_data);
         }
     }
 }
--- a/src/gtk/transfer.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/gtk/transfer.c	Wed Jul 28 01:37:15 2004 +0000
@@ -17,7 +17,7 @@
 /*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
 /*****************************************************************************/
 
-#include <gftp-gtk.h>
+#include "gftp-gtk.h"
 static const char cvsid[] = "$Id$";
 
 static int num_transfers_in_progress = 0;
--- a/src/text/gftp-text.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/text/gftp-text.c	Wed Jul 28 01:37:15 2004 +0000
@@ -20,9 +20,6 @@
 #include "gftp-text.h"
 static const char cvsid[] = "$Id$";
 
-static gftp_request * gftp_text_locreq = NULL;
-static gftp_request * gftp_text_remreq = NULL;
-
 int
 gftp_text_get_win_size (void)
 {
@@ -83,7 +80,7 @@
 }
 
 
-void
+static void
 gftp_text_log (gftp_logging_level level, gftp_request * request, 
                const char *string, ...)
 {
@@ -149,9 +146,10 @@
 char *
 gftp_text_ask_question (const char *question, int echo, char *buf, size_t size)
 {
-  char *pos, *termname, singlechar;
   struct termios term, oldterm;
   sigset_t sig, sigsave;
+  char *pos, *termname;
+  int singlechar;
   FILE *infd;
 
   if (!echo)
@@ -223,6 +221,7 @@
 int
 main (int argc, char **argv)
 {
+  gftp_request * gftp_text_locreq, * gftp_text_remreq;
   void *locuidata, *remuidata;
   char *pos;
 #if HAVE_LIBREADLINE
--- a/src/uicommon/gftpui.c	Tue Jul 27 20:43:39 2004 +0000
+++ b/src/uicommon/gftpui.c	Wed Jul 28 01:37:15 2004 +0000
@@ -25,7 +25,7 @@
 
 GStaticMutex gftpui_common_transfer_mutex = G_STATIC_MUTEX_INIT;
 volatile sig_atomic_t gftpui_common_child_process_done = 0;
-gftp_logging_func gftpui_common_logfunc;
+static gftp_logging_func gftpui_common_logfunc;
 
 
 static int