View | Details | Raw Unified | Return to bug 15861
Collapse All | Expand All

(-)ftpd.c Wed Dec 29 14:41:26 1999 (+24 lines)
Lines 1466-1471 Link Here
1466
               filefd = fileno(instr);
1466
               filefd = fileno(instr);
1467
1467
1468
               if (isreg && filesize < (off_t)16 * 1024 * 1024) {
1468
               if (isreg && filesize < (off_t)16 * 1024 * 1024) {
1469
#if 0
1469
                       buf = mmap(0, filesize, PROT_READ, MAP_SHARED, filefd,
1470
                       buf = mmap(0, filesize, PROT_READ, MAP_SHARED, filefd,
1470
                                  (off_t)0);
1471
                                  (off_t)0);
1471
                       if (buf == MAP_FAILED) {
1472
                       if (buf == MAP_FAILED) {
Lines 1484-1491 Link Here
1484
1485
1485
                       transflag = 0;
1486
                       transflag = 0;
1486
                       munmap(buf, (size_t)filesize);
1487
                       munmap(buf, (size_t)filesize);
1488
1487
                       if (cnt < 0)
1489
                       if (cnt < 0)
1488
                               goto data_err;
1490
                               goto data_err;
1491
#endif
1492
                       off_t   offset;
1493
                       int     fail;
1494
1495
                       len = filesize;
1496
                       offset = 0;
1497
                       fail = 0;
1498
1499
                       while (len &&
1500
                              ! (fail = sendfile (filefd, netfd, offset, len,
1501
                                                  NULL, &cnt, 0))) {
1502
                               len -= cnt;
1503
                               offset += cnt;
1504
                       }
1505
1506
                       if (fail < 0) {
1507
                               if (errno == EINVAL)
1508
                                   goto oldway;
1509
1510
                               goto data_err;
1511
                       }
1512
1489
                       reply(226, "Transfer complete.");
1513
                       reply(226, "Transfer complete.");
1490
                       return;
1514
                       return;
1491
               }
1515
               }

Return to bug 15861