The recent inclusion of C99 stdbool.h caused a bug to surface where a
authorMatthew Mondor <mmondor@pulsar-zone.net>
Sun, 13 Jan 2008 09:10:09 +0000 (09:10 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Sun, 13 Jan 2008 09:10:09 +0000 (09:10 +0000)
variable which should have been an integer was declared as a bool,
breaking NLST support.

mmsoftware/mmftpd/src/mmftpd.c

index 45dc5df..b37eadd 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmftpd.c,v 1.72 2008/01/13 08:47:14 mmondor Exp $ */
+/* $Id: mmftpd.c,v 1.73 2008/01/13 09:10:09 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2008, Matthew Mondor
@@ -92,7 +92,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2001-2004\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmftpd.c,v 1.72 2008/01/13 08:47:14 mmondor Exp $");
+MMRCSID("$Id: mmftpd.c,v 1.73 2008/01/13 09:10:09 mmondor Exp $");
 
 
 
@@ -2047,7 +2047,7 @@ main_nlst(clientenv *clenv)
                    msg->list = 3;
                    msg->path = NULL;
                } else {
-                   /* Normal LIST */
+                   /* Normal NLST */
                    msg->list = 2;
                    msg->path = path;
                }
@@ -3979,9 +3979,9 @@ transferthread_main(clientenv *clenv, fdbuf *fdb)
     bool cont;
 
     /* We need our own copy of these */
-    int port = 0, fdpasv = -1, fd = -1, file = -1;
+    int port = 0, fdpasv = -1, fd = -1, file = -1, list = 0;
     char path[MMPATH_MAX];
-    bool passive = FALSE, ongoing = FALSE, download = TRUE, list = 0;
+    bool passive = FALSE, ongoing = FALSE, download = TRUE;
     int64_t dlfiles = 0, ulfiles = 0;
     *path = '\0';
     fdbparam_set(fdb, -1, FDBP_FD);
@@ -4102,7 +4102,7 @@ transferthread_main(clientenv *clenv, fdbuf *fdb)
                                if (msg->path) mm_strncpy(path, msg->path,
                                        MMPATH_MAX - 1);
                                else *path = '\0';
-                               if (msg->list) {
+                               if (msg->list != 0) {
                                    list = msg->list;
                                    msg->result = TRUE;
                                } else {
@@ -4306,7 +4306,7 @@ transferthread_main(clientenv *clenv, fdbuf *fdb)
            while (state == TTSTATE_TRANSFER) {
 
                /* We transfer the data while still answering a few requests */
-               if (list) {
+               if (list != 0) {
                    int flags = MMLS_GLOB;
 
                    shutdown(fd, SHUT_RD);