lftp-devel  

Patch for lftp 3.7.14

Ganael LAPLANCHE
Mon, 20 Jul 2009 06:49:26 -0700

Hi everybody,

(originally posted to lftp@, but lftp-devel@ seems to be better, so this is a
kind of repost)

On FreeBSD, the 'help' command makes lftp 3.7.14 dump core. Here is a patch to
fix that issue. My previous patch (sent to lftp@) was missing a final endline
character.

Best regards,

Ganaƫl LAPLANCHE
ganael.laplan...@martymac.com
http://www.martymac.com
--- src/commands.cc.orig        2009-03-20 13:27:03.000000000 +0100
+++ src/commands.cc     2009-07-20 13:37:42.000000000 +0200
@@ -2524,27 +2524,23 @@
 void CmdExec::print_cmd_index()
 {
    int i=0;
-   const char *c1;
+   int j=0;
    const cmd_rec *cmd_table=dyn_cmd_table?dyn_cmd_table.get():static_cmd_table;
    const int count=dyn_cmd_table?dyn_cmd_table.count():1024;
    while(i<count && cmd_table[i].name)
    {
       while(cmd_table[i].name && !cmd_table[i].short_desc)
-        i++;
-      if(!cmd_table[i].name)
-        break;
-      c1=cmd_table[i].short_desc;
-      i++;
-      while(cmd_table[i].name && !cmd_table[i].short_desc)
-        i++;
-      if(cmd_table[i].name)
-      {
-        printf("\t%-35s %s\n",gettext(c1),gettext(cmd_table[i].short_desc));
-        i++;
-      }
+            i++;
+      if(i>=count || !cmd_table[i].name)
+            break;
+      if(j%2 == 0)
+         printf("\t%-35s ",gettext(cmd_table[i].short_desc));
       else
-        printf("\t%s\n",_(c1));
+         printf("%s\n",gettext(cmd_table[i].short_desc));
+      i++;
+      j++;
    }
+   if(j%2 == 1) printf("\n");
 }
 
 CMD(help)
  • Patch for lftp 3.7.14 Ganael LAPLANCHE