changeset 8065:31eb7a0e2763

(jka-compr-partial-uncompress): Handle the case where LEN reaches to or past the end of the data.
author Richard M. Stallman <rms@gnu.org>
date Sun, 26 Jun 1994 16:10:41 +0000
parents d04a39ce4f1d
children b6301bd38638
files lisp/jka-compr.el
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/jka-compr.el	Sat Jun 25 23:48:04 1994 +0000
+++ b/lisp/jka-compr.el	Sun Jun 26 16:10:41 1994 +0000
@@ -237,9 +237,7 @@
 (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 @@
 
       (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))))