]> git.eshelyaron.com Git - emacs.git/commitdiff
(ange-ftp-process-handle-line, ange-ftp-set-xfer-size): If the file's
authorEli Zaretskii <eliz@gnu.org>
Fri, 8 Feb 2002 12:37:02 +0000 (12:37 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 8 Feb 2002 12:37:02 +0000 (12:37 +0000)
size is a float, divide by 1024 instead of using ash.

lisp/net/ange-ftp.el

index 1cb56f9ad7a381f2da6bcb77647189f977e3a79c..7e4daa2c7357d907f35c76ee7db7e2b84db886b4 100644 (file)
@@ -1598,10 +1598,10 @@ Try to categorize it into one of four categories:
 good, skip, fatal, or unknown."
   (cond ((string-match ange-ftp-xfer-size-msgs line)
         (setq ange-ftp-xfer-size
-              (ash (string-to-int (substring line
-                                             (match-beginning 1)
-                                             (match-end 1)))
-                   -10)))
+              (/ (string-to-number (substring line
+                                              (match-beginning 1)
+                                              (match-end 1)))
+                 1024)))
        ((string-match ange-ftp-skip-msgs line)
         t)
        ((string-match ange-ftp-good-msgs line)
@@ -1633,7 +1633,11 @@ good, skip, fatal, or unknown."
          (if buf
              (save-excursion
                (set-buffer buf)
-               (setq ange-ftp-xfer-size (ash bytes -10))))))))
+               (setq ange-ftp-xfer-size
+                     ;; For very large files, BYTES can be a float.
+                     (if (integerp bytes)
+                         (ash bytes -10)
+                       (/ bytes 1024)))))))))
 
 (defun ange-ftp-process-handle-hash (str)
   "Remove hash marks from STRING and display count so far."