Mercurial > emacs
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))))