]> git.eshelyaron.com Git - emacs.git/commitdiff
(jka-compr-partial-uncompress): Handle the case where
authorRichard M. Stallman <rms@gnu.org>
Sun, 26 Jun 1994 16:10:41 +0000 (16:10 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 26 Jun 1994 16:10:41 +0000 (16:10 +0000)
LEN reaches to or past the end of the data.

lisp/jka-compr.el

index 0b3b60dc0562c3f0ea0e6a1e1df9d31c048d6333..3247042eb7e6fe03ee6308384b0dc9507a2ab7a8 100644 (file)
@@ -237,9 +237,7 @@ based on the filename itself and `jka-compr-compression-info-list'."
 (defun jka-compr-partial-uncompress (prog message args infile beg len)
   "Call program PROG with ARGS args taking input from INFILE.
 Fourth and fifth args, BEG and LEN, specify which part of the output
-to discard.  All output is discarded unless it comes within LEN chars after
-the BEGth char."
-
+to keep: LEN chars starting BEG chars from the beginning."
   (let* ((skip (/ beg jka-compr-dd-blocksize))
         (prefix (- beg (* skip jka-compr-dd-blocksize)))
         (count (and len (1+ (/ (+ len prefix) jka-compr-dd-blocksize))))
@@ -267,10 +265,13 @@ the BEGth char."
 
       (jka-compr-delete-temp-file err-file))
 
+    ;; Delete the stuff after what we want, if there is any.
     (and
      len
+     (< (+ start prefix len) (point))
      (delete-region (+ start prefix len) (point)))
 
+    ;; Delete the stuff before what we want.
     (delete-region start (+ start prefix))))